protected override void MouseMove(MapDocument document, MapViewport viewport, PerspectiveCamera camera, ViewportEvent e) { if (viewport != ActiveViewport) { return; } if (document.Selection.IsEmpty || !viewport.IsUnlocked(this)) { return; } if (_mouseDown != CircleType.None) { _mouseMovePoint = new Vector3(e.X, e.Y, 0); e.Handled = true; var tform = GetTransformationMatrix(viewport); OnTransforming(tform); } else { UpdateCache(viewport.Viewport, camera); if (MouseOver(CircleType.Z, e, viewport)) { _mouseOver = CircleType.Z; } else if (MouseOver(CircleType.Y, e, viewport)) { _mouseOver = CircleType.Y; } else if (MouseOver(CircleType.X, e, viewport)) { _mouseOver = CircleType.X; } else if (MouseOver(CircleType.Outer, e, viewport)) { _mouseOver = CircleType.Outer; } else { _mouseOver = CircleType.None; } } }