vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IOPins.h File Reference
#include <vrecko/Export>
#include <vrecko/Message.h>
#include <vrecko/BaseClass.h>
#include <vrecko/World.h>

Go to the source code of this file.

Classes

class  vrecko::InputPin< _MessageType >
 
class  vrecko::OutputPin< _MessageType >
 
class  vrecko::RequestInputPin< _MessageType, _ReturningMessageType >
 
class  vrecko::RequestOutputPin< _MessageType, _ReturningMessageType >
 

Namespaces

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

Macros

#define DECLARE_INPUT(name, message_type)
 
#define INIT_INPUT_EXTNAME(name, message_type, yourClassName, extName)   addInputPin(input##name = new vrecko::InputPin<message_type>(this, extName, (vrecko::InputPin<message_type>::PROCESSING_METHOD)&yourClassName::onMessage##name));
 
#define INIT_INPUT(name, message_type, yourClassName)   INIT_INPUT_EXTNAME(name, message_type, yourClassName, #name)
 
#define UNINIT_INPUT(name)
 
#define METHOD_INPUT(name, message_type, yourClassName)   void yourClassName::onMessage##name(message_type *message)
 
#define DECLARE_OUTPUT(name, message_type)   osg::ref_ptr<vrecko::OutputPin<message_type>> output##name;
 
#define INIT_OUTPUT_EXTNAME(name, message_type, extName)   addOutputPin(output##name = new vrecko::OutputPin<message_type>(this, extName));
 
#define INIT_OUTPUT(name, message_type)   INIT_OUTPUT_EXTNAME(name, message_type, #name)
 
#define UNINIT_OUTPUT(name)
 
#define DECLARE_REQUEST_INPUT(name, message_type, returning_message_type)
 
#define INIT_REQUEST_INPUT_EXTNAME(name, message_type, returning_message_type, yourClassName, extName)   addRequestInputPin(reqInput##name = new vrecko::RequestInputPin<message_type, returning_message_type>(this, extName, (vrecko::RequestInputPin<message_type, returning_message_type>::PROCESSING_METHOD)&yourClassName::onRequest##name));
 
#define INIT_REQUEST_INPUT(name, message_type, returning_message_type, yourClassName)   INIT_REQUEST_INPUT_EXTNAME(name, message_type, returning_message_type, yourClassName, #name)
 
#define UNINIT_REQUEST_INPUT(name)
 
#define METHOD_REQUEST_INPUT(name, message_type, returning_message_type, yourClassName)   osg::ref_ptr<returning_message_type> yourClassName::onRequest##name(message_type *message)
 
#define DECLARE_REQUEST_OUTPUT(name, message_type, returning_message_type)   osg::ref_ptr<vrecko::RequestOutputPin<message_type, returning_message_type>> reqOutput##name;
 
#define INIT_REQUEST_OUTPUT_EXTNAME(name, message_type, returning_message_type, extName)   addRequestOutputPin(reqOutput##name = new vrecko::RequestOutputPin<message_type, returning_message_type>(this, extName));
 
#define INIT_REQUEST_OUTPUT(name, message_type, returning_message_type)   INIT_REQUEST_OUTPUT_EXTNAME(name, message_type, returning_message_type, #name)
 
#define UNINIT_REQUEST_OUTPUT(name)
 

Variables

template class VRECKO_EXPORT vrecko::OutputPin< MessageBool >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageBool >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageInt >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageInt >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageUnsignedInt >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageUnsignedInt >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageFloat >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageFloat >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageObjectID >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageObjectID >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageString >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageString >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageVec2 >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageVec2 >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageVec3 >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageVec3 >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageVec4 >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageVec4 >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageQuat >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageQuat >
 
template class VRECKO_EXPORT vrecko::OutputPin< MessageMatrix >
 
template class VRECKO_EXPORT vrecko::InputPin< MessageMatrix >
 

Macro Definition Documentation

#define DECLARE_INPUT (   name,
  message_type 
)
Value:
osg::ref_ptr<vrecko::InputPin<message_type>> input##name; \
void onMessage##name(message_type *message);
#define DECLARE_OUTPUT (   name,
  message_type 
)    osg::ref_ptr<vrecko::OutputPin<message_type>> output##name;
#define DECLARE_REQUEST_INPUT (   name,
  message_type,
  returning_message_type 
)
Value:
osg::ref_ptr<vrecko::RequestInputPin<message_type, returning_message_type>> reqInput##name; \
osg::ref_ptr<returning_message_type> onRequest##name(message_type *message);
#define DECLARE_REQUEST_OUTPUT (   name,
  message_type,
  returning_message_type 
)    osg::ref_ptr<vrecko::RequestOutputPin<message_type, returning_message_type>> reqOutput##name;
#define INIT_INPUT (   name,
  message_type,
  yourClassName 
)    INIT_INPUT_EXTNAME(name, message_type, yourClassName, #name)
#define INIT_INPUT_EXTNAME (   name,
  message_type,
  yourClassName,
  extName 
)    addInputPin(input##name = new vrecko::InputPin<message_type>(this, extName, (vrecko::InputPin<message_type>::PROCESSING_METHOD)&yourClassName::onMessage##name));
#define INIT_OUTPUT (   name,
  message_type 
)    INIT_OUTPUT_EXTNAME(name, message_type, #name)
#define INIT_OUTPUT_EXTNAME (   name,
  message_type,
  extName 
)    addOutputPin(output##name = new vrecko::OutputPin<message_type>(this, extName));
#define INIT_REQUEST_INPUT (   name,
  message_type,
  returning_message_type,
  yourClassName 
)    INIT_REQUEST_INPUT_EXTNAME(name, message_type, returning_message_type, yourClassName, #name)
#define INIT_REQUEST_INPUT_EXTNAME (   name,
  message_type,
  returning_message_type,
  yourClassName,
  extName 
)    addRequestInputPin(reqInput##name = new vrecko::RequestInputPin<message_type, returning_message_type>(this, extName, (vrecko::RequestInputPin<message_type, returning_message_type>::PROCESSING_METHOD)&yourClassName::onRequest##name));
#define INIT_REQUEST_OUTPUT (   name,
  message_type,
  returning_message_type 
)    INIT_REQUEST_OUTPUT_EXTNAME(name, message_type, returning_message_type, #name)
#define INIT_REQUEST_OUTPUT_EXTNAME (   name,
  message_type,
  returning_message_type,
  extName 
)    addRequestOutputPin(reqOutput##name = new vrecko::RequestOutputPin<message_type, returning_message_type>(this, extName));
#define METHOD_INPUT (   name,
  message_type,
  yourClassName 
)    void yourClassName::onMessage##name(message_type *message)
#define METHOD_REQUEST_INPUT (   name,
  message_type,
  returning_message_type,
  yourClassName 
)    osg::ref_ptr<returning_message_type> yourClassName::onRequest##name(message_type *message)
#define UNINIT_INPUT (   name)
Value:
{ \
if (input##name) { \
removeInputPin(input##name); \
input##name = NULL; \
} \
}
#define UNINIT_OUTPUT (   name)
Value:
{ \
if (output##name) { \
removeOutputPin(output##name); \
output##name = NULL; \
} \
}
#define UNINIT_REQUEST_INPUT (   name)
Value:
{ \
if (reqInput##name) { \
removeRequestInputPin(reqInput##name); \
reqInput##name = NULL; \
} \
}
#define UNINIT_REQUEST_OUTPUT (   name)
Value:
{ \
if (reqOutput##name) { \
removeRequestOutputPin(reqOutput##name); \
reqOutput##name = NULL; \
} \
}