14#ifndef OSG_ANIMATIONMATERIAL
15#define OSG_ANIMATIONMATERIAL 1
40 _timeControlPointMap(ap._timeControlPointMap),
41 _loopMode(ap._loopMode) {}
51 double getFirstTime()
const {
if (!_timeControlPointMap.empty())
return _timeControlPointMap.begin()->first;
else return 0.0;}
52 double getLastTime()
const {
if (!_timeControlPointMap.empty())
return _timeControlPointMap.rbegin()->first;
else return 0.0;}
53 double getPeriod()
const {
return getLastTime()-getFirstTime();}
74 void read(std::istream& in);
77 void write(std::ostream& out)
const;
98 _useInverseMatrix(false),
100 _timeMultiplier(1.0),
108 osg::Object(apc, copyop),
109 osg::Callback(apc, copyop),
110 osg::NodeCallback(apc,copyop),
111 _animationMaterial(apc._animationMaterial),
112 _useInverseMatrix(apc._useInverseMatrix),
113 _timeOffset(apc._timeOffset),
114 _timeMultiplier(apc._timeMultiplier),
115 _firstTime(apc._firstTime),
116 _latestTime(apc._latestTime),
118 _pauseTime(apc._pauseTime) {}
124 _animationMaterial(ap),
125 _useInverseMatrix(false),
126 _timeOffset(timeOffset),
127 _timeMultiplier(timeMultiplier),
Definition AnimationMaterial:94
double _timeOffset
Definition AnimationMaterial:162
double getTimeOffset() const
Definition AnimationMaterial:140
AnimationMaterialCallback(AnimationMaterial *ap, double timeOffset=0.0f, double timeMultiplier=1.0f)
Definition AnimationMaterial:123
bool _pause
Definition AnimationMaterial:166
void setPause(bool pause)
AnimationMaterialCallback(const AnimationMaterialCallback &apc, const osg::CopyOp ©op)
Definition AnimationMaterial:107
double _pauseTime
Definition AnimationMaterial:167
~AnimationMaterialCallback()
Definition AnimationMaterial:171
bool _useInverseMatrix
Definition AnimationMaterial:161
double _timeMultiplier
Definition AnimationMaterial:163
AnimationMaterial * getAnimationMaterial()
Definition AnimationMaterial:135
osg::ref_ptr< AnimationMaterial > _animationMaterial
Definition AnimationMaterial:160
double _firstTime
Definition AnimationMaterial:164
AnimationMaterialCallback()
Definition AnimationMaterial:97
void setTimeOffset(double offset)
Definition AnimationMaterial:139
double getAnimationTime() const
const AnimationMaterial * getAnimationMaterial() const
Definition AnimationMaterial:137
void update(osg::Node &node)
virtual void operator()(osg::Node *node, osg::NodeVisitor *nv)
void setAnimationMaterial(AnimationMaterial *path)
Definition AnimationMaterial:133
double getTimeMultiplier() const
Definition AnimationMaterial:143
META_Object(osg, AnimationMaterialCallback)
double _latestTime
Definition AnimationMaterial:165
void setTimeMultiplier(double multiplier)
Definition AnimationMaterial:142
Definition AnimationMaterial:33
LoopMode _loopMode
Definition AnimationMaterial:88
double getLastTime() const
Definition AnimationMaterial:52
LoopMode getLoopMode() const
Definition AnimationMaterial:64
bool requiresBlending() const
AnimationMaterial(const AnimationMaterial &ap, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition AnimationMaterial:38
bool getMaterial(double time, osg::Material &material) const
void insert(double time, osg::Material *material)
META_Object(osg, AnimationMaterial)
void setLoopMode(LoopMode lm)
Definition AnimationMaterial:62
TimeControlPointMap & getTimeControlPointMap()
Definition AnimationMaterial:69
void read(std::istream &in)
std::map< double, osg::ref_ptr< osg::Material > > TimeControlPointMap
Definition AnimationMaterial:67
void interpolate(osg::Material &material, float r, const osg::Material &lhs, const osg::Material &rhs) const
AnimationMaterial()
Definition AnimationMaterial:36
double getFirstTime() const
Definition AnimationMaterial:51
double getPeriod() const
Definition AnimationMaterial:53
virtual ~AnimationMaterial()
Definition AnimationMaterial:83
void write(std::ostream &out) const
LoopMode
Definition AnimationMaterial:56
@ SWING
Definition AnimationMaterial:57
@ LOOP
Definition AnimationMaterial:58
TimeControlPointMap _timeControlPointMap
Definition AnimationMaterial:87
const TimeControlPointMap & getTimeControlPointMap() const
Definition AnimationMaterial:71
@ SHALLOW_COPY
Definition CopyOp:47
Definition NodeVisitor:82
Definition AnimationMaterial:26
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSGPRESENTATION_EXPORT
Definition osgPresentation/Export:38