1 #ifndef _DA_CONTROLLER_H
2 #define _DA_CONTROLLER_H
8 using namespace vrecko;
10 namespace APDYNAMICART
29 typedef std::vector<DATool*>
DATools;
57 virtual void activateTool() = 0;
66 virtual void clear() = 0;
76 virtual void createMenuStructure( osg::ref_ptr<vreckoUtils::MenuBase> parentMenu )
const = 0;
83 virtual void deactivateTool() = 0;
89 virtual void debugKeyPressed() = 0;
96 static const PoAType getType(std::string type);
99 const char*
getPoAsName(
void)
const {
return this->_poasName; }
108 virtual void guiItemClicked(
const char* itemID) = 0;
110 virtual void initialize(
DAEnvironment* p_dae, XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode *parameters = NULL) = 0;
113 inline bool isEmpty() {
return _poas->empty(); }
116 virtual void load(XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode *parametersNode, XERCES_CPP_NAMESPACE_QUALIFIER DOMNodeList* poaNodeList) = 0;
124 virtual void guiSliderChanged(
const char* sliderID,
float sliderPos) = 0;
131 void preInitialize();
132 void postInitialize();
135 void removePoA(
PoA* toRemove);
139 virtual void save(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* Document, XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode *controllerNode) = 0;
168 virtual void turnOn() = 0;
174 virtual void turnOff(
void) = 0;
181 virtual void update() = 0;
182 std::vector<ref_ptr_PoA>*
getPoAs() {
return this->_poas; }
183 virtual void setColour( osg::Vec4 newColour );
185 virtual void switchGUIVisibility() = 0;
222 #endif // _DA_CONTROLLER_H