Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::SimpleWalkOperator Class Reference

The SimpleWalkOperator class defines an operator which allows the user to move forward and backwards and rotate while staying snapped to a plane. More...

#include <sprk_ops.h>

Inheritance diagram for HPS::SimpleWalkOperator:
Collaboration diagram for HPS::SimpleWalkOperator:

Classes

class  ScaleFactor
 

Public Types

enum  Axis {
  Axis::X,
  Axis::Y,
  Axis::Z,
  Axis::Negative_X,
  Axis::Negative_Y,
  Axis::Negative_Z
}
 
enum  Priority {
  Priority::Low,
  Priority::Default,
  Priority::High
}
 

Public Member Functions

 SimpleWalkOperator (MouseButtons in_mouse_trigger=MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger=ModifierKeys())
 
virtual HPS::UTF8 GetName () const
 Returns the name of the operator. More...
 
virtual void OnModelAttached ()
 This function is called whenever a model is attached to the view that is attached to this operator. More...
 
virtual void OnViewAttached ()
 This function is called whenever a view is attached to this operator. More...
 
virtual bool OnKeyDown (KeyboardState const &in_state)
 This function is called whenever HPS receives a KeyboardState event that signals a button was pressed. More...
 
virtual bool OnKeyUp (KeyboardState const &in_state)
 This function is called whenever HPS receives a KeyboardState event that signals a button was released. More...
 
virtual bool OnMouseWheel (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse wheel moved. More...
 
virtual bool OnMouseDown (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals a mouse button was pressed. More...
 
virtual bool OnMouseMove (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function rotates the camera in place and moves forward/back if the left mouse button is down. More...
 
virtual bool OnMouseUp (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals a mouse button was released. More...
 
virtual bool OnMouseEnter (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse entered the window. More...
 
virtual bool OnMouseLeave (MouseState const &in_state)
 This function is called whenever HPS receives a MouseEvent that signals the mouse left the window. More...
 
virtual bool OnTouchDown (TouchState const &in_state)
 This function is called whenever HPS receives a TouchEvent that signals the device was touched. More...
 
virtual bool OnTouchMove (TouchState const &in_state)
 This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved. More...
 
virtual bool OnTouchUp (TouchState const &in_state)
 This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released. More...
 
virtual bool OnTimerTick (HPS::TimerTickEvent const &in_event)
 This function is called whenever HPS receives a TimerTickEvent This function moves the camera. More...
 
void SetKeyboardShiftKey (bool in_state)
 This function sets the Shift key state in this operator. More...
 
void SetKeyboardControlKey (bool in_state)
 This function sets the Control key state in this operator. More...
 
void SetEnableMiddleMouseButtonDolly (bool in_enable)
 This function enables or disables Camera Dolly operations using the middle mouse button. More...
 
bool GetEnableMiddleMouseButtonDolly () const
 This function returns the state of Camera Dolly operations using the middle mouse button. More...
 
bool IsMouseTriggered (MouseState const &in_state)
 This function overrides the base class implementation to additionally inspect in_state for the middle mouse button state if middle mouse button Camera Dollying is enabled. More...
 
void SetGroundPlane (HPS::Plane const &in_plane)
 
HPS::Plane GetGroundPlane () const
 
void SetWalkerHeight (float height)
 
float GetWalkerHeight () const
 
Axis GetPrimaryUpAxis () const
 
Axis UpdatePrimaryUpAxis (HPS::Vector const &v)
 
virtual void OnViewDetached ()
 This function is called whenever a view is detached from this operator. More...
 
void InvertXAxis ()
 
void InvertYAxis ()
 
bool IsXAxisInverted () const
 
bool IsYAxisInverted () const
 
float GetKeyboardSensitivity () const
 
void SetKeyboardSensitivity (float in_keyboard_sensitivity)
 
float GetMouseSensitivity () const
 
void SetMouseSensitivity (float in_mouse_sensitivity)
 
float GetLeftJoystickSensitivity () const
 
void SetLeftJoystickSensitivity (float in_left_joystick_sensitivity)
 
float GetRightJoystickSensitivity () const
 
void SetRightJoystickSensitivity (float in_right_joystick_sensitivity)
 
float GetJoystickDeadZone () const
 
void SetJoystickDeadZone (float in_dead_zone)
 
float GetSceneExtents () const
 
HPS::Type ObjectType () const
 
virtual void Assign (Operator const &in_that)
 Assigns the parameter in_that to this operator, resulting in a clone. More...
 
virtual bool Equals (Operator const &in_that) const
 Tests this operator for equality against the parameter in_that. More...
 
virtual bool operator!= (Operator const &in_that) const
 Tests this operator for non-equality against the parameter in_that. More...
 
virtual bool operator== (Operator const &in_that) const
 Tests this operator for equality against the parameter in_that. More...
 
void DetachView ()
 Detaches the Operator from the View it was previously attached to. More...
 
View GetAttachedView () const
 Returns the View the Operator is currently attached to. More...
 
virtual bool OnTextInput (HPS::UTF8 const &in_text)
 This function is called whenever HPS receives a TextInputEvent that signals text was entered. More...
 
virtual void OnModelDetached ()
 This function is called whenever a model is detached from the view that is attached to this operator. More...
 
void SetMouseTrigger (MouseButtons in_buttons)
 Sets the mouse trigger for this operator. More...
 
MouseButtons GetMouseTrigger () const
 Gets the mouse trigger associated with this operator. More...
 
void SetModifierTrigger (ModifierKeys in_modifiers)
 Sets the modifier trigger associated with this operator. More...
 
ModifierKeys GetModifierTrigger () const
 Gets the modifier trigger associated with this operator. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

static Axis GetPrimaryAxis (HPS::Vector const &v)
 
template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::Operator
 

Protected Types

enum  MovementFlags {
  no_movement = 0x0000,
  moving_forward = 0x0001,
  moving_back = 0x0002,
  moving_left = 0x0004,
  moving_right = 0x0008,
  moving_up = 0x0010,
  moving_down = 0x0020,
  roll_left = 0x0040,
  roll_right = 0x0080,
  rotating = 0x0100,
  move_with_touch = 0x0200,
  rotate_with_touch = 0x0400
}
 

Protected Member Functions

void MoveLeft (HPS::Point &position, HPS::Point &target, HPS::Vector &up)
 
void MoveRight (HPS::Point &position, HPS::Point &target, HPS::Vector &up)
 
void MoveUp (HPS::Point &position, HPS::Point &target, HPS::Vector &up)
 
void MoveDown (HPS::Point &position, HPS::Point &target, HPS::Vector &up)
 
void MoveForward (HPS::Point &position, HPS::Point &target, HPS::Vector const &direction)
 
void MoveBack (HPS::Point &position, HPS::Point &target, HPS::Vector const &direction)
 
bool MoveWithTouch (HPS::Point &position, HPS::Point &target, HPS::Vector &up, HPS::Vector const &walking_direction)
 
bool RotateScene (HPS::Point &position, HPS::Point &target)
 
bool RotateWithTouch (HPS::Point &position, HPS::Point &target)
 
void RotateCommon (HPS::Point const &delta, HPS::Point &position, HPS::Point &target)
 

Protected Attributes

unsigned int movement_flags
 
HPS::MouseButtons mouse_trigger
 
HPS::ModifierKeys modifier_trigger
 

Private Member Functions

void Pan (float in_theta, float in_phi)
 
void Dolly (float in_right, float in_up, float in_forward)
 
void ResetCamera (HPS::CameraKit &camera) const
 
float CalculatePitch (HPS::CameraKit &camera) const
 
bool NotableCameraDifference (HPS::CameraKit const &camera1, HPS::CameraKit const &camera2)
 
int DirectionForward () const
 
int DirectionHorizontal () const
 
int DirectionVertical () const
 
int DirectionRoll () const
 
int DirectionPitch () const
 
int DirectionYaw () const
 
bool Move (HPS::Point const &start, HPS::Point const &current, int directions, HPS::CameraKit &camera, ScaleFactor const &scale)
 
void Init ()
 

Private Attributes

HPS::WindowPoint mouse_current_point
 
HPS::WindowPoint mouse_start_point
 
bool mouse_operator_started
 
bool mouse_moving
 
bool middle_mouse_button_active
 
HPS::WindowPoint touch_current_point
 
HPS::WindowPoint touch_start_point
 
bool touch_operator_started
 
bool touch_moving
 
bool double_touch_active
 
HPS::Touch touch1
 
HPS::Touch touch2
 
bool keybrd_control
 
bool keybrd_shift
 
bool enable_middle_button_dolly
 
HPS::UpdateNotifier last_notifier
 
bool pending_camera_valid
 
HPS::CameraKit pending_camera
 
HPS::CameraKit last_camera
 

Detailed Description

The SimpleWalkOperator class defines an operator which allows the user to move forward and backwards and rotate while staying snapped to a plane.

Mouse Operation:

Left-button down and move:Dollies the camera forward or backward, or Pans the camera left or right based on the mouse movement direction. The movement velocity changes based on how far the mouse is dragged from the starting point.
Middle-button down and move:Dollies the camera vertically or horizontally based on the mouse movement direction. The movement velocity changes based on how far the mouse is dragged from the starting point.
Shift:With the Shift key down the forward/backward velocity is ten times faster.
Ctrl:With the Ctrl key down the forward/backward velocity is ten times slower, and the left/right velocity is 45% slower.
Mouse wheel:Pans the camera vertically. This will change the tilt direction that the camera is looking, but does not change the direction of forward/backward movement.
Shift + mouse wheel:Increases or decreases the base velocity of Dolly operations.

Touch Operation:

Single Finger DragDollies the camera forward or backward, or Pans the camera left or right based on the touch movement direction. The movement velocity changes based on how far the touch is dragged from the starting point.
Two Finger DragDollies the camera vertically or horizontally based on the touch movement direction. The movement velocity changes based on how far the touch is dragged from the starting point.
Shift:With the Shift key down the forward/backward velocity is ten times faster.
Ctrl:With the Ctrl key down the forward/backward velocity is ten times slower, and the left/right velocity is 45% slower.

Member Enumeration Documentation

◆ Axis

enum HPS::WalkOperator::Axis
stronginherited
Enumerator
Negative_X 
Negative_Y 
Negative_Z 

◆ MovementFlags

enum HPS::FlyOperator::MovementFlags
protectedinherited
Enumerator
no_movement 
moving_forward 
moving_back 
moving_left 
moving_right 
moving_up 
moving_down 
roll_left 
roll_right 
rotating 
move_with_touch 
rotate_with_touch 

◆ Priority

enum HPS::Operator::Priority
stronginherited
Enumerator
Low 
Default 
High 

Constructor & Destructor Documentation

◆ SimpleWalkOperator()

HPS::SimpleWalkOperator::SimpleWalkOperator ( MouseButtons  in_mouse_trigger = MouseButtons::ButtonLeft(),
ModifierKeys  in_modifier_trigger = ModifierKeys() 
)

Member Function Documentation

◆ Assign()

virtual void HPS::Operator::Assign ( Operator const &  in_that)
virtualinherited

Assigns the parameter in_that to this operator, resulting in a clone.

◆ CalculatePitch()

float HPS::SimpleWalkOperator::CalculatePitch ( HPS::CameraKit camera) const
private

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ DetachView()

void HPS::Operator::DetachView ( )
inherited

Detaches the Operator from the View it was previously attached to.

◆ DirectionForward()

int HPS::SimpleWalkOperator::DirectionForward ( ) const
inlineprivate

◆ DirectionHorizontal()

int HPS::SimpleWalkOperator::DirectionHorizontal ( ) const
inlineprivate

◆ DirectionPitch()

int HPS::SimpleWalkOperator::DirectionPitch ( ) const
inlineprivate

◆ DirectionRoll()

int HPS::SimpleWalkOperator::DirectionRoll ( ) const
inlineprivate

◆ DirectionVertical()

int HPS::SimpleWalkOperator::DirectionVertical ( ) const
inlineprivate

◆ DirectionYaw()

int HPS::SimpleWalkOperator::DirectionYaw ( ) const
inlineprivate

◆ Dolly()

void HPS::SimpleWalkOperator::Dolly ( float  in_right,
float  in_up,
float  in_forward 
)
private

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ Equals()

virtual bool HPS::Operator::Equals ( Operator const &  in_that) const
virtualinherited

Tests this operator for equality against the parameter in_that.

Same as Operator::operator==

◆ GetAttachedView()

View HPS::Operator::GetAttachedView ( ) const
inherited

Returns the View the Operator is currently attached to.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetEnableMiddleMouseButtonDolly()

bool HPS::SimpleWalkOperator::GetEnableMiddleMouseButtonDolly ( ) const

This function returns the state of Camera Dolly operations using the middle mouse button.

The SimpleWalkOperator has Camera Dolly operations fixed to the middle mouse button by default. To disable this behavior, set this value to false.

Returns
true if middle mouse button Camera Dollying is enabled, false otherwise.

◆ GetGroundPlane()

HPS::Plane HPS::WalkOperator::GetGroundPlane ( ) const
inlineinherited

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ GetJoystickDeadZone()

float HPS::FlyOperator::GetJoystickDeadZone ( ) const
inlineinherited

◆ GetKeyboardSensitivity()

float HPS::FlyOperator::GetKeyboardSensitivity ( ) const
inlineinherited

◆ GetLeftJoystickSensitivity()

float HPS::FlyOperator::GetLeftJoystickSensitivity ( ) const
inlineinherited

◆ GetModifierTrigger()

ModifierKeys HPS::Operator::GetModifierTrigger ( ) const
inlineinherited

Gets the modifier trigger associated with this operator.

◆ GetMouseSensitivity()

float HPS::FlyOperator::GetMouseSensitivity ( ) const
inlineinherited

◆ GetMouseTrigger()

MouseButtons HPS::Operator::GetMouseTrigger ( ) const
inlineinherited

Gets the mouse trigger associated with this operator.

◆ GetName()

virtual HPS::UTF8 HPS::SimpleWalkOperator::GetName ( ) const
inlinevirtual

Returns the name of the operator.

Reimplemented from HPS::WalkOperator.

◆ GetPrimaryAxis()

static Axis HPS::WalkOperator::GetPrimaryAxis ( HPS::Vector const &  v)
staticinherited

◆ GetPrimaryUpAxis()

Axis HPS::WalkOperator::GetPrimaryUpAxis ( ) const
inlineinherited

◆ GetRightJoystickSensitivity()

float HPS::FlyOperator::GetRightJoystickSensitivity ( ) const
inlineinherited

◆ GetSceneExtents()

float HPS::FlyOperator::GetSceneExtents ( ) const
inlineinherited

◆ GetWalkerHeight()

float HPS::WalkOperator::GetWalkerHeight ( ) const
inlineinherited

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ Init()

void HPS::SimpleWalkOperator::Init ( )
private

◆ InvertXAxis()

void HPS::FlyOperator::InvertXAxis ( )
inlineinherited

◆ InvertYAxis()

void HPS::FlyOperator::InvertYAxis ( )
inlineinherited

◆ IsMouseTriggered()

bool HPS::SimpleWalkOperator::IsMouseTriggered ( MouseState const &  in_state)
virtual

This function overrides the base class implementation to additionally inspect in_state for the middle mouse button state if middle mouse button Camera Dollying is enabled.

Returns
true if the MouseButtons and ModifierKeys are active.

Reimplemented from HPS::Operator.

◆ IsXAxisInverted()

bool HPS::FlyOperator::IsXAxisInverted ( ) const
inlineinherited

◆ IsYAxisInverted()

bool HPS::FlyOperator::IsYAxisInverted ( ) const
inlineinherited

◆ Move()

bool HPS::SimpleWalkOperator::Move ( HPS::Point const &  start,
HPS::Point const &  current,
int  directions,
HPS::CameraKit camera,
ScaleFactor const &  scale 
)
private

◆ MoveBack()

void HPS::FlyOperator::MoveBack ( HPS::Point position,
HPS::Point target,
HPS::Vector const &  direction 
)
protectedinherited

◆ MoveDown()

void HPS::FlyOperator::MoveDown ( HPS::Point position,
HPS::Point target,
HPS::Vector up 
)
protectedinherited

◆ MoveForward()

void HPS::FlyOperator::MoveForward ( HPS::Point position,
HPS::Point target,
HPS::Vector const &  direction 
)
protectedinherited

◆ MoveLeft()

void HPS::FlyOperator::MoveLeft ( HPS::Point position,
HPS::Point target,
HPS::Vector up 
)
protectedinherited

◆ MoveRight()

void HPS::FlyOperator::MoveRight ( HPS::Point position,
HPS::Point target,
HPS::Vector up 
)
protectedinherited

◆ MoveUp()

void HPS::FlyOperator::MoveUp ( HPS::Point position,
HPS::Point target,
HPS::Vector up 
)
protectedinherited

◆ MoveWithTouch()

bool HPS::FlyOperator::MoveWithTouch ( HPS::Point position,
HPS::Point target,
HPS::Vector up,
HPS::Vector const &  walking_direction 
)
protectedinherited

◆ NotableCameraDifference()

bool HPS::SimpleWalkOperator::NotableCameraDifference ( HPS::CameraKit const &  camera1,
HPS::CameraKit const &  camera2 
)
private

◆ ObjectType()

HPS::Type HPS::Operator::ObjectType ( ) const
inlinevirtualinherited

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ OnKeyDown()

virtual bool HPS::SimpleWalkOperator::OnKeyDown ( KeyboardState const &  in_state)
inlinevirtual

This function is called whenever HPS receives a KeyboardState event that signals a button was pressed.

This operator does not handle key down events.

Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS::FlyOperator.

◆ OnKeyUp()

virtual bool HPS::SimpleWalkOperator::OnKeyUp ( KeyboardState const &  in_state)
inlinevirtual

This function is called whenever HPS receives a KeyboardState event that signals a button was released.

This operator does not handle key up events.

Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS::FlyOperator.

◆ OnModelAttached()

virtual void HPS::SimpleWalkOperator::OnModelAttached ( )
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::WalkOperator.

◆ OnModelDetached()

virtual void HPS::Operator::OnModelDetached ( )
inlinevirtualinherited

This function is called whenever a model is detached from the view that is attached to this operator.

If no view is attached to this operator, this function will not be called.

◆ OnMouseDown()

virtual bool HPS::SimpleWalkOperator::OnMouseDown ( MouseState const &  in_state)
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_stateA MouseState object describing the current mouse state.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS::FlyOperator.

◆ OnMouseEnter()

virtual bool HPS::SimpleWalkOperator::OnMouseEnter ( MouseState const &  in_state)
virtual

This function is called whenever HPS receives a MouseEvent that signals the mouse entered the window.

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

Reimplemented from HPS::Operator.

◆ OnMouseLeave()

virtual bool HPS::SimpleWalkOperator::OnMouseLeave ( MouseState const &  in_state)
virtual

This function is called whenever HPS receives a MouseEvent that signals the mouse left the window.

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()

virtual bool HPS::SimpleWalkOperator::OnMouseMove ( MouseState const &  in_state)
virtual

This function is called whenever HPS receives a MouseEvent that signals the mouse moved This function rotates the camera in place and moves forward/back if the left mouse button is down.

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

Reimplemented from HPS::FlyOperator.

◆ OnMouseUp()

virtual bool HPS::SimpleWalkOperator::OnMouseUp ( MouseState const &  in_state)
virtual

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

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

Reimplemented from HPS::FlyOperator.

◆ OnMouseWheel()

virtual bool HPS::SimpleWalkOperator::OnMouseWheel ( MouseState const &  in_state)
virtual

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

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

Reimplemented from HPS::FlyOperator.

◆ OnTextInput()

virtual bool HPS::Operator::OnTextInput ( HPS::UTF8 const &  in_text)
inlinevirtualinherited

This function is called whenever HPS receives a TextInputEvent that signals text was entered.

Parameters
in_textThe text entered.
Returns
true if the input event was handled, false otherwise.

Reimplemented in HPS::AnnotationOperator, and HPS::MarkupOperator.

◆ OnTimerTick()

virtual bool HPS::SimpleWalkOperator::OnTimerTick ( HPS::TimerTickEvent const &  in_event)
virtual

This function is called whenever HPS receives a TimerTickEvent This function moves the camera.

Parameters
in_stateA TimerTickEvent object describing the current timer tick.
Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS::WalkOperator.

◆ OnTouchDown()

virtual bool HPS::SimpleWalkOperator::OnTouchDown ( TouchState const &  in_state)
virtual

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::FlyOperator.

◆ OnTouchMove()

virtual bool HPS::SimpleWalkOperator::OnTouchMove ( TouchState const &  in_state)
virtual

This function is called whenever HPS receives a TouchEvent that signals a point of contact has moved.

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

Reimplemented from HPS::FlyOperator.

◆ OnTouchUp()

virtual bool HPS::SimpleWalkOperator::OnTouchUp ( TouchState const &  in_state)
virtual

This function is called whenever HPS receives a TouchEvent that signals a point of contact has been released.

Returns
true if the input event was handled, false otherwise.

Reimplemented from HPS::FlyOperator.

◆ OnViewAttached()

virtual void HPS::SimpleWalkOperator::OnViewAttached ( )
virtual

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

Reimplemented from HPS::WalkOperator.

◆ OnViewDetached()

virtual void HPS::FlyOperator::OnViewDetached ( )
virtualinherited

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

Reimplemented from HPS::Operator.

◆ operator!=()

virtual bool HPS::Operator::operator!= ( Operator const &  in_that) const
virtualinherited

Tests this operator for non-equality against the parameter in_that.

◆ operator==()

virtual bool HPS::Operator::operator== ( Operator const &  in_that) const
virtualinherited

Tests this operator for equality against the parameter in_that.

Same as Operator::Equals.

◆ Pan()

void HPS::SimpleWalkOperator::Pan ( float  in_theta,
float  in_phi 
)
private

◆ Reset()

◆ ResetCamera()

void HPS::SimpleWalkOperator::ResetCamera ( HPS::CameraKit camera) const
private

◆ RotateCommon()

void HPS::FlyOperator::RotateCommon ( HPS::Point const &  delta,
HPS::Point position,
HPS::Point target 
)
protectedinherited

◆ RotateScene()

bool HPS::FlyOperator::RotateScene ( HPS::Point position,
HPS::Point target 
)
protectedinherited

◆ RotateWithTouch()

bool HPS::FlyOperator::RotateWithTouch ( HPS::Point position,
HPS::Point target 
)
protectedinherited

◆ SetEnableMiddleMouseButtonDolly()

void HPS::SimpleWalkOperator::SetEnableMiddleMouseButtonDolly ( bool  in_enable)

This function enables or disables Camera Dolly operations using the middle mouse button.

The SimpleWalkOperator has Camera Dolly operations fixed to the middle mouse button by default. To disable this behavior, set this value to false.

Parameters
in_stateThe new state of middle mouse button dollying.

◆ SetGroundPlane()

void HPS::WalkOperator::SetGroundPlane ( HPS::Plane const &  in_plane)
inlineinherited

◆ SetJoystickDeadZone()

void HPS::FlyOperator::SetJoystickDeadZone ( float  in_dead_zone)
inlineinherited

◆ SetKeyboardControlKey()

void HPS::SimpleWalkOperator::SetKeyboardControlKey ( bool  in_state)

This function sets the Control key state in this operator.

Call this function from your application to inform the the operator of the Control key state. The Control key decreases the velocities of forward/backward and rotation movements.

Parameters
in_stateThe new state of the Control key.

◆ SetKeyboardSensitivity()

void HPS::FlyOperator::SetKeyboardSensitivity ( float  in_keyboard_sensitivity)
inlineinherited

◆ SetKeyboardShiftKey()

void HPS::SimpleWalkOperator::SetKeyboardShiftKey ( bool  in_state)

This function sets the Shift key state in this operator.

Call this function from your application to inform the the operator of the Shift key state. The Shift key increases the mouse trigger button forward/backward velocity.

Parameters
in_stateThe new state of the Shift key.

◆ SetLeftJoystickSensitivity()

void HPS::FlyOperator::SetLeftJoystickSensitivity ( float  in_left_joystick_sensitivity)
inlineinherited

◆ SetModifierTrigger()

void HPS::Operator::SetModifierTrigger ( ModifierKeys  in_modifiers)
inlineinherited

Sets the modifier trigger associated with this operator.

Parameters
in_modifiersThe modifier keys that are used to trigger this operator.

◆ SetMouseSensitivity()

void HPS::FlyOperator::SetMouseSensitivity ( float  in_mouse_sensitivity)
inlineinherited

◆ SetMouseTrigger()

void HPS::Operator::SetMouseTrigger ( MouseButtons  in_buttons)
inlineinherited

Sets the mouse trigger for this operator.

◆ SetRightJoystickSensitivity()

void HPS::FlyOperator::SetRightJoystickSensitivity ( float  in_right_joystick_sensitivity)
inlineinherited

◆ SetWalkerHeight()

void HPS::WalkOperator::SetWalkerHeight ( float  height)
inlineinherited

◆ Type()

◆ UpdatePrimaryUpAxis()

Axis HPS::WalkOperator::UpdatePrimaryUpAxis ( HPS::Vector const &  v)
inherited

Member Data Documentation

◆ double_touch_active

bool HPS::SimpleWalkOperator::double_touch_active
private

◆ enable_middle_button_dolly

bool HPS::SimpleWalkOperator::enable_middle_button_dolly
private

◆ keybrd_control

bool HPS::SimpleWalkOperator::keybrd_control
private

◆ keybrd_shift

bool HPS::SimpleWalkOperator::keybrd_shift
private

◆ last_camera

HPS::CameraKit HPS::SimpleWalkOperator::last_camera
private

◆ last_notifier

HPS::UpdateNotifier HPS::SimpleWalkOperator::last_notifier
private

◆ middle_mouse_button_active

bool HPS::SimpleWalkOperator::middle_mouse_button_active
private

◆ modifier_trigger

HPS::ModifierKeys HPS::Operator::modifier_trigger
protectedinherited

◆ mouse_current_point

HPS::WindowPoint HPS::SimpleWalkOperator::mouse_current_point
private

◆ mouse_moving

bool HPS::SimpleWalkOperator::mouse_moving
private

◆ mouse_operator_started

bool HPS::SimpleWalkOperator::mouse_operator_started
private

◆ mouse_start_point

HPS::WindowPoint HPS::SimpleWalkOperator::mouse_start_point
private

◆ mouse_trigger

HPS::MouseButtons HPS::Operator::mouse_trigger
protectedinherited

◆ movement_flags

unsigned int HPS::FlyOperator::movement_flags
protectedinherited

◆ pending_camera

HPS::CameraKit HPS::SimpleWalkOperator::pending_camera
private

◆ pending_camera_valid

bool HPS::SimpleWalkOperator::pending_camera_valid
private

◆ staticType

const HPS::Type HPS::Operator::staticType = HPS::Type::Operator
staticinherited

◆ touch1

HPS::Touch HPS::SimpleWalkOperator::touch1
private

◆ touch2

HPS::Touch HPS::SimpleWalkOperator::touch2
private

◆ touch_current_point

HPS::WindowPoint HPS::SimpleWalkOperator::touch_current_point
private

◆ touch_moving

bool HPS::SimpleWalkOperator::touch_moving
private

◆ touch_operator_started

bool HPS::SimpleWalkOperator::touch_operator_started
private

◆ touch_start_point

HPS::WindowPoint HPS::SimpleWalkOperator::touch_start_point
private

The documentation for this class was generated from the following file: