예제 #1
0
        public override void OnAttached()
        {
            _midCap = new GizmoCap3D(Gizmo, GizmoHandleId.MidDisplayCap);
            _midCap.SetHoverable(false);

            _xySlider = new GizmoPlaneSlider3D(Gizmo, GizmoHandleId.XYDblSlider);
            _yzSlider = new GizmoPlaneSlider3D(Gizmo, GizmoHandleId.YZDblSlider);
            _zxSlider = new GizmoPlaneSlider3D(Gizmo, GizmoHandleId.ZXDblSlider);

            _dblSliders.Add(_xySlider);
            _dblSliders.Add(_yzSlider);
            _dblSliders.Add(_zxSlider);

            _pXSlider = new GizmoLineSlider3D(Gizmo, GizmoHandleId.PXSlider, GizmoHandleId.PXCap);
            _pXSlider.SetDragChannel(GizmoDragChannel.Offset);
            _pXSlider.MapDirection(0, AxisSign.Positive);

            _nXSlider = new GizmoLineSlider3D(Gizmo, GizmoHandleId.NXSlider, GizmoHandleId.PYCap);
            _nXSlider.SetDragChannel(GizmoDragChannel.Offset);
            _nXSlider.MapDirection(0, AxisSign.Negative);

            _pYSlider = new GizmoLineSlider3D(Gizmo, GizmoHandleId.PYSlider, GizmoHandleId.PZCap);
            _pYSlider.SetDragChannel(GizmoDragChannel.Offset);
            _pYSlider.MapDirection(1, AxisSign.Positive);

            _nYSlider = new GizmoLineSlider3D(Gizmo, GizmoHandleId.NYSlider, GizmoHandleId.NXCap);
            _nYSlider.SetDragChannel(GizmoDragChannel.Offset);
            _nYSlider.MapDirection(1, AxisSign.Negative);

            _pZSlider = new GizmoLineSlider3D(Gizmo, GizmoHandleId.PZSlider, GizmoHandleId.NYCap);
            _pZSlider.SetDragChannel(GizmoDragChannel.Offset);
            _pZSlider.MapDirection(2, AxisSign.Positive);

            _nZSlider = new GizmoLineSlider3D(Gizmo, GizmoHandleId.NZSlider, GizmoHandleId.NZCap);
            _nZSlider.SetDragChannel(GizmoDragChannel.Offset);
            _nZSlider.MapDirection(2, AxisSign.Negative);

            _axesSliders.Add(_pXSlider);
            _axesSliders.Add(_pYSlider);
            _axesSliders.Add(_pZSlider);
            _axesSliders.Add(_nXSlider);
            _axesSliders.Add(_nYSlider);
            _axesSliders.Add(_nZSlider);
            _axesSliders.Make3DHoverPriorityLowerThan(_xySlider.HoverPriority3D);
            _axesSliders.Make3DHoverPriorityLowerThan(_yzSlider.HoverPriority3D);
            _axesSliders.Make3DHoverPriorityLowerThan(_zxSlider.HoverPriority3D);

            _vertSnapCap = new GizmoCap2D(Gizmo, GizmoHandleId.VertSnap);
            _vertSnapCap.SetVisible(false);
            _vertSnapCap.DragSession = _vertexSnapDrag;
            _vertexSnapDrag.AddTargetTransform(Gizmo.Transform);

            _2DModeDblSlider = new GizmoPlaneSlider2D(Gizmo, GizmoHandleId.CamXYSlider);
            _2DModeDblSlider.SetDragChannel(GizmoDragChannel.Offset);
            _2DModeDblSlider.SetVisible(false);

            _p2DModeXSlider = new GizmoLineSlider2D(Gizmo, GizmoHandleId.PCamXSlider, GizmoHandleId.PCamXCap);
            _p2DModeXSlider.SetDragChannel(GizmoDragChannel.Offset);
            _p2DModeXSlider.MapDirection(0, AxisSign.Positive);
            _p2DModeXSlider.HoverPriority2D.MakeLowerThan(_2DModeDblSlider.HoverPriority2D);

            _p2DModeYSlider = new GizmoLineSlider2D(Gizmo, GizmoHandleId.PCamYSlider, GizmoHandleId.PCamYCap);
            _p2DModeYSlider.SetDragChannel(GizmoDragChannel.Offset);
            _p2DModeYSlider.MapDirection(1, AxisSign.Positive);
            _p2DModeYSlider.HoverPriority2D.MakeLowerThan(_2DModeDblSlider.HoverPriority2D);

            _n2DModeXSlider = new GizmoLineSlider2D(Gizmo, GizmoHandleId.NCamXSlider, GizmoHandleId.NCamXCap);
            _n2DModeXSlider.SetDragChannel(GizmoDragChannel.Offset);
            _n2DModeXSlider.MapDirection(0, AxisSign.Negative);
            _n2DModeXSlider.HoverPriority2D.MakeLowerThan(_2DModeDblSlider.HoverPriority2D);

            _n2DModeYSlider = new GizmoLineSlider2D(Gizmo, GizmoHandleId.NCamYSlider, GizmoHandleId.NCamYCap);
            _n2DModeYSlider.SetDragChannel(GizmoDragChannel.Offset);
            _n2DModeYSlider.MapDirection(1, AxisSign.Negative);
            _n2DModeYSlider.HoverPriority2D.MakeLowerThan(_2DModeDblSlider.HoverPriority2D);

            _2DModeSliders.Add(_p2DModeXSlider);
            _2DModeSliders.Add(_p2DModeYSlider);
            _2DModeSliders.Add(_n2DModeXSlider);
            _2DModeSliders.Add(_n2DModeYSlider);
            Hide2DModeHandles();

            SetupSharedLookAndFeel();
            SetupSharedSettings();
        }
예제 #2
0
 public void SetRtMidCapHoverable(bool hoverable)
 {
     _rtMidCap.SetHoverable(hoverable);
 }
예제 #3
0
 /// <summary>
 /// Sets the hoverable state of the 3D cap. A hoverable cap can be hovered ONLY if
 /// it is visible (see 'Set3DCapVisible'). So passing true to this function will only
 /// allow the cap to be hovered if it is also visible.
 /// </summary>
 public void Set3DCapHoverable(bool isHoverable)
 {
     _cap3D.SetHoverable(isHoverable);
 }
예제 #4
0
 public void SetHoverable(bool isHoverable)
 {
     _cap.SetHoverable(isHoverable);
 }