回调的类型有很多种,一般很容易就想到的是UpdateCallBack,或者EventCallBack,回调的意思就是说,你可以规定在某件事情发生时启动一个函数,这个函数可能做一些事情。这个函数就叫做回调函数。
#include<osg\MatrixTransform>
#include<osg\PositionAttitudeTransform>
#include<osg\Geode>
#include<osgDB\Registry>
#include<osgDB\ReadFile>
#include<osgGA\TrackballManipulator>
#include<osgViewer\Viewer>
//创建一条路径
osg::AnimationPath* createAnimationPath(const osg::Vec3& center, float radius, double looptime)
{
//路径实体
osg::AnimationPath* animationPath = new osg::AnimationPath;
//设置循环模式为LOOP
animationPath->setLoopMode(osg::AnimationPath::LOOP);
//设置关键点数
int numSamples = 40;
float yaw = 0.0f;
float yaw_delta = 2.0f*osg::PI / ((float)numSamples - 1.0f);
float roll = osg::inDegrees(30.0f);
//设置时间间隔
double time = 0.0f;
double time_delta = looptime