16 #include <vrecko/Export>
30 #include <xercesc/util/XercesDefs.hpp>
34 XERCES_CPP_NAMESPACE_BEGIN
37 XERCES_CPP_NAMESPACE_END
43 class VRECKO_EXPORT
World;
46 #define EVENTDISPATCHER_PRIORITY -1000000
153 BaseClass(
const char* startingSenderString);
190 virtual bool initialize(XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode *parameters = NULL);
201 virtual bool initializeFromString(
const char *xmlString);
282 bool inputPresent(
const std::string &name);
290 bool outputPresent(
const std::string &name);
427 NOTIFICATION_DELETE_CLASS = 1,
429 NOTIFICATION_EO_REGISTERING = 2,
434 NOTIFICATION_EO_UNREGISTERING = 4,
439 NOTIFICATION_PROGRAM_TERMINATION = 8,
444 NOTIFICATION_ALL = 0xFFFFFFFF
456 bool addNotification(
BaseClass *receiver,
unsigned long notificationTypes);
474 bool removeNotification(
BaseClass *receiver,
unsigned long notificationTypes = NOTIFICATION_ALL);
492 virtual void processEvent(
const std::string& input_name,
VreckoMessage *pMessage);
526 void reportError(
const std::string &error);
575 inline void setAttribute(
const std::string &attr_name,
int attr_value) { attributeLock.lockWrite(); attribute[attr_name] = attr_value; attributeLock.unlockWrite(); }
585 inline int getAttribute(
const std::string &attr_name) { attributeLock.lockRead();
int i = attribute[attr_name]; attributeLock.unlockRead();
return i; }
605 void deleteAttribute(
const std::string &attr_name);
616 void setSceneFile(
const std::string &sceneFileName);
664 virtual bool loadXMLParameters(
const char *xmlString);
733 typedef std::vector<osg::ref_ptr<IOPinBase>>
PinList;
754 bool sendNotifications(
unsigned long notificationType,
void *notificationData);
766 virtual int processNotification(
BaseClass *sender,
unsigned long notificationType,
767 void *notificationData) {
return 0; }
777 for (
auto itr = pinList->begin(); itr != pinList->end(); ++itr) {
778 if ((*itr)->getPinName() == strName)