35#define META_Effect(library, classname, effectname, effectdescription, effectauthor) \
36 META_Node(library, classname) \
37 virtual const char *effectName() const { return effectname; } \
38 virtual const char *effectDescription() const { return effectdescription; } \
39 virtual const char *effectAuthor() const { return effectauthor; }
72 virtual inline const char*
libraryName()
const {
return "osgFX"; }
73 virtual inline const char*
className()
const {
return "Effect"; }
85 inline bool getEnabled()
const;
88 inline void setEnabled(
bool v);
98 inline int getNumTechniques()
const;
104 inline const Technique* getTechnique(
int i)
const;
107 inline int getSelectedTechnique()
const;
114 inline void selectTechnique(
int i = AUTO_DETECT);
130 inline void dirtyTechniques();
133 inline void addTechnique(
Technique* tech);
148 typedef std::vector<osg::ref_ptr<Technique> > Technique_list;
149 Technique_list _techs;
156 int _global_sel_tech;
162 void build_dummy_node();
179 return static_cast<int>(_techs.size());
184 return _techs[i].get();
189 return _techs[i].get();
194 return _global_sel_tech;
199 _global_sel_tech = i;
204 _techs.push_back(tech);
209 _techs_defined =
false;
215 inherited::traverse(nv);
virtual const char * effectAuthor() const =0
bool getEnabled() const
Definition Effect:167
Effect(const Effect ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Technique * getTechnique(int i)
Definition Effect:182
int getNumTechniques() const
Definition Effect:177
virtual bool isSameKindAs(const osg::Object *obj) const
Definition Effect:71
int getSelectedTechnique() const
Definition Effect:192
virtual const char * effectDescription() const =0
Effect & operator=(const Effect &)
Definition Effect:127
virtual void setUpDemo()
Definition Effect:95
virtual const char * effectName() const =0
void dirtyTechniques()
Definition Effect:207
virtual const char * libraryName() const
Definition Effect:72
void setEnabled(bool v)
Definition Effect:172
virtual bool define_techniques()=0
void selectTechnique(int i=AUTO_DETECT)
Definition Effect:197
virtual void resizeGLObjectBuffers(unsigned int maxSize)
void inherited_traverse(osg::NodeVisitor &nv)
Definition Effect:212
virtual const char * className() const
Definition Effect:73
void addTechnique(Technique *tech)
Definition Effect:202
virtual void traverse(osg::NodeVisitor &nv)
virtual void releaseGLObjects(osg::State *state=0) const
TechniqueSelection
Definition Effect:109
Definition osgFX/Validator:35
@ SHALLOW_COPY
Definition CopyOp:47
Definition NodeVisitor:82
Definition buffered_value:27
Definition AnisotropicLighting:25
#define OSGFX_EXPORT
Definition osgFX/Export:27
#define NULL
Definition osg/Export:55