vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Attractor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "poa.h"
4 #include "Parameters.h"
5 #include "Utils.h"
6 
7 namespace APDYNAMICART
8 {
9 
18 typedef enum AttractorRenderingType {
22  //ATT__RENDER_SURFACE,
23 };
24 class Attractor;
25 
26 typedef std::vector<std::string> AttractorNames;
27 typedef osg::ref_ptr<Attractor> AttractorPtr;
28 
29 class Attractor : public PoA
30 {
31 public:
33  virtual std::string createMenuStructure( void ) const { return std::string(); };
34  virtual int load( XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* PoANode ) { return 0; };
35  virtual void GUIItemClicked( const char* itemID ) {};
36  virtual void GUISliderChanged( const char* sliderID, float sliderPos ) {};
37  virtual void pointed( bool pointed ) {};
38  //virtual void save( XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* Document, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* poaNode ) {};
39  virtual void setColor( osg::Vec4 newColour ) {};
40  virtual void update() {};
41 
43  static AttractorPtr createInstance( std::string attName, Controller* controller );
45 
47  void generate();
48  virtual void init() {};
49  virtual void compute() = 0;
50 
53 
54 protected:
57  float _size;
59  Attractor(Controller* controller) : PoA(controller) {};
60 
62  void setSliderParameter( const char* sliderID, float sliderPos );
63  bool valueChanged( float sliderPos );
65 };
66 
67 }