cgv
Loading...
Searching...
No Matches
vr_emulator Class Reference
Inheritance diagram for vr_emulator:
cgv::base::node cgv::render::drawable vr::vr_driver cgv::gui::provider cgv::gui::event_handler cgv::base::named cgv::base::traverse_policy cgv::base::traverse_policy cgv::base::base cgv::data::ref_counted cgv::reflect::self_reflection_tag

Public Member Functions

void update_reference_states (int i=-1)
 update a single renference state or all from base_orientations, base_positions and base_serials
 
void on_set (void *member_ptr)
 this callback is called when the set_void method has changed a member and can be overloaded in derived class
 
std::string get_driver_name () const
 return name of driver
 
bool is_installed () const
 return whether driver is installed
 
std::vector< void * > scan_vr_kits ()
 scan all connected vr kits and return a vector with their ids
 
vr::vr_kitreplace_by_index (int &index, vr::vr_kit *new_kit_ptr)
 scan all connected vr kits and return a vector with their ids
 
bool replace_by_pointer (vr::vr_kit *old_kit_ptr, vr::vr_kit *new_kit_ptr)
 scan all connected vr kits and return a vector with their ids
 
void put_up_direction (float *up_dir) const
 put a 3d up direction into passed array
 
float get_floor_level () const
 return the floor level relativ to the world origin
 
float get_action_zone_height () const
 return height of action zone in meters
 
void put_action_zone_bounary (std::vector< float > &boundary) const
 return a vector of floor points defining the action zone boundary as a closed polygon
 
bool check_for_button_toggle (cgv::gui::key_event &ke, int controller_index, vr::VRButtonStateFlags button, float touch_x=0.0f, float touch_y=0.0f)
 
bool handle_ctrl_key (cgv::gui::key_event &ke, bool &fst_ctrl, bool *snd_ctrl_ptr=0)
 
bool handle (cgv::gui::event &e)
 overload and implement this method to handle events
 
void stream_help (std::ostream &os)
 overload to stream help information to the given output stream
 
std::string get_type_name () const
 return the type name
 
void stream_stats (std::ostream &)
 overload to show the content of this object
 
bool init (cgv::render::context &ctx)
 this method is called after creation or recreation of the context, return whether all necessary functionality is supported
 
void init_frame (cgv::render::context &)
 this method is called in one pass over all drawables before the draw method
 
void draw (cgv::render::context &)
 overload to draw the content of this drawable
 
void finish_frame (cgv::render::context &)
 this method is called in one pass over all drawables after drawing
 
bool self_reflect (cgv::reflect::reflection_handler &srh)
 used for simple self reflection
 
void create_gui ()
 you must overload this for gui creation
 
- Public Member Functions inherited from cgv::base::node
 node (const std::string &name="")
 construct from name
 
node_ptr get_parent () const
 return the parent node
 
base_ptr get_root () const
 return the root node by traversing parents until no more parent is available
 
void set_parent (node_ptr _parent)
 set a new parent node
 
node_ptr get_node ()
 cast upward to node
 
const_node_ptr get_node_const ()
 cast upward to const node
 
- Public Member Functions inherited from cgv::base::named
 named (const std::string &name="")
 construct from name
 
const std::string & get_name () const
 return the parent node
 
void set_name (const std::string &_name)
 set a new parent node
 
named_ptr get_named ()
 cast upward to named
 
const_named_ptr get_named_const ()
 cast upward to const named
 
- Public Member Functions inherited from cgv::base::base
virtual std::string get_default_options () const
 overload to provide default options for registration
 
std::string get_name_or_type_name () const
 determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name()
 
virtual void on_register ()
 overload to handle register events that is sent after the instance has been registered
 
virtual void unregister ()
 overload to handle unregistration of instances
 
virtual bool on_exit_request ()
 overload to handle the appication exit request, return true if exiting is allowed and false otherwise
 
virtual data::ref_ptr< group, trueget_group ()
 perform downcast to group
 
virtual data::ref_ptr< const named, trueget_named_const () const
 perform downcast to const named
 
virtual data::ref_ptr< const node, trueget_node_const () const
 perform downcast to const node
 
virtual data::ref_ptr< const group, trueget_group_const () const
 perform downcast to const group
 
template<class T >
data::ref_ptr< T, truecast ()
 cast to arbitrary class, but use the casts to named, node and group from the interface
 
template<class T >
data::ref_ptr< const T, truecast_const ()
 const cast to arbitrary class, but use the casts to named, node and group from the interface
 
template<class T >
Tget_interface ()
 use dynamic type cast to check for the given interface
 
template<class T >
const Tget_const_interface () const
 use dynamic type cast to check for the given interface
 
virtual void update ()
 this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty.
 
virtual voidget_user_data () const
 this virtual method allows to pass application specific data for internal purposes
 
virtual std::string get_property_declarations ()
 return a semicolon separated list of property declarations
 
virtual bool set_void (const std::string &property, const std::string &value_type, const void *value_ptr)
 abstract interface for the setter of a dynamic property.
 
virtual bool get_void (const std::string &property, const std::string &value_type, void *value_ptr)
 abstract interface for the getter of a dynamic property.
 
virtual bool call_void (const std::string &method, const std::vector< std::string > &param_value_types, const std::vector< const void * > &param_value_ptrs, const std::string &result_type="", void *result_value_ptr=0)
 abstract interface to call an action
 
void set (const std::string &property, const char *value)
 specialization of set method to support const char* as strings
 
template<typename T >
void set (const std::string &property, const T &value)
 set a property of the element to the given value and perform standard conversions if necessary.
 
template<typename T >
T get (const std::string &property)
 query a property of the element and perform standard conversions if necessary.
 
void multi_set (const std::string &property_assignments, bool report_error=true)
 set several properties
 
bool is_property (const std::string &property_name, std::string *type_name=0)
 check if the given name specifies a property.
 
voidfind_member_ptr (const std::string &property_name, std::string *type_name=0)
 find a member pointer by name.
 
- Public Member Functions inherited from cgv::data::ref_counted
int get_ref_count () const
 read access to current count
 
- Public Member Functions inherited from cgv::render::drawable
 drawable ()
 default construction
 
void hide ()
 hide the drawable
 
void show ()
 show the drawable
 
bool is_visible () const
 check whether the drawable is visible
 
contextget_context () const
 access the current context. The context will be available latestly in the init method but not in the contructor.
 
void set_context (context *_ctx)
 set the current focus context, this should only be called by the context itself
 
viewfind_view_as_node (size_t view_idx=0) const
 convenience function to find the view control in the current hierarchy
 
bool get_world_location (int x, int y, const view &V, dvec3 &world_location, double *window_z_ptr=0) const
 use given view together with depth buffer of context in order to compute the world location of the point at mouse pointer location (x,y)
 
void post_redraw ()
 posts a redraw event to the current context if one is available
 
void force_redraw ()
 forces a redraw right now. This cannot be called from init, init_frame, draw, finish_draw, finish_frame and clear
 
virtual void resize (unsigned int w, unsigned int h)
 callback to announce resizing of the output window
 
virtual void finish_draw (context &)
 this method is called when the current drawable is left in a tree traversal that calls the draw method
 
virtual void after_finish (context &)
 this method is called in one pass over all drawables after finish frame
 
virtual void clear (context &)
 clear all objects living in the context like textures or display lists
 
- Public Member Functions inherited from cgv::base::traverse_policy
 traverse_policy (int _policy=TP_ALL+TP_STOP_ON_SUCCESS, bool _active=true, int _focus=-1)
 construct default traverse policy that visits everything
 
int get_policy () const
 return the policy without the stop on success flag
 
bool stop_on_success () const
 return whether to stop on success
 
bool stop_on_failure () const
 return whether to stop on failure
 
void set_policy (int _policy)
 set a new policy, always add stop on success flag if needed
 
int get_focused_child () const
 return the focused child or -1 if none is focused
 
void set_focused_child (int _focused_child)
 set the focused child
 
bool get_active () const
 return whether the current node is active
 
void set_active (bool _active)
 set the active flag of the current node
 
- Public Member Functions inherited from vr::vr_driver
virtual ~vr_driver ()
 declare destructor virtual to ensure it being called also for derived classes
 
void put_x_direction (float *x_dir) const
 put a 3d x direction into passed array
 
void put_calibration_transformation (float transformation_matrix[12]) const
 read access to calibration transformation stored as 3x4-matrix
 
void calibrate_pose (float(&pose)[12]) const
 in case calibration matrix is enabled, transform given pose in place
 
void enable_calibration_transformation ()
 enable use of calibration transformation
 
void disable_calibration_transformation ()
 disable use of calibration transformation
 
bool is_calibration_transformation_enabled () const
 check whether calibration transformation is enabled; false after construction and typically set to true when calibration is read from calibration file
 
virtual const std::map< std::string, vr_trackable_state > & get_tracking_reference_states () const
 provide read only access to tracking reference states
 
virtual const vr_tracking_system_infoget_tracking_system_info () const
 provide information on tracking system
 
- Public Member Functions inherited from cgv::gui::provider
void remove_element (cgv::base::base_ptr)
 remove a single element from the gui
 
void remove_all_elements ()
 this method removes all elements from the gui and can be used in a method that rebuilds the complete gui
 
cgv::base::base_ptr find_element (const std::string &name)
 find a gui element by name in the current group, return empty pointer if not found
 
template<typename T >
data::ref_ptr< view< T > > find_view (const T &value, int *idx_ptr=0)
 find a view of a given class member
 
template<typename T >
data::ref_ptr< control< T > > find_control (T &value, int *idx_ptr=0)
 find a control of a given class member
 
control_ptr find_control_void (void *value_ptr, int *idx_ptr)
 access to control of untyped member pointer
 
view_ptr find_view_void (void *value_ptr, int *idx_ptr)
 access to view of untyped member pointer
 
template<typename T >
void set_control_property (T &value, const std::string &property_name, const std::string &property_value)
 Set the property value of all controls of a given class member.
 
gui_group_ptr get_parent_group () const
 use the parent group to append to be managed elements that should be destroyed in a post_recreate_gui event
 
view_ptr add_view_void (const std::string &label, const void *value_ptr, const std::string &value_type, const std::string &gui_type, const std::string &options, const std::string &align)
 add a newly created view to the group
 
control_ptr add_control_void (const std::string &label, void *value_ptr, abst_control_provider *acp, const std::string &value_type, const std::string &gui_type, const std::string &options, const std::string &align, void *user_data)
 add a newly created control to the group
 
 provider ()
 default construction
 
 ~provider ()
 ensure to remove posted recreation callbacks
 
virtual std::string get_gui_name () const
 Derive a name for this instance that can be used in the gui as heading.
 
virtual std::string get_parent_type () const
 Returns the group type that should be used by the class embedding the gui of the provider.
 
virtual bool ensure_selected_in_tab_group_parent ()
 ensure that my UI is selected in the parent group in case this is a tab group, otherwise return false
 
virtual void update_member (void *member_ptr)
 call this to update all views and controls of a member
 
virtual void update_all_members ()
 call this to update all views and controls of all member
 
virtual std::string get_menu_path () const
 return a path in the main menu to select the gui
 
virtual shortcut get_shortcut () const
 return a shortcut to activate the gui without menu navigation
 
virtual void recreate_gui ()
 Recreate the gui of this instance right now.
 
virtual void post_recreate_gui ()
 delayed recreation of gui
 
void align (const std::string &_align)
 send pure alignment information
 
std::string concat_enum_def (const std::vector< std::string > &names, const std::string &additional_first_name="", const std::string &additional_last_name="")
 add a new group to the given parent group, not supported yet
 
gui_group_ptr add_object_gui (cgv::base::base_ptr object, const std::string &label, const std::string &group_type, const std::string &options, const std::string &align)
 
void integrate_object_gui (cgv::base::base_ptr object)
 call this in create_gui() function to integrate gui of another provider object by setting the parent group and parent provider of the other object
 
void inline_object_gui (cgv::base::base_ptr object)
 integrate (if not explicitly done before) and inline the gui of another object that must be derived from provider
 
gui_group_ptr add_group (const std::string &label, const std::string &group_type, const std::string &options="", const std::string &align="\n")
 add a newly created subgroup to the group
 
cgv::base::base_ptr add_decorator (const std::string &label, const std::string &decorator_type, const std::string &options="", const std::string &align="\n")
 add a newly created decorator to the group
 
button_ptr add_button (const std::string &label, const std::string &options="", const std::string &align="\n")
 use the current gui driver to append a new button with the given label
 
template<typename T >
data::ref_ptr< view< T > > add_view (const std::string &label, const T &value, const std::string &gui_type="", const std::string &options="", const std::string &align="\n")
 use this to add a new view to the gui with a given value type, gui type and init options
 
template<typename T >
data::ref_ptr< control< T > > add_control (const std::string &label, T &value, const std::string &gui_type="", const std::string &options="", const std::string &align="\n")
 use this to add a new control to the gui with a given value type, gui type and init options
 
template<typename T >
data::ref_ptr< control< T > > add_control (const std::string &label, control_provider< T > *provider, const std::string &gui_type="", const std::string &options="", const std::string &align="\n", void *user_data=0)
 use this to add a new control to the gui, where the control is implemented with a control provider class
 
template<typename T >
data::ref_ptr< control< T > > add_member_control (cgv::base::base *base_ptr, const std::string &label, T &value, const std::string &gui_type="", const std::string &options="", const std::string &align="\n")
 add control with callback to cgv::base::on_set method on cgv::gui::control::value_change
 
bool add_tree_node (const std::string &label, bool &toggle, int level, const std::string &a="\n", gui_group_ptr ggp=gui_group_ptr())
 add a collapsable node to the gui (deprecated)
 
template<typename T >
bool begin_tree_node (const std::string &label, const T &value, bool initial_visibility=false, const std::string &options="", gui_group_ptr ggp=gui_group_ptr())
 Begin a sub tree of a tree structured gui.
 
template<typename T >
void end_tree_node (const T &value)
 template specialization that allows to specify value reference plus node_instance by using the result of the function with_instance(value,idx) for the value argument finish a sub tree begun with begin_tree_node

 
template<typename T >
bool is_tree_node_visible (const T &value) const
 return whether the sub tree attached to a value is visible
 
template<typename T >
void set_tree_node_visibility (const T &value, bool is_visible)
 set the visibility status of sub tree attached to a value. This calls the post_recreate method if needed.
 
bool begin_tree_node_void (const std::string &label, const void *value_ptr, int index=-1, bool initial_visibility=false, const std::string &options="", gui_group_ptr ggp=gui_group_ptr())
 void version of the templated functions
 
void end_tree_node_void (const void *value_ptr, int index=-1)
 
bool is_tree_node_visible_void (const void *value_ptr, int index) const
 
void set_tree_node_visibility_void (const void *value_ptr, int index, bool is_visible)
 
template<typename T >
bool add_gui (const std::string &label, T &value, const std::string &gui_type="", const std::string &options="")
 Add a composed gui of the given gui_type for the given value.
 
- Public Member Functions inherited from cgv::gui::event_handler
 event_handler ()
 default construction
 
bool grab_focus ()
 grab the focus in all parent nodes
 
bool add_key_control (const std::string &property, const std::string &options, cgv::base::group_ptr group=cgv::base::group_ptr())
 add a key control for the given property with the given options.
 

Public Attributes

std::vector< vr_emulated_kit * > kits
 
unsigned screen_width
 
unsigned screen_height
 
unsigned counter
 
int nr_trackers = 2
 
cgv::vec3 body_position
 
float body_direction
 
float body_height
 
InteractionMode interaction_mode
 
cgv::quat hand_orientation [2]
 
cgv::quat coordinate_rotation
 
cgv::vec3 coordinate_displacement
 
std::vector< cgv::quatbase_orientations
 
std::vector< cgv::vec3base_positions
 
std::vector< std::string > base_serials
 

Static Public Attributes

static bool gamepad_connected = false
 

Protected Member Functions

void create_tracker_gui (vr_emulated_kit *kit, int i)
 
void create_trackable_gui (const std::string &name, vr::vr_trackable_state &ts)
 
void create_controller_gui (int i, vr::vr_controller_state &cs)
 
void add_new_kit ()
 
void timer_event (double t, double dt)
 
- Protected Member Functions inherited from cgv::base::base
virtual ~base ()
 make destructor virtual and not accessible from outside
 
- Protected Member Functions inherited from cgv::data::ref_counted
 ref_counted ()
 constructor initializes the count to 0
 
void set_ref_count (int c) const
 write access is also const to allow ref counted pointers to const instances
 
- Protected Member Functions inherited from vr::vr_driver
void set_index (unsigned _idx)
 write access to driver index is restricted to the register_driver() function
 
void register_vr_kit (void *handle, vr_kit *kit)
 call this method during scanning of vr kits. In case vr kit handle had been registered before, previous copy is deleted and a warning is issued
 
void replace_vr_kit (void *handle, vr_kit *kit)
 call this method during replacement of vr kits. In case vr kit handle had been registered before it is replaced, otherwise it is registered
 
vr_trackable_stateref_tracking_reference_state (const std::string &serial_nummer)
 provide reference to tracking reference states
 
void clear_tracking_reference_states ()
 remove all tracking reference states
 
void mark_tracking_references_as_untracked ()
 mark all tracking reference states as untracked
 
void set_calibration_transformation (const float new_transformation_matrix[12])
 write access to calibration transformation is reserved to classes derived from vr_calibration_base
 
 vr_driver ()
 protected constructor
 
- Protected Member Functions inherited from cgv::gui::provider
void set_parent (gui_group_ptr)
 the gui window sets the parent group through this method
 
void update_parent ()
 update the parent group
 
virtual void on_select ()
 called by selection_change_cb whenever the gui of this provider is selected
 
virtual void on_deselect ()
 called by selection_change_cb whenever the gui of this provider is deselected
 
virtual void selection_change_cb (cgv::base::base_ptr new_child, bool selected)
 this is called by the gui group when the selection changes
 

Protected Attributes

std::map< std::string, vr::vr_trackable_statetransformed_reference_states
 
bool installed
 
float body_speed
 
bool left_ctrl
 
bool right_ctrl
 
bool up_ctrl
 
bool down_ctrl
 
bool home_ctrl
 
bool end_ctrl
 
bool pgup_ctrl
 
bool pgdn_ctrl
 
bool is_alt
 
int current_kit_index
 
- Protected Attributes inherited from cgv::base::node
node_ptr parent
 store a pointer to the parent node
 
- Protected Attributes inherited from cgv::base::named
std::string name
 store the name as a string
 
- Protected Attributes inherited from cgv::base::traverse_policy
TraversePolicy policy
 
bool active
 
int focus
 
- Protected Attributes inherited from vr::vr_driver
vr_tracking_system_info tracking_system_info
 store tracking system info to be filled by driver implementations
 
- Protected Attributes inherited from cgv::gui::provider
gui_group_ptr parent_group
 driver specific handle for the group gui element managing the gui built in the provider
 
providerparent_provider
 

Additional Inherited Members

- Static Public Member Functions inherited from cgv::gui::provider
template<typename T >
static bool & ref_tree_node_visible_flag (const T &value)
 return a reference to the boolean flag, that tells whether the tree node for the passed value is visible
 
static bool & ref_tree_node_visible_flag_void (const void *value_ptr, int index=-1)
 
- Static Protected Member Functions inherited from cgv::base::base
template<class T >
static data::ref_ptr< T, truecast_dynamic (base *b)
 use dynamic cast for upcast to given class
 

Detailed Description

Definition at line 82 of file vr_emulator.h.

Constructor & Destructor Documentation

◆ vr_emulator()

vr_emulator::vr_emulator ( )

Definition at line 264 of file vr_emulator.cxx.

Member Function Documentation

◆ add_new_kit()

void vr_emulator::add_new_kit ( )
protected

Definition at line 455 of file vr_emulator.cxx.

◆ check_for_button_toggle()

bool vr_emulator::check_for_button_toggle ( cgv::gui::key_event ke,
int  controller_index,
vr::VRButtonStateFlags  button,
float  touch_x = 0.0f,
float  touch_y = 0.0f 
)

Definition at line 546 of file vr_emulator.cxx.

◆ create_controller_gui()

void vr_emulator::create_controller_gui ( int  i,
vr::vr_controller_state cs 
)
protected

◆ create_gui()

◆ create_trackable_gui()

void vr_emulator::create_trackable_gui ( const std::string &  name,
vr::vr_trackable_state ts 
)
protected

Definition at line 758 of file vr_emulator.cxx.

◆ create_tracker_gui()

void vr_emulator::create_tracker_gui ( vr_emulated_kit kit,
int  i 
)
protected

Definition at line 796 of file vr_emulator.cxx.

◆ draw()

void vr_emulator::draw ( cgv::render::context )
virtual

overload to draw the content of this drawable

Reimplemented from cgv::render::drawable.

Definition at line 707 of file vr_emulator.cxx.

◆ finish_frame()

void vr_emulator::finish_frame ( cgv::render::context )
virtual

this method is called in one pass over all drawables after drawing

Reimplemented from cgv::render::drawable.

Definition at line 712 of file vr_emulator.cxx.

◆ get_action_zone_height()

float vr_emulator::get_action_zone_height ( ) const
virtual

return height of action zone in meters

Implements vr::vr_driver.

Definition at line 531 of file vr_emulator.cxx.

◆ get_driver_name()

std::string vr_emulator::get_driver_name ( ) const
virtual

return name of driver

Implements vr::vr_driver.

Definition at line 442 of file vr_emulator.cxx.

References cgv::base::named::name.

◆ get_floor_level()

float vr_emulator::get_floor_level ( ) const
virtual

return the floor level relativ to the world origin

Implements vr::vr_driver.

Definition at line 525 of file vr_emulator.cxx.

◆ get_type_name()

std::string vr_emulator::get_type_name ( ) const
virtual

return the type name

Reimplemented from cgv::base::node.

Definition at line 689 of file vr_emulator.cxx.

◆ handle()

◆ handle_ctrl_key()

bool vr_emulator::handle_ctrl_key ( cgv::gui::key_event ke,
bool &  fst_ctrl,
bool *  snd_ctrl_ptr = 0 
)

Definition at line 566 of file vr_emulator.cxx.

◆ init()

bool vr_emulator::init ( cgv::render::context )
virtual

this method is called after creation or recreation of the context, return whether all necessary functionality is supported

Reimplemented from cgv::render::drawable.

Definition at line 700 of file vr_emulator.cxx.

◆ init_frame()

void vr_emulator::init_frame ( cgv::render::context ctx)
virtual

this method is called in one pass over all drawables before the draw method

Reimplemented from cgv::render::drawable.

Definition at line 704 of file vr_emulator.cxx.

◆ is_installed()

bool vr_emulator::is_installed ( ) const
virtual

return whether driver is installed

Implements vr::vr_driver.

Definition at line 448 of file vr_emulator.cxx.

Referenced by replace_by_index(), replace_by_pointer(), and scan_vr_kits().

◆ on_set()

void vr_emulator::on_set ( void *  member_ptr)
virtual

this callback is called when the set_void method has changed a member and can be overloaded in derived class

Reimplemented from cgv::base::base.

Definition at line 425 of file vr_emulator.cxx.

References cgv::render::drawable::post_redraw(), cgv::gui::provider::update_member(), and update_reference_states().

◆ put_action_zone_bounary()

void vr_emulator::put_action_zone_bounary ( std::vector< float > &  boundary) const
virtual

return a vector of floor points defining the action zone boundary as a closed polygon

Implements vr::vr_driver.

Definition at line 537 of file vr_emulator.cxx.

◆ put_up_direction()

void vr_emulator::put_up_direction ( float *  up_dir) const
virtual

put a 3d up direction into passed array

Implements vr::vr_driver.

Definition at line 519 of file vr_emulator.cxx.

◆ replace_by_index()

vr::vr_kit * vr_emulator::replace_by_index ( int &  index,
vr::vr_kit new_kit_ptr 
)
virtual

scan all connected vr kits and return a vector with their ids

Implements vr::vr_driver.

Definition at line 488 of file vr_emulator.cxx.

References is_installed(), and vr::vr_driver::replace_vr_kit().

◆ replace_by_pointer()

bool vr_emulator::replace_by_pointer ( vr::vr_kit old_kit_ptr,
vr::vr_kit new_kit_ptr 
)
virtual

scan all connected vr kits and return a vector with their ids

Implements vr::vr_driver.

Definition at line 504 of file vr_emulator.cxx.

References vr::get_vr_kit(), is_installed(), and vr::vr_driver::replace_vr_kit().

◆ scan_vr_kits()

std::vector< void * > vr_emulator::scan_vr_kits ( )
virtual

scan all connected vr kits and return a vector with their ids

Implements vr::vr_driver.

Definition at line 478 of file vr_emulator.cxx.

References is_installed().

◆ self_reflect()

bool vr_emulator::self_reflect ( cgv::reflect::reflection_handler )
virtual

used for simple self reflection

is used by default implementation of set_void, get_void and get_property_declarations

The overloaded implementation is used by the default implementations of set_void, get_void and get_property_declarations with corresponding reflection handlers. The default implementation of self_reflect is empty.

Reimplemented from cgv::base::base.

Definition at line 715 of file vr_emulator.cxx.

References cgv::reflect::reflection_handler::reflect_member().

◆ stream_help()

void vr_emulator::stream_help ( std::ostream &  os)
virtual

overload to stream help information to the given output stream

Implements cgv::gui::event_handler.

Definition at line 673 of file vr_emulator.cxx.

◆ stream_stats()

void vr_emulator::stream_stats ( std::ostream &  os)
virtual

overload to show the content of this object

Reimplemented from cgv::base::base.

Definition at line 694 of file vr_emulator.cxx.

References cgv::utils::get_element().

◆ timer_event()

void vr_emulator::timer_event ( double  t,
double  dt 
)
protected

Definition at line 317 of file vr_emulator.cxx.

◆ update_reference_states()

void vr_emulator::update_reference_states ( int  i = -1)

update a single renference state or all from base_orientations, base_positions and base_serials

Definition at line 300 of file vr_emulator.cxx.

References vr::vr_trackable_state::pose, vr::vr_driver::ref_tracking_reference_state(), vr::vr_trackable_state::status, and vr::VRS_TRACKED.

Referenced by on_set().

Member Data Documentation

◆ base_orientations

std::vector<cgv::quat> vr_emulator::base_orientations

Definition at line 102 of file vr_emulator.h.

◆ base_positions

std::vector<cgv::vec3> vr_emulator::base_positions

Definition at line 103 of file vr_emulator.h.

◆ base_serials

std::vector<std::string> vr_emulator::base_serials

Definition at line 104 of file vr_emulator.h.

◆ body_direction

float vr_emulator::body_direction

Definition at line 93 of file vr_emulator.h.

◆ body_height

float vr_emulator::body_height

Definition at line 94 of file vr_emulator.h.

◆ body_position

cgv::vec3 vr_emulator::body_position

Definition at line 92 of file vr_emulator.h.

◆ body_speed

float vr_emulator::body_speed
protected

Definition at line 113 of file vr_emulator.h.

◆ coordinate_displacement

cgv::vec3 vr_emulator::coordinate_displacement

Definition at line 100 of file vr_emulator.h.

◆ coordinate_rotation

cgv::quat vr_emulator::coordinate_rotation

Definition at line 99 of file vr_emulator.h.

◆ counter

unsigned vr_emulator::counter

Definition at line 90 of file vr_emulator.h.

◆ current_kit_index

int vr_emulator::current_kit_index
protected

Definition at line 123 of file vr_emulator.h.

◆ down_ctrl

bool vr_emulator::down_ctrl
protected

Definition at line 115 of file vr_emulator.h.

◆ end_ctrl

bool vr_emulator::end_ctrl
protected

Definition at line 116 of file vr_emulator.h.

◆ gamepad_connected

bool vr_emulator::gamepad_connected = false
static

Definition at line 88 of file vr_emulator.h.

◆ hand_orientation

cgv::quat vr_emulator::hand_orientation[2]

Definition at line 96 of file vr_emulator.h.

◆ home_ctrl

bool vr_emulator::home_ctrl
protected

Definition at line 116 of file vr_emulator.h.

◆ installed

bool vr_emulator::installed
protected

Definition at line 112 of file vr_emulator.h.

◆ interaction_mode

InteractionMode vr_emulator::interaction_mode

Definition at line 95 of file vr_emulator.h.

◆ is_alt

bool vr_emulator::is_alt
protected

Definition at line 117 of file vr_emulator.h.

◆ kits

std::vector<vr_emulated_kit*> vr_emulator::kits

Definition at line 87 of file vr_emulator.h.

◆ left_ctrl

bool vr_emulator::left_ctrl
protected

Definition at line 115 of file vr_emulator.h.

◆ nr_trackers

int vr_emulator::nr_trackers = 2

Definition at line 91 of file vr_emulator.h.

◆ pgdn_ctrl

bool vr_emulator::pgdn_ctrl
protected

Definition at line 116 of file vr_emulator.h.

◆ pgup_ctrl

bool vr_emulator::pgup_ctrl
protected

Definition at line 116 of file vr_emulator.h.

◆ right_ctrl

bool vr_emulator::right_ctrl
protected

Definition at line 115 of file vr_emulator.h.

◆ screen_height

unsigned vr_emulator::screen_height

Definition at line 89 of file vr_emulator.h.

◆ screen_width

unsigned vr_emulator::screen_width

Definition at line 89 of file vr_emulator.h.

◆ transformed_reference_states

std::map<std::string, vr::vr_trackable_state> vr_emulator::transformed_reference_states
mutableprotected

Definition at line 109 of file vr_emulator.h.

◆ up_ctrl

bool vr_emulator::up_ctrl
protected

Definition at line 115 of file vr_emulator.h.


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