Navigation and Viewing Framework
Configurable navigation and viewing setups for various display types in the VR lab
 All Classes Namespaces Files Functions Variables Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lib-server.ApplicationManager.ApplicationManager Class Reference

Class to manage all navigations and users in the viewing setup. More...

Public Member Functions

def __init__
 Custom constructor. More...
 
def create_navigation
 Creates a Navigation instance and adds it to the list of navigations. More...
 
def create_standard_user
 Create a standard (non-HMD) user. More...
 
def create_border_observer
 Creates a BorderObserver instance for a Platform and adds a User to it. More...
 
def run
 Starts the shell and the viewer. More...
 
def list_variables
 Lists the variables of the shell. More...
 

Public Attributes

 background_texture
 The skymap to be used for all pipelines. More...
 
 SCENEGRAPH
 Reference to the scenegraph. More...
 
 NET_TRANS_NODE
 Reference to the net transformation node. More...
 
 user_list
 List of all created user instances. More...
 
 navigation_list
 List of all created Navigation instances. More...
 
 border_observer_list
 List of all created BorderObserver instances. More...
 
 slot_manager
 A SlotManager instance in order to handle the shutter timings of users. More...
 
 config_file_parser
 Instance of ConfigFileParser in order to load and parse an XML configuration file. More...
 
 server_transform
 Transform node representing the position and orientation of the server control monitor. More...
 
 eye
 Transform node representing the server's eye. More...
 
 screen
 Screen node representing the server's screen. More...
 
 camera
 Camera used for the server control monitor. More...
 
 window
 Window displaying the server control view. More...
 
 pipeline
 Pipeline repsonsible for rendering the server control monitor. More...
 

Static Public Attributes

tuple viewer = avango.gua.nodes.Viewer()
 The guacamole viewer to be used for rendering. More...
 
tuple shell = GuaVE()
 The GuaVE shell to be used when the application is running. More...
 

Detailed Description

Class to manage all navigations and users in the viewing setup.

Creates Navigation, OVRUser, PowerWallUser and BorderObserver instances according to the preferences read in from a XML configuration file. Therefore, an instance of ConfigFileParser is created and used.

Constructor & Destructor Documentation

def lib-server.ApplicationManager.ApplicationManager.__init__ (   self,
  NET_TRANS_NODE,
  SCENEGRAPH,
  CONFIG_FILE 
)

Custom constructor.

Parameters
NET_TRANS_NODEReference to the net transformation node.
SCENEGRAPHReference to the scenegraph.
CONFIG_FILEPath to the XML configuration file.

Member Function Documentation

def lib-server.ApplicationManager.ApplicationManager.create_border_observer (   self,
  CHECKED_BORDERS,
  USER_INSTANCE,
  PLATFORM_INSTANCE 
)

Creates a BorderObserver instance for a Platform and adds a User to it.

Parameters
CHECKED_BORDERSA list of four booleans to indicate which borders of the platform should be checked: [display_left_border, display_right_border, display_front_border, display_back_border]
USER_INSTANCEA first User to be appended to the new BorderObserver.
PLATFORM_INSTANCEThe platform to which the BorderObserver should belong to.
def lib-server.ApplicationManager.ApplicationManager.create_navigation (   self,
  INPUT_DEVICE_TYPE,
  INPUT_DEVICE_NAME,
  STARTING_MATRIX,
  PLATFORM_SIZE,
  SCALE,
  ANIMATE_COUPLING,
  MOVEMENT_TRACES,
  INVERT,
  NO_TRACKING_MAT,
  GROUND_FOLLOWING_SETTINGS,
  TRANSMITTER_OFFSET,
  DISPLAYS,
  AVATAR_TYPE,
  CONFIG_FILE,
  DEVICE_TRACKING_NAME = None 
)

Creates a Navigation instance and adds it to the list of navigations.

Parameters
INPUT_DEVICE_TYPEType of the input device to be associated (e.g. XBoxController" or "OldSpheron")
INPUT_DEVICE_NAMEName of the input device values as chosen in daemon.
STARTING_MATRIXInitial platform matrix for the new device.
PLATFORM_SIZEPhysical size of the platform in meters. [width, depth]
SCALEStart scaling of the platform.
ANIMATE_COUPLINGBoolean indicating if an animation should be done when a coupling of Navigations is initiated.
MOVEMENT_TRACESBoolean indicating if the platform should leave traces behind.
INVERTBoolean indicating if the input values should be inverted.
NO_TRACKING_MATMatrix which should be applied if no tracking is available.
GROUND_FOLLOWING_SETTINGSSetting list for the GroundFollowing instance: [activated, ray_start_height]
TRANSMITTER_OFFSETThe matrix offset that is applied to the values delivered by the tracking system.
DISPLAYSThe names of the displays that belong to this navigation.
AVATAR_TYPEA string that determines what kind of avatar representation is to be used ["joseph", "joseph_table", "kinect"].
CONFIG_FILEThe path to the config file that is used.
DEVICE_TRACKING_NAMEName of the device's tracking sensor as chosen in daemon if available.
def lib-server.ApplicationManager.ApplicationManager.create_standard_user (   self,
  VIP,
  GLASSES_ID,
  PLATFORM_ID,
  HEADTRACKING_TARGET_NAME,
  WARNINGS 
)

Create a standard (non-HMD) user.

Parameters
VIPBoolean indicating if the user to be created is a vip.
GLASSES_IDID of the shutter glasses worn by the user.
PLATFORM_IDThe ID of the platform this user belongs to.
HEADTRACKING_TARGET_NAMEThe headtracking target identifier attached to this user
WARNINGSBoolean indicating whether to display warning planes when the user gets close to the platform borders.
def lib-server.ApplicationManager.ApplicationManager.list_variables (   self)

Lists the variables of the shell.

def lib-server.ApplicationManager.ApplicationManager.run (   self,
  LOCALS,
  GLOBALS 
)

Starts the shell and the viewer.

Parameters
LOCALSLocal variables.
GLOBALSGlobal variables.

Member Data Documentation

lib-server.ApplicationManager.ApplicationManager.background_texture

The skymap to be used for all pipelines.

lib-server.ApplicationManager.ApplicationManager.border_observer_list

List of all created BorderObserver instances.

lib-server.ApplicationManager.ApplicationManager.camera

Camera used for the server control monitor.

lib-server.ApplicationManager.ApplicationManager.config_file_parser

Instance of ConfigFileParser in order to load and parse an XML configuration file.

lib-server.ApplicationManager.ApplicationManager.eye

Transform node representing the server's eye.

lib-server.ApplicationManager.ApplicationManager.navigation_list

List of all created Navigation instances.

lib-server.ApplicationManager.ApplicationManager.NET_TRANS_NODE

Reference to the net transformation node.

lib-server.ApplicationManager.ApplicationManager.pipeline

Pipeline repsonsible for rendering the server control monitor.

lib-server.ApplicationManager.ApplicationManager.SCENEGRAPH

Reference to the scenegraph.

lib-server.ApplicationManager.ApplicationManager.screen

Screen node representing the server's screen.

lib-server.ApplicationManager.ApplicationManager.server_transform

Transform node representing the position and orientation of the server control monitor.

lib-server.ApplicationManager.ApplicationManager.shell = GuaVE()
static

The GuaVE shell to be used when the application is running.

lib-server.ApplicationManager.ApplicationManager.slot_manager

A SlotManager instance in order to handle the shutter timings of users.

lib-server.ApplicationManager.ApplicationManager.user_list

List of all created user instances.

lib-server.ApplicationManager.ApplicationManager.viewer = avango.gua.nodes.Viewer()
static

The guacamole viewer to be used for rendering.

lib-server.ApplicationManager.ApplicationManager.window

Window displaying the server control view.


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