]> git.mxchange.org Git - simgear.git/blob - simgear/scene/model/SGMaterialAnimation.hxx
808858e26bee5d9ebf90fa42861016bb880d82dd
[simgear.git] / simgear / scene / model / SGMaterialAnimation.hxx
1
2 // animation.hxx - classes to manage model animation.
3 // Written by David Megginson, started 2002.
4 //
5 // This file is in the Public Domain, and comes with no warranty.
6
7 #ifndef _SG_MATERIALANIMATION_HXX
8 #define _SG_MATERIALANIMATION_HXX 1
9
10 #ifndef __cplusplus
11 # error This library requires C++
12 #endif
13
14 #include "animation.hxx"
15
16 //////////////////////////////////////////////////////////////////////
17 // Material animation
18 //////////////////////////////////////////////////////////////////////
19
20 class SGMaterialAnimation : public SGAnimation {
21 public:
22   SGMaterialAnimation(const SGPropertyNode* configNode,
23                       SGPropertyNode* modelRoot);
24   virtual osg::Group* createAnimationGroup(osg::Group& parent);
25   virtual void install(osg::Node& node);
26 private:
27   struct ColorSpec;
28   struct PropSpec;
29   class MaterialVisitor;
30   class UpdateCallback;
31 };
32
33 #endif // _SG_MATERIALANIMATION_HXX