|
楼主 |
发表于 2013-9-30 16:29:12
|
显示全部楼层
本帖最后由 VR_user_happy 于 2013-9-30 16:46 编辑
//添加地形到地球响应的坐标位置的方法:
osg::CoordinateSystemNode* csn = new osg::CoordinateSystemNode;
csn->setEllipsoidModel(new osg::EllipsoidModel());
csn->addChild(geode);
//设定椭球体坐标系
osg::EllipsoidModel* ellipsoid = csn->getEllipsoidModel();
if (ellipsoid)
{
//得到原有矩阵位置
// osg::Matrix inheritedMatrix;
// inheritedMatrix=pEarthNode->getTransform();
//创建位姿矩阵
//osg::Matrixd matrix(inheritedMatrix);
osg::Matrixd matrix;
//设定到椭球体坐标系的矩阵
ellipsoid-computeLocalToWorldTransformFromLatLongHeight(dLatitude,dLongtitude,dHeight,matrix);
//
osg::ref_ptr<osg::MatrixTransform> mt= new osg::MatrixTransform;
mt->setMatrix(matrix);
mt->addChild(pDemNode);
//添加到地球节点下
pEarthGroup->addChild(mt);
}
|
|