public ARTMatrix(float[] b) { float[] val = new float[9]; for (int i = 0; (i < b.Length) && (i < 9); i++) { val[i] = b[i]; } this.row1 = new ARTPoint(val[0], val[1], val[2]); this.row2 = new ARTPoint(val[3], val[4], val[5]); this.row3 = new ARTPoint(val[6], val[7], val[8]); }
protected void parse6d(String msg) { int id = 0; ARTPoint position = ARTPoint.Empty(); ARTAngle angle = ARTAngle.Empty(); ARTMatrix matrix = ARTMatrix.Empty(); msg = msg.Replace("]", ""); msg = msg.Replace("[", "x"); String[] tmp = msg.Split('x'); if (tmp.Length >= 4) { numberOf6dTargets = parseInt(tmp[0]); String[] tmp2 = tmp[1].Split(' '); if (tmp2.Length >= 2) { id = parseInt(tmp2[0]); } tmp2 = tmp[2].Split(' '); if (tmp2.Length >= 6) { position = new ARTPoint(parseFloat(tmp2[0]), parseFloat(tmp2[1]), parseFloat(tmp2[2])); angle = new ARTAngle(parseFloat(tmp2[3]), parseFloat(tmp2[4]), parseFloat(tmp2[5])); } tmp2 = tmp[3].Split(' '); if (tmp2.Length >= 9) { matrix = new ARTMatrix(parseFloatArray(tmp2)); } add6dObject(new ART6d(id, position, angle, matrix)); for (int i = 0; i < observers.Count; i++) { ((ARTObserver)observers[i]).on6dUpdate(this); } } }
/// <summary> /// Parses an ARTPoint to a vector. /// </summary> /// <param name="ap">To be converted ARTPoint</param> /// <returns>Returns the converted vector.</returns> public static Vector3 ParseVector(ARTPoint ap) { Vector3 v = new Vector3(ap.getX(), ap.getY(), ap.getZ()); return(v); }
protected void parse6df2(String msg) { int id = 1; int numberOfButtons = 0; int numberOfControllers = 0; bool visible = false; ARTPoint position = ARTPoint.Empty(); ARTMatrix matrix = ARTMatrix.Empty(); int buttonStates = 0; var controllerStates = new float[0]; msg = msg.Replace("]", ""); msg = msg.Replace("[", "x"); String[] tmp = msg.Split('x'); if (tmp.Length >= 5) { numberOfFlysticks = parseInt(tmp[0]); String[] tmp2 = tmp[1].Split(' '); if (tmp2.Length >= 4) { id = parseInt(tmp2[0]); if (parseFloat(tmp2[1]) > 0.0F) { visible = true; } numberOfButtons = parseInt(tmp2[2]); numberOfControllers = parseInt(tmp2[3]); } tmp2 = tmp[2].Split(' '); if (tmp2.Length >= 3) { position = new ARTPoint(parseFloat(tmp2[0]), parseFloat(tmp2[1]), parseFloat(tmp2[2])); } tmp2 = tmp[3].Split(' '); if (tmp2.Length >= 9) { matrix = new ARTMatrix(parseFloatArray(tmp2)); } tmp2 = tmp[4].Split(' '); if (tmp2.Length >= 1) { if (numberOfButtons > 0) { buttonStates = parseInt(tmp2[0]); controllerStates = new float[tmp2.Length - 1]; for (int i = 0; i < controllerStates.Length; i++) { controllerStates[i] = parseFloat(tmp2[(i + 1)]); } } else { controllerStates = new float[tmp2.Length]; for (int i = 0; i < controllerStates.Length; i++) { controllerStates[i] = parseFloat(tmp2[i]); } } } addFlystick(new ARTFlystick(id, visible, numberOfButtons, buttonStates, numberOfControllers, controllerStates, position, matrix)); for (int i = 0; i < observers.Count; i++) { ((ARTObserver)observers[i]).onFlystickUpdate(this); } foreach (IFlystickListener listener in flystickListener) { UpdateFlystickListener(listener); } } }
public ART6d(int id, ARTPoint position, ARTAngle angle, ARTMatrix matrix) : base(id, position, matrix) { this.angle = angle; }
public static ART6d Empty() { return(new ART6d(-1, ARTPoint.Empty(), ARTAngle.Empty(), ARTMatrix.Empty())); }
public ARTAngle(float eta, float theta, float phi) { this.point = new ARTPoint(eta, theta, phi); }
public ARTFlystick(int id, bool visible, int numberOfButtons, int buttonStates, int numberOfControllers, float[] controllerStates, ARTPoint position, ARTMatrix matrix) : base(id, position, matrix) { this.visible = visible; this.numberOfButtons = numberOfButtons; this.numberOfControllers = numberOfControllers; this.buttonStates = buttonStates; this.controllerStates = controllerStates; }
public static ARTFlystick Empty() { return(new ARTFlystick(-1, false, 0, 0, 0, new float[0], ARTPoint.Empty(), ARTMatrix.Empty())); }
public ARTObject(int id, ARTPoint position, ARTMatrix matrix) { this.id = id; this.position = position; this.matrix = matrix; }