我有一个类(Car),它扩展了osg::PositionAttitudeTransform
。现在我想创建一个具有相同位置的相机。所以我在Cameras getMatrix()方法中得到汽车的矩阵:
matrix = car->asMatrixTransform()->getMatrix();
return matrix;
我想设置轨迹球操纵器:
while( !viewer.done() )
{
(*car).update();
(*camera).update();
trackball_manipulator->setByInverseMatrix((*camera).getMatrix());
viewer.frame();
}
之后我的应用程序退出并显示错误代码(RUN FAILED(退出值1,总时间:119ms))。我的代码有什么问题,如何调试呢?
//修改
调试器说,这是在这个地方的分段错误(Matrixd.cpp):
inline void set(double const * const ptr)
{
value_type* local_ptr = (value_type*)_mat;
for(int i=0;i<16;++i) local_ptr[i]=(value_type)ptr[i];
}
但我仍然不知道如何解决它。