HPS.NavigationCubeOperator Class Reference
Inheritance diagram for HPS.NavigationCubeOperator:
HPS.Operator HPS.Sprocket HPS.Object

Public Member Functions

override void Dispose ()
 
override string GetName ()
 
double GetTransitionTime ()
 
 NavigationCubeOperator (HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)
 
 NavigationCubeOperator (HPS.MouseButtons in_mouse_trigger)
 
 NavigationCubeOperator (HPS.NavigationCubeOperator in_that)
 
override void OnModelAttached ()
 
override bool OnMouseDown (HPS.MouseState in_state)
 
override bool OnMouseMove (HPS.MouseState in_state)
 
override bool OnMouseUp (HPS.MouseState in_state)
 
override bool OnTouchDown (HPS.TouchState in_state)
 
override bool OnTouchMove (HPS.TouchState in_state)
 
override bool OnTouchUp (HPS.TouchState in_state)
 
override void OnViewAttached (HPS.View in_attached_view)
 
override void OnViewDetached (HPS.View in_attached_view)
 
void SetReferenceSegment (HPS.KeyPath in_path_to_segment)
 
void SetReferenceSegment (HPS.KeyPath[] in_path_to_segments)
 
void SetTransitionTime (double in_time)
 
HPS.KeyPath [] ShowReferenceSegment ()
 
- Public Member Functions inherited from HPS.Operator
virtual void Assign (HPS.Operator in_that)
 
void DetachView ()
 
override void Dispose ()
 
delegate void DtorDelegate (IntPtr cPtr)
 
override bool Equals (System.Object obj)
 
virtual bool Equals (HPS.Operator in_that)
 
HPS.View GetAttachedView ()
 
override int GetHashCode ()
 
HPS.ModifierKeys GetModifierTrigger ()
 
HPS.MouseButtons GetMouseTrigger ()
 
virtual bool IsMouseTriggered (HPS.MouseState in_state)
 
override HPS.Type ObjectType ()
 
virtual bool OnKeyDown (HPS.KeyboardState in_state)
 
virtual bool OnKeyUp (HPS.KeyboardState in_state)
 
virtual void OnModelDetached ()
 
virtual bool OnMouseEnter (HPS.MouseState in_state)
 
virtual bool OnMouseLeave (HPS.MouseState in_state)
 
virtual bool OnMouseWheel (HPS.MouseState in_state)
 
virtual bool OnTextInput (string in_text)
 
virtual bool OnTimerTick (HPS.TimerTickEvent in_event)
 
 Operator (HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)
 
 Operator (HPS.MouseButtons in_mouse_trigger)
 
 Operator (HPS.Operator in_that)
 
delegate void RemoveCacheItemDelegate (IntPtr cPtr)
 
void SetModifierTrigger (HPS.ModifierKeys in_modifiers)
 
void SetMouseTrigger (HPS.MouseButtons in_buttons)
 
- Public Member Functions inherited from HPS.Sprocket
override void Dispose ()
 
 Sprocket (HPS.Sprocket in_that)
 
- Public Member Functions inherited from HPS.Object
virtual bool Empty ()
 
IntPtr GetClassID ()
 
IntPtr GetInstanceID ()
 
bool HasType (HPS.Type in_mask)
 
 Object (HPS.Object that)
 
virtual void Reset ()
 
virtual HPS.Type Type ()
 

Protected Member Functions

override void deleteCptr ()
 
override bool DerivedClassHasMethod (string methodName, System.Type[] methodTypes)
 
override IntPtr GetNonDirectorClassID ()
 
override bool IsUserDerived ()
 
- Protected Member Functions inherited from HPS.Operator
override void deleteCptr ()
 
override IntPtr GetNonDirectorClassID ()
 
- Protected Member Functions inherited from HPS.Sprocket
override void deleteCptr ()
 

Additional Inherited Members

- Public Types inherited from HPS.Operator
enum  Priority { Low = 0, Default = 1, High = 2 }
 
- Static Public Member Functions inherited from HPS.Operator
static bool operator!= (HPS.Operator a, HPS.Operator b)
 
static bool operator== (HPS.Operator a, HPS.Operator b)
 
- Static Public Member Functions inherited from HPS.Object
static IntPtr ClassID< T > ()
 
- Protected Attributes inherited from HPS.Operator
HandleRef sptr
 
- Protected Attributes inherited from HPS.Object
bool cMemOwn
 
HandleRef cptr
 
- Static Protected Attributes inherited from HPS.Operator
static Dictionary< IntPtr, OperatorcachedObjects = new Dictionary<IntPtr, Operator>()
 
static Dictionary< IntPtr, WeakReference > cachedWeakRefs = new Dictionary<IntPtr, WeakReference>()
 
static ReaderWriterLockSlim mapLock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion)
 

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

◆ GetName()

override string HPS.NavigationCubeOperator.GetName ( )
inlinevirtual

Returns the name of the operator.

Reimplemented from HPS.Operator.

◆ GetTransitionTime()

double HPS.NavigationCubeOperator.GetTransitionTime ( )
inline

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

◆ OnModelAttached()

override void HPS.NavigationCubeOperator.OnModelAttached ( )
inlinevirtual

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.

◆ OnMouseDown()

override bool HPS.NavigationCubeOperator.OnMouseDown ( HPS.MouseState  in_state)
inlinevirtual

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_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnMouseMove()

override bool HPS.NavigationCubeOperator.OnMouseMove ( HPS.MouseState  in_state)
inlinevirtual

This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function orbits the camera.

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnMouseUp()

override bool HPS.NavigationCubeOperator.OnMouseUp ( HPS.MouseState  in_state)
inlinevirtual

This function is called whenever HPS receives a MouseEvent that signals a mouse button was released. This function stops the operator.

Parameters
in_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnTouchDown()

override bool HPS.NavigationCubeOperator.OnTouchDown ( HPS.TouchState  in_state)
inlinevirtual

This function is called whenever HPS receives a TouchEvent that signals the device was touched.

Parameters
in_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnTouchMove()

override bool HPS.NavigationCubeOperator.OnTouchMove ( HPS.TouchState  in_state)
inlinevirtual

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_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnTouchUp()

override bool HPS.NavigationCubeOperator.OnTouchUp ( HPS.TouchState  in_state)
inlinevirtual

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_stateA TouchState object describing the current touch state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS.Operator.

◆ OnViewAttached()

override void HPS.NavigationCubeOperator.OnViewAttached ( HPS.View  in_attached_view)
inlinevirtual

This function is called whenever a view is attached to this operator.

Parameters
in_attached_viewThe view attached to this operator.

Reimplemented from HPS.Operator.

◆ OnViewDetached()

override void HPS.NavigationCubeOperator.OnViewDetached ( HPS.View  in_detached_view)
inlinevirtual

This function is called whenever a view is detached from this operator.

Parameters
in_detached_viewThe view detached from this operator.

Reimplemented from HPS.Operator.

◆ SetReferenceSegment() [1/2]

void HPS.NavigationCubeOperator.SetReferenceSegment ( HPS.KeyPath  in_path_to_segment)
inline

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_segmentthe key path to the segment to rotate around.

◆ SetReferenceSegment() [2/2]

void HPS.NavigationCubeOperator.SetReferenceSegment ( HPS.KeyPath []  in_path_to_segments)
inline

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_segmentsthe key paths to the segments to rotate around.

◆ SetTransitionTime()

void HPS.NavigationCubeOperator.SetTransitionTime ( double  in_time)
inline

Sets how long the navigation cube will take to complete a transition when a user clicks on one of its faces.

Parameters
in_timehow 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.

◆ ShowReferenceSegment()

HPS.KeyPath [] HPS.NavigationCubeOperator.ShowReferenceSegment ( )
inline

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:
  • internals/hps_sprk/source/cs/HPS.NavigationCubeOperator.cs