private void HideModelScalar() { if (_modelScalar != null) { OverlayViewport.Children.Remove(_modelScalar); _modelScalar = null; } ScaleButton.IsChecked = false; }
private void EnsureModelScalar() { if (_modelScalar != null) { return; } _modelScalar = new ModelScalarVisual3D(); // Setup events on ModelScalarVisual3D _modelScalar.ModelScaleStarted += delegate(object sender, EventArgs args) { if (_selectedVisual3D == null || _standardTransform3D == null) { return; } _startScaleX = _standardTransform3D.ScaleX; _startScaleY = _standardTransform3D.ScaleY; _startScaleZ = _standardTransform3D.ScaleZ; }; _modelScalar.ModelScaled += delegate(object sender, ModelScaledEventArgs args) { if (_selectedVisual3D == null || _standardTransform3D == null) { return; } _standardTransform3D.ScaleX = _startScaleX * args.ScaleX; _standardTransform3D.ScaleY = _startScaleY * args.ScaleY; _standardTransform3D.ScaleZ = _startScaleZ * args.ScaleZ; }; _modelScalar.ModelScaleEnded += delegate(object sender, EventArgs args) { // Nothing to do here in this sample // The event handler is here only for description purposes }; }