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; }
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(); }
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; }