29 #ifndef __H3DNAVIGATION_H__
30 #define __H3DNAVIGATION_H__
58 h3d_navigations.remove(
this );
64 const vector< H3DFloat > &avatar_size,
66 const vector< string > &transition_type,
70 static void disableDevice(
int device );
73 static void enableDevice(
int device );
75 static bool isEnabled(
int device );
82 if( old_vp.get() && old_vp.get() != potential_vp ) {
95 static string getTransitionType(
96 const vector< string > &transition_types );
100 if( mouse_nav.get() )
101 mouse_nav->leftButtonUpdate( _left_button );
106 if( mouse_nav.get() )
107 mouse_nav->motionUpdate(
x, y );
112 if( mouse_nav.get() )
113 mouse_nav->scrollWheelUpdate( up );
116 inline void handleKeyAction(
int key,
bool pressed ) {
117 if( keyboard_nav.get() )
118 keyboard_nav->handleKeyAction( key, pressed );
123 static bool force_jump;
128 H3DUniquePtr< KeyboardNavigation > keyboard_nav;
129 H3DUniquePtr< HapticDeviceNavigation > haptic_device_nav;
130 H3DUniquePtr< SWSNavigation > sws_navigation;
138 bool linear_interpolate;
142 Vec3f start_position, move_direction;
148 static list< H3DNavigation * > h3d_navigations;
151 bool isUniformScaling(
const Vec3f &scale );
Header file for H3DNavigationDevices, classes for navigation.
Header file for X3DViewpointNode, X3D scene-graph node.
H3DNavigation is a class used for navigation in H3DAPI.
Definition: H3DNavigation.h:41
X3DViewpointNode * viewpointToUse(X3DViewpointNode *potential_vp)
Compares the given X3DViewpointNode to the X3DViewpointNode used by the NavigationInfo.
Definition: H3DNavigation.h:80
void leftButtonUpdate(bool _left_button)
Called when left button has changed.
Definition: H3DNavigation.h:99
void motionUpdate(int x, int y)
Called for each movement change.
Definition: H3DNavigation.h:105
H3DUniquePtr< MouseNavigation > mouse_nav
Devices which it is possible to use for navigation.
Definition: H3DNavigation.h:127
void scrollWheelUpdate(bool up)
Called when scroll wheel updates.
Definition: H3DNavigation.h:111
~H3DNavigation()
Destructor.
Definition: H3DNavigation.h:56
This abstract node type indicates that the concrete nodes which are instantiated based on it may be u...
Definition: X3DChildNode.h:42
The X3DViewpointNode node defines a specific location in the local coordinate system from which the u...
Definition: X3DViewpointNode.h:239
H3D API namespace.
Definition: Anchor.h:38