Exemplo n.º 1
0
        public override void OnMouseDown(MouseEventArgs mouseEvent)
        {
            base.OnMouseDown(mouseEvent);

            if (trackballTumbleWidget.MouseCaptured)
            {
                if (trackballTumbleWidget.TransformState == TrackBallController.MouseDownType.Rotation)
                {
                    trackballTumbleWidget.DrawRotationHelperCircle = true;
                }
            }

            int           volumeHitIndex;
            Ray           ray = trackballTumbleWidget.GetRayFromScreen(mouseEvent.Position);
            IntersectInfo info;

            if (FindInteractionVolumeHit(ray, out volumeHitIndex, out info))
            {
                MouseEvent3DArgs mouseEvent3D = new MouseEvent3DArgs(mouseEvent, ray, info);
                volumeIndexWithMouseDown = volumeHitIndex;
                interactionVolumes[volumeHitIndex].OnMouseDown(mouseEvent3D);
                MouseDownOnInteractionVolume = true;
            }
            else
            {
                MouseDownOnInteractionVolume = false;
            }
        }
Exemplo n.º 2
0
 public Ray GetRay(double screenX, double screenY)
 {
     return(trackballTumbleWidget.GetRayFromScreen(new Vector2(screenX, screenY)));
 }