示例#1
0
        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();
            }
        }
示例#2
0
        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;
        }