一、osg::AnimationPath类
1、AnimationPath ()
AnimationPath (const AnimationPath &ap, const CopyOp ©op=CopyOp::SHALLOW_COPY)
说明:构造函数,第二个构建函数为从已知值来构造新的AnimationPath.
2、bool getMatrix (double time, Matrixf &matrix) const
bool getMatrix (double time, Matrixd &matrix) const
bool getInverse (double time, Matrixf &matrix) const
bool getInverse (double time, Matrixd &matrix) const
说明:得到某一时刻的矩阵与逆矩阵。time该时刻,该path中的矩阵。matrix为引用类型,传入到path中,获得当前矩阵。
3、virtual bool getInterpolatedControlPoint (double time, ControlPoint &controlPoint) const
说明:得到某一时刻的控制点。time为该时刻的控制点,controlPoint为控制点接收值。接收控制点。
4、void insert (double time, const ControlPoint &controlPoint)
说明:插入一个控制点,time为控掉点所对应发生时间。
5、double getFirstTime () const
double getLastTime () const
说明:得到最开始时间与最后时间。
6、double getPeriod () const
说明:得到开始与最后的时间间隔。
7、void setLoopMode (LoopMode lm)
说明:设置循环模式。lm为循环模式。
8、LoopMode getLoopMode () const
说明:得到循环模式。
9、void setTimeControlPointMap (TimeControlPointMap &tcpm)
说明:设置时间与对应点映射。tcpm为时间与对应点映射。
10、TimeControlPointMap & getTimeControlPointMap () const
TimeControlPointMap & getTimeControlPointMap () const
说明:得到时间与对应点映射。
11、bool empty () const
说明:判断是否为空。
12、void clear ()
说明:是否清空所有控制点。
13、void read (std::istream &in)
说明:从流中读入所有点。
14、void write (std::ostream &out) const
二、osg::NodeVisitor类
类说明:遍历器。
1、NodeVisitor (TraversalMode tm=TRAVERSE_NONE)
NodeVisitor (VisitorType type, TraversalMode tm=TRAVERSE_NONE)
说明:构造函数,第一个构造函数只确定遍历类型。第二个有二个参数,一个是访问类型,第二个是遍历类型。第一个可以决定你这干什么 的visitor,第二个可以确定遍历路线。tm为遍历类型。默认值为TRAVERSE_NONE,可以为以下值:TRAVERSE_NONE, TRAVERSE_PARENTS, TRAVERSE_ALL_CHILDREN, TRAVERSE_ACTIVE_CHILDREN,type为访问器类型,可以为以下值: NODE_VISITOR, UPDATE_VISITOR, EVENT_VISITOR, COLLECT_OCCLUDER_VISITOR, CULL_VISITOR
2、virtual ~NodeVisitor ()
说明:析构函数。
3、virtual void reset ()
说明:重置。
4、void setVisitorType (VisitorType type)
说明:设置访问器的类型。type为访问器类型,可以为以下值: NODE_VISITOR, UPDATE_VISITOR, EVENT_VISITOR, COLLECT_OCCLUDER_VISITOR, CULL_VISITOR
5、VisitorType getVisitorType () const
说明:得到访问器的类型。
6、void setTraversalNumber (int fn)
说明:设置遍历数目。
7、int getTraversalNumber () const
说明:得到遍历数目。
8、void setFrameStamp (FrameStamp *fs)
说明:设置帧快照。
9、const FrameStamp * getFrameStamp () const
说明:得到帧快照。
10、void setTraversalMask (Node::NodeMask mask)
说明:设置遍历的nodemask,如果设置了可以决定是否对该结点以及其子结点实行遍历。mask一般为真或者假。即:1或者0。
11、Node::NodeMask getTraversalMask () const
说明:得到NodeMask.
12、void setNodeMaskOverride (Node::NodeMask mask)
说明:比nodemask更高一级的设置,可以忽视setTraversalMask直接决定是否遍历结点。mask一般为真或者假。即:1或者0。
13、Node::NodeMask getNodeMaskOverride () const
说明:得到NodeMaskOverride的设置。
14、bool validNodeMask (const osg::Node &node) const
说明:应用node的NodeMask,该函数是被accept自动调用的。
15、void setTraversalMode (TraversalMode mode)
说明:设置遍历模式。mode为遍历类型。默认值为TRAVERSE_NONE,可以为以下值:TRAVERSE_NONE, TRAVERSE_PARENTS, TRAVERSE_ALL_CHILDREN, TRAVERSE_ACTIVE_CHILDREN
16、TraversalMode getTraversalMode () const
说明:得到遍历模式。
17、void setUserData (Referenced *obj)
说明:你可以通过此额外的设置一些遍历的结点。只是这个obj必须是OSG的结点类。obj为OSG的结点类,设置的额外遍历的类。
18、Referenced * getUserData ()
const Referenced * getUserData () const
说明:得到设置额外遍历的结点。
19、void traverse (Node &node)
说明:向下遍历结点,系统一般都调用此函数。否则只遍历一层 。遍历结点的上一层结点,将会走到它的下一层结点。
20、void pushOntoNodePath (Node *node)
说明:把它压入到遍历的路径当中去。把node压入到遍历的路径当中。
21、void popFromNodePath ()
说明:从nodePath中弹出一个结点。
22、NodePath & getNodePath ()
const NodePath & getNodePath () const
说明:得到当前结点到顶结点的路径。
23、virtual osg::Vec3 getEyePoint () const
virtual osg::Vec3 getViewPoint () const
说明:得到视点。
24、virtual float getDistanceToEyePoint (const Vec3 &, bool) const
virtual float getDistanceFromEyePoint (const Vec3 &, bool) const
virtual float getDistanceToViewPoint (const Vec3 &, bool) const
说明:得到视点到参数中所设置点的距 离,并不是每个nodevisitor都实现了这个方法。所以不经确定,不要使用。vec3表示视点到该点的距离,该值就是这个该点,大概是确定是否实现了这个方法的值。
25、virtual void apply (Node &node)
virtual void apply (Geode &node)
virtual void apply (Billboard &node)
virtual void apply (Group &node)
virtual void apply (ProxyNode &node)
virtual void apply (Projection &node)
virtual void apply (CoordinateSystemNode &node)
virtual void apply (ClipNode &node)
virtual void apply (TexGenNode &node)
virtual void apply (LightSource &node)
virtual void apply (Transform &node)
virtual void apply (Camera &node)
virtual void apply (CameraView &node)
virtual void apply (MatrixTransform &node)
virtual void apply (PositionAttitudeTransform &node)
virtual void apply (Switch &node)
virtual void apply (Sequence &node)
virtual void apply (LOD &node)
virtual void apply (PagedLOD &node)
virtual void apply (ClearNode &node)
virtual void apply (OccluderNode &node)
说明:一系列重载的apply函数,用于把访问器用到某结点上。