![]() |
vrecko
virtual reality framework
|
Input Connector class. More...
#include <InputConnector.h>
Public Member Functions | |
InputConnector () | |
~InputConnector () | |
bool | initialize (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parametersNode) |
Core initialization. More... | |
virtual void | processEvent (const std::string &input_name, VreckoMessage *value) |
Processing of all incoming events. More... | |
void | processAction (int sensorNumber, VreckoMessage *value, const std::string &input_name) |
void | ProcessOrientation (int sensorNumber, VreckoMessage *value, const std::string &input_name) |
void | processSensorTransformation (int sensorNumber, VreckoMessage *value, const std::string &input_name) |
void | update () |
This method is called periodically in case this instance is registered in Scheduler. More... | |
![]() | |
virtual | ~Ability () |
copy constructor More... | |
const std::string & | getName () const |
Returns the ability name. More... | |
void | setPluginName (const char *pName) |
Sets the plugin name. More... | |
const std::string & | getPluginName (void) const |
Returns the plugin name. More... | |
const std::string & | getID (void) const |
Returns ability the identification string. More... | |
void | setID (const char *pID) |
(Internal usage, most people should not need to use it.) Sets the ability ID. More... | |
virtual void | clean (void) |
void | setOwner (BaseClass *owner) |
(Internal usage, most people should not need to use it.) Sets ability owner. *l This method is called automatically in World::createAbility(), so one would (almost?) never want to use it directly. More... | |
BaseClass * | getOwner (void) |
Returns the ability owner. More... | |
virtual ParameterVector * | getParameterVector (void) |
Return vector of the parameter description. More... | |
bool | isUpdated (void) |
Set update flag. More... | |
virtual const std::string & | getSenderString (void) |
Returns the identification string of sender. More... | |
![]() | |
BaseClass (const char *startingSenderString) | |
The main constructor. More... | |
BaseClass (BaseClass &bc) | |
Copy constructor. Probably not really used. More... | |
virtual | ~BaseClass () |
Destructor. More... | |
virtual bool | initializeFromString (const char *xmlString) |
Helper method that allows to initialize ability from a XML-formatted string. More... | |
virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMNode * | saveXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *) |
Save current setting into a XML node. More... | |
bool | inputPresent (const std::string &name) |
Returns true if input pin (not request inputpin ) with given name is present. More... | |
bool | outputPresent (const std::string &name) |
Returns true if output pin (not request output pin) with given name is present. More... | |
void | addInputPin (InputPinBase *pin) |
Adds an input pin. More... | |
void | removeInputPin (InputPinBase *pin) |
Removes an input pin. More... | |
void | addOutputPin (OutputPinBase *pin) |
Adds an output pin. More... | |
void | removeOutputPin (OutputPinBase *pin) |
Removes and output pin. More... | |
void | addRequestInputPin (RequestInputPinBase *pin) |
Adds a request input pin. More... | |
void | removeRequestInputPin (RequestInputPinBase *pin) |
Removes a request input pin. More... | |
void | addRequestOutputPin (RequestOutputPinBase *pin) |
Adds a request output pin. More... | |
void | removeRequestOutputPin (RequestOutputPinBase *pin) |
Removes a request output pin. More... | |
bool | addNotification (BaseClass *receiver, unsigned long notificationTypes) |
Registers an observer that will be notified if a specific change occurs. More... | |
bool | removeNotification (BaseClass *receiver, unsigned long notificationTypes=NOTIFICATION_ALL) |
Unregisters a previously registered observer. More... | |
virtual VreckoMessage * | processRequest (const std::string &request_input_name, VreckoMessage *pMessage) |
Internal method for processing the requests. More... | |
void | reportError (const std::string &error) |
Print error message. More... | |
void | setPriority (long int pr) |
Sets the priority. (Possible problems - read the full description for more info) More... | |
long int | getPriority (void) const |
Returns current object priority. More... | |
void | setAttribute (const std::string &attr_name, int attr_value) |
Sets an attribute value. More... | |
int | getAttribute (const std::string &attr_name) |
Returns attribute value. More... | |
int | getAttribute (const char *attr_name) |
Returns attribute value. More... | |
void | deleteAttribute (const std::string &attr_name) |
Delete an attribute. More... | |
void | setSceneFile (const std::string &sceneFileName) |
Set the name of the file this component was in (and possibly will be saved to). More... | |
const std::string & | getSceneFile () const |
Get the name of the file this component was in. More... | |
virtual void | preInitialize (void) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
virtual void | postInitialize (void) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
virtual bool | loadXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
virtual bool | loadXMLParameters (const char *xmlString) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
InputPinBase * | getInputPin (const char *strName) |
Returns pointer to an input pin with specified name. More... | |
OutputPinBase * | getOutputPin (const char *strName) |
Returns pointer to an output pin with specified name. More... | |
RequestInputPinBase * | getRequestInputPin (const char *strName) |
Returns pointer to an request input pin with specified name. More... | |
RequestOutputPinBase * | getRequestOutputPin (const char *strName) |
Returns pointer to an input pin with specified name. More... | |
Static Public Member Functions | |
static int | parseSensorNumber (const std::string &input_name) |
parse number from input name More... | |
static std::string | parseEventName (const std::string &input_name) |
parse event name from input name More... | |
Protected Member Functions | |
bool | parseInputDevice (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *deviceNode) |
parse one device - load parameters from XML More... | |
bool | parseInputMappingPair (string deviceID, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *pairNode) |
parse one mapping pair More... | |
bool | parseSenderReceiver (std::string sr, bool isSender, BaseClass **pEntity, bool bNoErrorOutput) |
std::vector < XERCES_CPP_NAMESPACE_QUALIFIER DOMNode * > * | getChildNodesbyName (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parentNode, const string childNodeName) |
returns all child with given name More... | |
bool | parseReceiverAbility (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *ChainPairNode) |
bool | parseOutputMappingPair (vrecko::Ability *receiverAbility, std::string receiverString, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *pairNode) |
bool | processChainofResponsibility (ReceiversList *receivers, MessageBool *value) |
DECLARE_OUTPUT (Sensor_0_position, MessageVec3) | |
DECLARE_OUTPUT (Sensor_0_orientation, MessageQuat) | |
DECLARE_OUTPUT (Sensor_1_position, MessageVec3) | |
DECLARE_OUTPUT (Sensor_1_orientation, MessageQuat) | |
DECLARE_REQUEST_INPUT (SensorPosition, MessageInt, MessageVec3) | |
DECLARE_REQUEST_INPUT (SensorOrientation, MessageInt, MessageQuat) | |
DECLARE_REQUEST_INPUT (SensorTransformation, MessageInt, MessageSensorTransformation) | |
DECLARE_REQUEST_INPUT (MenuSensorPosition, MessageInt, MessageVec3) | |
DECLARE_REQUEST_INPUT (SelectedObjectID, MessageInt, MessageObjectID) | |
DECLARE_REQUEST_OUTPUT (SelectionByPointerPos, MessageVec3, MessageObjectID) | |
![]() | |
Ability (const char *theAbilityName) | |
![]() | |
bool | sendNotifications (unsigned long notificationType, void *notificationData) |
virtual int | processNotification (BaseClass *sender, unsigned long notificationType, void *notificationData) |
Process an incoming notification. More... | |
IOPinBase * | findPinInList (const char *strName, PinList *pinList) |
Internal method to find a given pin in a given list. More... | |
Protected Attributes | |
osg::Vec3 | _lastKnownPositions [SENSOR_MAX_COUNT] |
osg::Quat | _lastKnownOrientations [SENSOR_MAX_COUNT] |
unsigned int | _lastKnownPointedObjects [SENSOR_MAX_COUNT] |
osg::Vec3 | _lastCheckedPositions [SENSOR_MAX_COUNT] |
std::map< string, string > | _actionMap |
std::map< string, ReceiversList * > | _outputMappingsWithPriorities |
![]() | |
BaseClass * | pOwner |
Pointer to the owner of this ability. (Almost?) always an EnvironmentObject class. More... | |
std::vector< std::string > | parameterString |
bool | updated |
Update flag. It is used for save. More... | |
![]() | |
AttributeMap | attribute |
MTReadWriteLock | attributeLock |
std::string | senderString |
MTLock | notificationsLock |
std::vector < NOTIFICATION_DESCRIPTION > | notifications |
long int | priority |
const std::string * | sceneFile |
PinList | inputPinsList |
PinList | outputPinsList |
PinList | requestInputPinsList |
PinList | requestOutputPinsList |
Additional Inherited Members | |
![]() | |
typedef std::vector < ParameterStruct > | ParameterVector |
Vector of the description of parameters. More... | |
![]() | |
typedef std::map< std::string, int > | AttributeMap |
Attributes. More... | |
typedef std::vector < osg::ref_ptr< IOPinBase > > | PinList |
Input Connector class.
Connector between input devices (Optitrack, Kinect, mouse, 3Dmouse, ...) and other VRECKO abilities Should simplify communication between VRECKO parts Manage chain of responsibilities - who will receive (and parse) message first, who (if) next, ...
APInputConnector::InputConnector::InputConnector | ( | ) |
APInputConnector::InputConnector::~InputConnector | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
returns all child with given name
Only level 1 parsing
parentNode | parent node |
childNodeName | name of search node |
|
virtual |
Core initialization.
It is important to place the initializing code here, because especially in the case of Abilities, this is the point when the ID and owner is known and we can react accordingly. (This information is unknown in the constructor.)
You will probably want to override this method. This method supersedes the original preInitialize() / loadXMLParameters() / postInitialize() methods, which are now obsolete, but for the sake of compatibility they are called from the initialize() if the method is not overridden. You can override it and forget about pre/postInitialize() or loadParameters() - it's now an old solution.
parameters | (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *) Pointer to a XML DOM node, might be NULL if no parameters were specified. The ability should initialize to default values in that case. |
Reimplemented from vrecko::BaseClass.
|
static |
parse event name from input name
|
protected |
parse one device - load parameters from XML
process all mapping pairs
deviceNode | node containing informations about one input device |
|
protected |
parse one mapping pair
Reads data from given node, parses it, creates input and output pins, interconnections
pairNode | node containing informations about one mapping pair |
|
protected |
|
protected |
|
protected |
|
static |
parse number from input name
void APInputConnector::InputConnector::processAction | ( | int | sensorNumber, |
VreckoMessage * | value, | ||
const std::string & | input_name | ||
) |
|
protected |
|
virtual |
Processing of all incoming events.
Reimplemented from vrecko::BaseClass.
void APInputConnector::InputConnector::ProcessOrientation | ( | int | sensorNumber, |
VreckoMessage * | value, | ||
const std::string & | input_name | ||
) |
void APInputConnector::InputConnector::processSensorTransformation | ( | int | sensorNumber, |
VreckoMessage * | value, | ||
const std::string & | input_name | ||
) |
|
virtual |
This method is called periodically in case this instance is registered in Scheduler.
The method is called periodically at specified frequency or every frame. Use the Scheduler::addEntity() method to register your class and set the frequency.
Reimplemented from vrecko::BaseClass.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |