vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Message.h File Reference
#include <osg/Referenced>
#include <osg/Timer>
#include <osg/Vec2>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osg/Quat>
#include <osg/Matrix>
#include <osg/Node>
#include <vrecko/Export>
#include <fstream>
#include <string>
#include <map>
#include <vector>
#include <xercesc/dom/DOMNode.hpp>

Go to the source code of this file.

Classes

class  vrecko::VreckoMessage
 
class  vrecko::MessageVoid
 
class  vrecko::MessageSensorTransformation
 

Namespaces

namespace  vrecko
 Second level of space paritioning queries - detailed searching inside object.
 

Macros

#define VRECKO_START_MESSAGE_BASE(messageName, dataType)
 
#define VRECKO_START_MESSAGE_EXTENDED(messageName, dataType)
 
#define VRECKO_END_MESSAGE   };
 

Enumerations

enum  vrecko::EventType { vrecko::NORMAL_EVENT, vrecko::PRIORITY_EVENT, vrecko::EXPRESS_EVENT }
 Type of the event. More...
 

Functions

virtual bool vrecko::setValueFromString (const char *valueAsString)
 
VRECKO_END_MESSAGE vrecko::MessageString (const std::string &_data)
 
 vrecko::MessageString (const char *_data)
 
virtual bool vrecko::isEqualTo (VreckoMessage *otherMsg)
 
VRECKO_END_MESSAGE vrecko::MessageVec2 (const osg::Vec2 &_data)
 
VRECKO_END_MESSAGE vrecko::MessageVec3 (const osg::Vec3 &_data)
 
VRECKO_END_MESSAGE vrecko::MessageVec4 (const osg::Vec4 &_data)
 
VRECKO_END_MESSAGE vrecko::MessageQuat (const osg::Quat &_data)
 
VRECKO_END_MESSAGE vrecko::MessageMatrix (const osg::Matrix &_data)
 
VRECKO_END_MESSAGE vrecko::MessageNodeList (const std::vector< osg::Node * > &_data)
 
VRECKO_END_MESSAGE vrecko::MessageNode (osg::Node *newNode)
 
 vrecko::MessageXMLNode (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *newNode)
 

Variables

VRECKO_END_MESSAGE class
XERCES_CPP_NAMESPACE_QUALIFIER 
vrecko::DOMNode
 

Detailed Description

Author
Vit Kovalcik (previously Jan Flasar, Ludek Pokluda, but that was a DIFFERENT Message)
Date
2011

Macro Definition Documentation

#define VRECKO_END_MESSAGE   };

Ending macro for message declaration/definition.

You have to start the definition with either VRECKO_START_MESSAGE_BASE or VRECKO_START_MESSAGE_EXTENDED.

#define VRECKO_START_MESSAGE_BASE (   messageName,
  dataType 
)
Value:
class messageName : public vrecko::VreckoMessage { \
public: \
messageName() {}; \
virtual const char* getMessageId() { return #messageName; } \
dataType data;

Macro for quick declaration/definition of new simple messages.

The messages are descendants of the vrecko::VreckoMessage. The new message have single variable, called data, which is of the specified type. The default constructor and getMessageId() methods are prepared automatically.

Don't forget to end the message block with the VRECKO_END_MESSAGE macro.

You can also use the VRECKO_START_MESSAGE_EXTENDED to make the definition even simpler.

#define VRECKO_START_MESSAGE_EXTENDED (   messageName,
  dataType 
)
Value:
VRECKO_START_MESSAGE_BASE(messageName, dataType) \
messageName(dataType newData) { data = newData; }; \
virtual bool isEqualTo(messageName *otherMsg) { return (data == (otherMsg)->data); }; \

Macro for quick declaration/definition of new simple messages.

This macro is similar to VRECKO_START_MESSAGE_BASE, but also adds another constructor to quickly initialize the message with a specified value and the isEqualTo() method (works for data types with defined operator == ).

Don't forget to end the message block with the VRECKO_END_MESSAGE macro.