19#ifndef OSGANIMATION_CHANNEL
20#define OSGANIMATION_CHANNEL 1
42 virtual const char*
libraryName()
const {
return "osgAnimation"; }
43 virtual const char*
className()
const {
return "Channel"; }
45 virtual void update(
double time,
float weight,
int priority) = 0;
74 template <
typename SamplerType>
119 _sampler->getKeyframeContainerTyped()->push_back(key);
124 virtual void update(
double time,
float weight,
int priority)
129 typename SamplerType::UsingType value;
131 _target->update(weight, value, priority);
138 return _target.get() == target;
168 typedef std::vector<osg::ref_ptr<osgAnimation::Channel> >
ChannelList;
void setTargetName(const std::string &name)
virtual double getEndTime() const =0
virtual Target * getTarget()=0
const std::string & getTargetName() const
virtual bool createKeyframeContainerFromTargetValue()=0
virtual const Sampler * getSampler() const =0
std::string _targetName
Definition Channel:69
std::string _name
Definition Channel:70
const std::string & getName() const
virtual bool setTarget(Target *)=0
virtual void update(double time, float weight, int priority)=0
virtual Sampler * getSampler()=0
virtual bool isSameKindAs(const Object *obj) const
Definition Channel:41
void setName(const std::string &name)
virtual const char * className() const
Definition Channel:43
virtual double getStartTime() const =0
virtual Channel * clone() const =0
virtual const char * libraryName() const
Definition Channel:42
Channel(const Channel &channel)
Definition osgAnimation/Sampler:33
Sampler * getSampler()
Definition Channel:148
virtual bool setTarget(Target *target)
Definition Channel:135
virtual double getStartTime() const
Definition Channel:159
void setTarget(TargetType *target)
Definition Channel:157
void setSampler(SamplerType *sampler)
Definition Channel:153
Object * clone(const osg::CopyOp &) const
Definition Channel:84
const TargetType * getTargetTyped() const
Definition Channel:156
virtual double getEndTime() const
Definition Channel:160
virtual void update(double time, float weight, int priority)
Definition Channel:124
SamplerType::UsingType UsingType
Definition Channel:79
virtual void reset()
Definition Channel:133
TemplateKeyframeContainer< typename SamplerType::KeyframeType > KeyframeContainerType
Definition Channel:81
osg::ref_ptr< SamplerType > _sampler
Definition Channel:164
const Sampler * getSampler() const
Definition Channel:149
Channel * clone() const
Definition Channel:85
SamplerType * getSamplerTyped()
Definition Channel:151
SamplerType * getOrCreateSampler()
Definition Channel:141
const SamplerType * getSamplerTyped() const
Definition Channel:152
osg::ref_ptr< TargetType > _target
Definition Channel:163
TemplateTarget< UsingType > TargetType
Definition Channel:80
virtual bool createKeyframeContainerFromTargetValue()
Definition Channel:106
Object * cloneType() const
Definition Channel:83
virtual Target * getTarget()
Definition Channel:134
virtual ~TemplateChannel()
Definition Channel:123
TemplateChannel(SamplerType *s=0, TargetType *target=0)
Definition Channel:97
TemplateChannel(const TemplateChannel &channel)
Definition Channel:87
TargetType * getTargetTyped()
Definition Channel:155
Object()
Definition Object:69
T * get() const
Definition ref_ptr:117
bool valid() const
Definition ref_ptr:120
TemplateChannel< DoubleCubicBezierSampler > DoubleCubicBezierChannel
Definition Channel:186
TemplateChannel< Vec2StepSampler > Vec2StepChannel
Definition Channel:172
TemplateChannel< FloatStepSampler > FloatStepChannel
Definition Channel:171
TemplateChannel< Vec3CubicBezierSampler > Vec3CubicBezierChannel
Definition Channel:188
TemplateChannel< Vec2CubicBezierSampler > Vec2CubicBezierChannel
Definition Channel:187
TemplateChannel< Vec4CubicBezierSampler > Vec4CubicBezierChannel
Definition Channel:189
TemplateChannel< Vec4LinearSampler > Vec4LinearChannel
Definition Channel:181
TemplateChannel< Vec2LinearSampler > Vec2LinearChannel
Definition Channel:179
TemplateChannel< QuatStepSampler > QuatStepChannel
Definition Channel:175
TemplateChannel< DoubleStepSampler > DoubleStepChannel
Definition Channel:170
TemplateChannel< Vec3StepSampler > Vec3StepChannel
Definition Channel:173
TemplateChannel< FloatLinearSampler > FloatLinearChannel
Definition Channel:178
std::vector< osg::ref_ptr< osgAnimation::Channel > > ChannelList
Definition Channel:168
TemplateChannel< Vec4StepSampler > Vec4StepChannel
Definition Channel:174
TemplateChannel< FloatCubicBezierSampler > FloatCubicBezierChannel
Definition Channel:185
TemplateChannel< DoubleLinearSampler > DoubleLinearChannel
Definition Channel:177
TemplateChannel< QuatSphericalLinearSampler > QuatSphericalLinearChannel
Definition Channel:182
TemplateChannel< Vec3LinearSampler > Vec3LinearChannel
Definition Channel:180
TemplateChannel< MatrixLinearSampler > MatrixLinearChannel
Definition Channel:183
#define OSGANIMATION_EXPORT
Definition osgAnimation/Export:40
#define NULL
Definition osg/Export:55