NavigationCubeOperator
- class HPS.NavigationCubeOperator : public HPS.Operator
The NavigationCubeOperator class defines an operator which allows the user to interact with the navigation cube.
This Operator works for both mouse- and touch-driven devices.
Mouse-Driver Devices:
Left Button Down:
Snap view to plane
Left Button Down and Move:
Rotates the scene
Touch-Driven Devices:
Tap:
Snaps view to plane
Tap and Move:
Rotates the scene
In order to use the NavigationCubeOperator, it’s necessary to call HPS.NavigationCubeControl.SetInteractivity(true) first.
The orientation of the NavigationCubeControl is specified by the model in the associated view. See HPS.Model.SetOrientation().
Note
Public Functions
- override void Dispose ()
- override string GetName ()
Returns the name of the operator.
- double GetTransitionTime ()
Gets the duration of transitions, specified in seconds.
- Return
How long it will take the navigation cube to complete a transition when a user clicks on one of its faces, in seconds
- NavigationCubeOperator ()
- NavigationCubeOperator (HPS.MouseButtons in_mouse_trigger)
- NavigationCubeOperator (HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)
- NavigationCubeOperator (HPS.NavigationCubeOperator in_that)
- override void OnModelAttached ()
This function is called whenever a model is attached to the view that is attached to this operator. If no view is attached to this operator, this function will not be called.
- override bool OnMouseDown (HPS.MouseState in_state)
This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. This function starts the operator and computes the position of the starting point.
- Param in_state
A MouseState object describing the current mouse state.
- Return
true if the input event was handled, false otherwise.
- override bool OnMouseMove (HPS.MouseState in_state)
This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function orbits the camera.
- Param in_state
A MouseState object describing the current mouse state.
- Return
true if the input event was handled, false otherwise.
- override bool OnMouseUp (HPS.MouseState in_state)
This function is called whenever HPS receives a MouseEvent that signals a mouse button was released. This function stops the operator.
- Param in_state
A MouseState object describing the current mouse state.
- Return
true if the input event was handled, false otherwise.
- override bool OnTouchDown (HPS.TouchState in_state)
This function is called whenever HPS receives a TouchEvent that signals the device was touched.
- Param in_state
A TouchState object describing the current touch state.
- Return
true if the input event was handled, false otherwise.
- override bool OnTouchMove (HPS.TouchState in_state)
This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. This function orbits the camera as needed.
- Param in_state
A TouchState object describing the current touch state.
- Return
true if the input event was handled, false otherwise.
- override bool OnTouchUp (HPS.TouchState in_state)
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released. This function stops the operator.
- Param in_state
A TouchState object describing the current touch state.
- Return
true if the input event was handled, false otherwise.
- override void OnViewAttached (HPS.View in_attached_view)
This function is called whenever a view is attached to this operator.
- Param in_attached_view
The view attached to this operator.
- override void OnViewDetached (HPS.View in_attached_view)
This function is called whenever a view is detached from this operator.
- Param in_detached_view
The view detached from this operator.
- void SetReferenceSegment (HPS.KeyPath in_path_to_segment)
Sets a key path to the segment used as a reference. All rotations use the transformed bounding of the segment pointed to by the path provided in order to correctly position the camera. By default the reference segment is the View segment.
- Param in_path_to_segment
the key path to the segment to rotate around.
- void SetReferenceSegment (HPS.KeyPath[] in_path_to_segments)
Sets a group of key paths to segments to be used as a reference. All rotations happen around the combined bounding box of the reference segments, taking into account transformation sets along their key paths By default the reference segment is the View segment.
- Param in_path_to_segments
the key paths to the segments to rotate around.
- void SetTransitionTime (double in_time)
Sets how long the navigation cube will take to complete a transition when a user clicks on one of its faces.
- Param in_time
how long the navigation cube will take to complete a transition when a user clicks on one of its faces. Specified in seconds.
- Return
A reference to this object. By default the navigation cube will take 0.5 seconds to complete transitions.
- HPS.KeyPath[] ShowReferenceSegment ()
Returns the key paths to the segments used as a reference for rotations By default the reference segment is the View segment.
- Return
the key paths to segments the navigation cube rotates around.