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;
The osgAnimation library provides general purpose utility classes for animation.
Definition Action:34
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
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
Object()
Construct an object.
Definition Object:69
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
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)
Set the name of object using C++ style string.
virtual const char * className() const
return the name of the object's class type.
Definition Channel:43
virtual double getStartTime() const =0
virtual Channel * clone() const =0
virtual const char * libraryName() const
return the name of the object's library.
Definition Channel:42
Channel(const Channel &channel)
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
Clone an object, with Object* return type.
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< DoubleStepSampler > _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
Clone the type of an object, with Object* return type.
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
TemplateKeyframe< T > KeyType
Definition Keyframe:84
#define NULL
Definition Export:55
#define OSGANIMATION_EXPORT
Definition Export:40