package com.asha.vrlib.model; import android.opengl.Matrix; /** * Created by hzqiujiadi on 16/8/5. * hzqiujiadi ashqalcn@gmail.com */ public class MDVector3D { private float[] values; public MDVector3D() { values = new float[4]; values[3] = 1.0f; } public MDVector3D setX(float x) { values[0] = x; return this; } public MDVector3D setY(float y) { values[1] = y; return this; } public MDVector3D setZ(float z) { values[2] = z; return this; } public float getX(){ return values[0]; } public float getY(){ return values[1]; } public float getZ(){ return values[2]; } public float x(){ return values[0]; } public float y(){ return values[1]; } public float z(){ return values[2]; } public void multiplyMV(float[] mat){ Matrix.multiplyMV(values, 0, mat, 0, values, 0); } @Override public String toString() { return "MDVector3D{" + "x=" + getX() + ", y=" + getY() + ", z=" + getZ() + '}'; } /** @return The euclidean length */ public static float len (final float x, final float y, final float z) { return (float)Math.sqrt(x * x + y * y + z * z); } }