本文整理汇总了C++中TransformUnrecPtr::editSFMatrix方法的典型用法代码示例。如果您正苦于以下问题:C++ TransformUnrecPtr::editSFMatrix方法的具体用法?C++ TransformUnrecPtr::editSFMatrix怎么用?C++ TransformUnrecPtr::editSFMatrix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TransformUnrecPtr
的用法示例。
在下文中一共展示了TransformUnrecPtr::editSFMatrix方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: display
void display(void)
{
m1c = tball.getFullTrackballMatrix();
if(move_obj == true)
{
scene_trans->editSFMatrix()->setValue( m1c );
}
else
{
cam_trans->editSFMatrix()->setValue( m1c );
}
commitChanges();
win->render(rentravact);
}
示例2: display
void display(void)
{
Matrix m1, m2, m3;
Quaternion q1;
tball.getRotation().getValue(m3);
q1.setValue(m3);
m1.setRotate(q1);
m2.setTranslate( tball.getPosition() );
m1.mult( m2 );
cam_trans->editSFMatrix()->setValue(m1);
#if 0
m1c.setIdentity();
Matrix m2c, m3c;
Quaternion q1c;
tcamball.getRotation().getValue(m3c);
q1c.setValue(m3c);
m1c.setRotate(q1c);
m2c.setTranslate( tcamball.getPosition() );
m1c.mult( m2c );
#else
m1c.setIdentity();
float fLat = xPoints[0][1] + (xPoints[1][1] - xPoints[0][1]) * t;
float fLong = xPoints[0][0] + (xPoints[1][0] - xPoints[0][0]) * t;
// fprintf(stderr, "%f %f\n", fLat, fLong);
if(bAnimate == true)
{
t += tStep;
if(t > 1)
{
tStep = -tStep;
t = 1;
}
else if(t < 0)
{
tStep = -tStep;
t = 0;
}
}
Pnt3f p1;
projectPnt(p1, fLat, fLong, 50);
m1c[3][0] = p1[0];
m1c[3][1] = p1[1];
m1c[3][2] = p1[2];
#endif
scene_trans->editSFMatrix()->setValue(m1c);
Vec3f x1(m1c[3][0],
m1c[3][1],
m1c[3][2]);
Vec3f x2;
backProjectPnt(x2, x1);
/*
fprintf(stderr, "%f %f %f\n",
osgRad2Degree(x2[0]),
x2[2],
osgRad2Degree(x2[1]));
*/
/* -285.728333 -285.728333 | 494.500488 494.500488 */
const BbqDataSourceInformation &tInfo =
pSource->getInformation();
m4c.setIdentity();
m4c[3][0] = osgRad2Degree(x2[0]);
m4c[3][1] = 0; //x2[2];
// m4c[3][2] = -45.f - (osgRad2Degree(x2[1]) + 40.f);
// m4c[3][2] = -(osgRad2Degree(x2[1]) + 40.f);
m4c[3][2] = osgRad2Degree(x2[1]);
// fprintf(stderr, "%f %f\n",
// -(osgRad2Degree(x2[1]) + 40.f),
// -45.f - (osgRad2Degree(x2[1]) + 40.f));
//.........这里部分代码省略.........