osgAnimation.Channel
类定义了一个将动画轨迹中的值应用于属性的通道。
osgAnimation::Vec3LinearChannel* channel = new osgAnimation::Vec3LinearChannel;
channel->setName("position");
channel->setTargetName("myNode");
channel->setKeyframeContainer(createPositionKeyFrames());
Channel()
构造函数。
Channel(const Channel&,const osg::CopyOp&)
复制构造函数。
virtual ~Channel()
析构函数。
virtual Object* cloneType() const
返回对象的类型信息。
virtual Object* clone(const osg::CopyOp&) const
返回对象的副本。
const std::string& getTargetName() const
获取通道应用的函数的名称。
void setTargetName(const std::string& tn)
设置通道应用的函数的名称。
double getStartTime() const
获取通道开始导航的时间。
void setStartTime(double t)
设置通道开始导航的时间。
double getEndTime() const
获取通道导航结束的时间。
void setEndTime(double t)
设置通道结束导航的时间。
CompositeAnimationPathCallback* createAnimationPathCallback(double startTime = 0.0,double endTime = DBL_MAX) const
创建一个新的 CompositeAnimationPathCallback
对象,该对象将应用该通道的值。
void play(bool loop)
播放该通道的动画。
void stop()
停止该通道的动画。
void setSpeed(double speed)
设置该通道的速度。
void setPause(bool pause)
设置该通道是否暂停。
bool isPlaying() const
返回该通道是否正在播放。
bool isPaused() const
返回该通道是否被暂停。
virtual void update(double time)
更新此通道的 time
时间。
virtual void getAssociatedModes(std::vector<Mode>& modes) const
获取关联的 osgAnimation::AnimationManagerBase::Mode
,并将这些模式填充到 modes
中。
virtual void apply(double weight) const
应用此通道的状态。