OpenTracker

An Open Architecture for Reconfigurable Tracking based on XML | Contact

ot::SpaceMouseModule Class Reference

#include <SpaceMouseModule.h>

Inheritance diagram for ot::SpaceMouseModule:

Inheritance graph
[legend]
Collaboration diagram for ot::SpaceMouseModule:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SpaceMouseModule ()
virtual ~SpaceMouseModule ()
virtual NodecreateNode (const std::string &name, StringTable &attributes)
virtual void close ()
virtual void start ()
virtual void run ()
virtual void pushEvent ()

Public Attributes

int stop

Static Public Attributes

static HWND hWndSpaceMouse = NULL

Protected Attributes

NodeVector nodes

Private Member Functions

void processMessages ()

Detailed Description

Definition at line 149 of file SpaceMouseModule.h.


Constructor & Destructor Documentation

ot::SpaceMouseModule::SpaceMouseModule (  )  [inline]

constructor method.

Definition at line 159 of file SpaceMouseModule.h.

ot::SpaceMouseModule::~SpaceMouseModule (  )  [virtual]

Destructor method, clears nodes member.

Definition at line 84 of file SpaceMouseModule.cxx.

References nodes.


Member Function Documentation

void ot::SpaceMouseModule::close (  )  [virtual]

closes SpaceMouse dynamic library

Reimplemented from ot::ThreadModule.

Definition at line 114 of file SpaceMouseModule.cxx.

References ot::devHdl, ot::Module::isInitialized(), ot::ThreadModule::lock(), ot::Module::stop(), and ot::ThreadModule::unlock().

Node * ot::SpaceMouseModule::createNode ( const std::string &  name,
StringTable attributes 
) [virtual]

This method is called to construct a new Node.

It compares name to the SpaceMouseSource element name, and if it matches creates a new SpaceMouseSource node.

Parameters:
name reference to string containing element name refenrence to StringTable containing attribute values
Returns:
pointer to new Node or NULL. The new Node must be allocated with new !

Implements ot::NodeFactory.

Definition at line 90 of file SpaceMouseModule.cxx.

References ot::Module::initialized, and nodes.

void ot::SpaceMouseModule::pushEvent (  )  [virtual]

pushes events into the tracker tree.

Checks all SpaceMouseSources and pushes new events, if a SpaceMouseSource fires. The events store structure with position and status of the buttons.

Reimplemented from ot::Module.

Definition at line 220 of file SpaceMouseModule.cxx.

References ot::SpaceMouseSource::changed, ot::SpaceMouseSource::event, ot::Module::isInitialized(), ot::ThreadModule::lock(), nodes, ot::SpaceMouseSource::push(), ot::SpaceMouseSource::tmpEvent, and ot::ThreadModule::unlock().

void ot::SpaceMouseModule::run (  )  [virtual]

the work method for the module thread.

This is executed by the new module thread. In this class it does nothing but subclasses should override it to add their implementation.

Reimplemented from ot::ThreadModule.

Definition at line 131 of file SpaceMouseModule.cxx.

References ot::devHdl, hWndSpaceMouse, ot::Module::init(), ot::Module::initialized, LOG_ACE_ERROR(), ot::oData, processMessages(), ot::Module::stop(), and ot::WndSpaceMouseProc().

void ot::SpaceMouseModule::start (  )  [virtual]

opens SpaceMouse dynamic library (SIAPPDLL.DLL)

Reimplemented from ot::ThreadModule.

Definition at line 105 of file SpaceMouseModule.cxx.

References ot::Module::isInitialized(), nodes, and ot::ThreadModule::start().


Member Data Documentation

Definition at line 191 of file SpaceMouseModule.h.

Referenced by processMessages(), and run().

list of SpaceMouseSource nodes in the tree

Definition at line 154 of file SpaceMouseModule.h.

Referenced by createNode(), processMessages(), pushEvent(), start(), and ~SpaceMouseModule().

flag to stop the thread

Definition at line 184 of file SpaceMouseModule.h.


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

copyright (c) 2006 Graz University of Technology