private void twoWayAxisComparison(RotationAxis axis0, RotationAxis axis1, ref Vector3 origin) { float axis0Distance = (axis0.Intersection - origin).length2(); float axis1Distance = (axis1.Intersection - origin).length2(); if (axis0Distance < axis1Distance) { axis1.clearSelection(); } else { axis0.clearSelection(); } }
public RotateTool(String name, MovableObject movable, float radius) { this.name = name; this.movable = movable; xAxis = new RotationAxis(Vector3.Backward, Vector3.Up, ROLL, radius, new Color(1.0f, 0.0f, 0.0f)); yAxis = new RotationAxis(Vector3.Backward, Vector3.Right, YAW, radius, new Color(0.0f, 0.0f, 1.0f)); zAxis = new RotationAxis(Vector3.Right, Vector3.Up, PITCH, radius, new Color(0.0f, 1.0f, 0.0f)); //Bounding box Vector3[] axes = boundingBox.getAxes(); axes[0] = Vector3.Right; axes[1] = Vector3.Up; axes[2] = Vector3.Forward; Vector3 boundsExtents = new Vector3(radius, radius, radius); boundingBox.setExtents(boundsExtents); Visible = false; }