Esempio n. 1
0
        protected override void ButtonDownAction()
        {
            Vector3D vector = new Vector3D();

            switch (this.ActiveAdorner.Axis)
            {
            case Adorner3D.TransformVia.XAxis:
                vector = new Vector3D(0.0, -AdornedToolBehavior3D.sqrt2div2, AdornedToolBehavior3D.sqrt2div2);
                break;

            case Adorner3D.TransformVia.YAxis:
                vector = new Vector3D(AdornedToolBehavior3D.sqrt2div2, 0.0, -AdornedToolBehavior3D.sqrt2div2);
                break;

            case Adorner3D.TransformVia.ZAxis:
                vector = new Vector3D(-AdornedToolBehavior3D.sqrt2div2, AdornedToolBehavior3D.sqrt2div2, 0.0);
                break;

            default:
                vector = new Vector3D(0.0, AdornedToolBehavior3D.sqrt2div2, -AdornedToolBehavior3D.sqrt2div2);
                break;
            }
            this.mouseMovementAxis = AdornedToolBehavior3D.Vector3DInViewport3D(this.Selected3DElement, vector);
            this.mouseMovementAxis.Normalize();
            this.rotationAxis       = this.ActiveAdorner.RotationAxis;
            this.initialQuaternion  = Helper3D.QuaternionFromEulerAngles(this.Selected3DElement.CanonicalRotationAngles);
            this.previousQuaternion = this.initialQuaternion;
            this.previousAngle      = new double?();
            this.lastUnsnappedAngle = 0.0;
        }
Esempio n. 2
0
 protected override void ButtonDownAction()
 {
     this.scaleAxis         = this.ActiveAdorner.ScaleAxis;
     this.mouseMovementAxis = AdornedToolBehavior3D.Vector3DInViewport3D(this.Selected3DElement, this.scaleAxis);
     if (Math.Abs(this.mouseMovementAxis.X) <= AdornedToolBehavior3D.tolerance && Math.Abs(this.mouseMovementAxis.Y) <= AdornedToolBehavior3D.tolerance)
     {
         this.mouseMovementAxis = new Vector(AdornedToolBehavior3D.sqrt2div2, AdornedToolBehavior3D.sqrt2div2);
     }
     this.mouseMovementAxis.Normalize();
 }
Esempio n. 3
0
        protected override void ButtonDownAction()
        {
            Vector3D translationAxis = this.ActiveAdorner.TranslationAxis;
            Vector3D vector3D        = this.Selected3DElement.CanonicalRotateTransform3D.Value.Transform(translationAxis);

            this.mouseMovementAxis = AdornedToolBehavior3D.Vector3DInViewport3D(this.Selected3DElement, translationAxis);
            if (Math.Abs(this.mouseMovementAxis.X) <= AdornedToolBehavior3D.tolerance && Math.Abs(this.mouseMovementAxis.Y) <= AdornedToolBehavior3D.tolerance)
            {
                this.mouseMovementAxis = new Vector(AdornedToolBehavior3D.sqrt2div2, AdornedToolBehavior3D.sqrt2div2);
            }
            this.mouseMovementAxis.Normalize();
            this.translationAxis = vector3D;
        }