|
这段时间一直在研究教程的中的例子:蓝色的文字部分有点儿疑惑?
// 创建矩阵变换节点,以实现环绕坦克节点。
osg::MatrixTransform* orbitTankXForm = new osg::MatrixTransform();
// 创建环绕轨道回调的实例。
orbit* tankOrbitCallback = new orbit();
// 为矩阵变换节点添加更新回调的实例。
orbitTankXForm->setUpdateCallback( tankOrbitCallback );
// 将位置轨道关联给坦克的位置,即,将其设置为坦克变换节点的子节点。
tankXform->addChild(orbitTankXForm);
//键盘消息
keyboardEventHandler* keh = new keyboardEventHandler();
//这里没找到toggleTankOrbiterView,不晓的完成了什么,我想是重载了hanld,当然没什么关系,当然可以屏蔽??
keh->addFunction('v',toggleTankOrbiterView);
viewer.addEventHandler(keh);
while( !viewer.done() )
{
//这句是什么意思?根本没找到useTankOrbiterView??
if (useTankOrbiterView)
{
Tman->setByInverseMatrix(tankOrbitCallback->getWCMatrix()
*osg::Matrix::rotate( -3.1415926/2.0, 1, 0, 0 ));
}
viewer.frame();
}
return 0;
在网上搜索了一下,都是一模一样的,可能是转载的。 |
|