#include <sprk.h>

Public Member Functions | |
virtual HPS::UTF8 | GetName () const |
HPS::Time | GetTransitionTime () const |
NavigationCubeOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
virtual void | OnModelAttached () |
virtual bool | OnMouseDown (MouseState const &in_state) |
virtual bool | OnMouseMove (MouseState const &in_state) |
virtual bool | OnMouseUp (MouseState const &in_state) |
virtual bool | OnTouchDown (TouchState const &in_state) |
virtual bool | OnTouchMove (TouchState const &in_state) |
virtual bool | OnTouchUp (TouchState const &in_state) |
virtual void | OnViewAttached (HPS::View const &in_attached_view) |
virtual void | OnViewDetached (HPS::View const &in_attached_view) |
void | SetReferenceSegment (HPS::KeyPath const &in_path_to_segment) |
void | SetReferenceSegment (HPS::KeyPathArray const &in_path_to_segments) |
void | SetTransitionTime (HPS::Time const &in_time) |
HPS::KeyPathArray | ShowReferenceSegment () |
void | UpdateHighlightColor () |
![]() | |
virtual void | Assign (Operator const &in_that) |
void | DetachView () |
virtual bool | Equals (Operator const &in_that) const |
View | GetAttachedView () const |
ModifierKeys | GetModifierTrigger () const |
MouseButtons | GetMouseTrigger () const |
virtual bool | IsMouseTriggered (MouseState const &in_state) |
HPS::Type | ObjectType () const |
virtual bool | OnKeyDown (KeyboardState const &in_state) |
virtual bool | OnKeyUp (KeyboardState const &in_state) |
virtual void | OnModelDetached () |
virtual bool | OnMouseEnter (MouseState const &in_state) |
virtual bool | OnMouseLeave (MouseState const &in_state) |
virtual bool | OnMouseWheel (MouseState const &in_state) |
virtual bool | OnTextInput (HPS::UTF8 const &in_text) |
virtual bool | OnTimerTick (HPS::TimerTickEvent const &in_event) |
Operator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys()) | |
Operator (Operator const &in_that) | |
virtual bool | operator!= (Operator const &in_that) const |
virtual Operator & | operator= (Operator const &in_that) |
virtual bool | operator== (Operator const &in_that) const |
void | SetModifierTrigger (ModifierKeys in_modifiers) |
void | SetMouseTrigger (MouseButtons in_buttons) |
![]() | |
Sprocket (Sprocket &&in_that) | |
![]() | |
virtual bool | Empty () const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
bool | HasType (HPS::Type in_mask) const |
Object (Object const &that) | |
Object (Object &&in_that) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
virtual HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
enum | Priority { Low, Default, High } |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
static const HPS::Type | staticType = HPS::Type::Operator |
![]() | |
static const HPS::Type | staticType = HPS::Type::None |
![]() | |
HPS::ModifierKeys | modifier_trigger |
HPS::MouseButtons | mouse_trigger |
Detailed Description
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.
- Note
- The orientation of the NavigationCubeControl is specified by the model in the associated view. See HPS::Model::SetOrientation().
Member Function Documentation
|
inlinevirtual |
Returns the name of the operator.
Reimplemented from HPS::Operator.
HPS::Time HPS::NavigationCubeOperator::GetTransitionTime | ( | ) | const |
Gets the duration of transitions, specified in seconds.
- Returns
- How long it will take the navigation cube to complete a transition when a user clicks on one of its faces, in seconds
|
virtual |
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.
Reimplemented from HPS::Operator.
|
virtual |
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.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function orbits the camera.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a MouseEvent that signals a mouse button was released. This function stops the operator.
- Parameters
-
in_state A MouseState object describing the current mouse state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals the device was touched.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. This function orbits the camera as needed.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released. This function stops the operator.
- Parameters
-
in_state A TouchState object describing the current touch state.
- Returns
- true if the input event was handled, false otherwise.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever a view is attached to this operator.
- Parameters
-
in_attached_view The view attached to this operator.
Reimplemented from HPS::Operator.
|
virtual |
This function is called whenever a view is detached from this operator.
- Parameters
-
in_detached_view The view detached from this operator.
Reimplemented from HPS::Operator.
void HPS::NavigationCubeOperator::SetReferenceSegment | ( | HPS::KeyPath const & | 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.
- Parameters
-
in_path_to_segment the key path to the segment to rotate around.
void HPS::NavigationCubeOperator::SetReferenceSegment | ( | HPS::KeyPathArray const & | 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.
- Parameters
-
in_path_to_segments the key paths to the segments to rotate around.
void HPS::NavigationCubeOperator::SetTransitionTime | ( | HPS::Time const & | in_time | ) |
Sets how long the navigation cube will take to complete a transition when a user clicks on one of its faces.
- Parameters
-
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.
- Returns
- A reference to this object. By default the navigation cube will take 0.5 seconds to complete transitions.
HPS::KeyPathArray HPS::NavigationCubeOperator::ShowReferenceSegment | ( | ) |
Returns the key paths to the segments used as a reference for rotations By default the reference segment is the View segment.
- Returns
- the key paths to segments the navigation cube rotates around.
The documentation for this class was generated from the following file:
- include/sprk.h