『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

MapGIS K9 TDE平台3D坐标转换为2D坐标

MapGIS K9 TDE平台3D坐标转换为2D坐标
在MapGIS K9 TDE三维平台的二次开发中经常用到3D坐标转换为2D坐标的情况,这里分享一个实现的代码。

       在MapGIS K9 TDE三维平台的二次开发中经常用到3D坐标转换为2D坐标的情况,这里分享一个实现的代码。

 

void project(const Vector3& worldPos, Vector2 &proj)

{

    HWND          hWnd = TDE::Workspace::getSingletonPtr()->getActiveWindowHandle();

    Camera       *pCam = TDE::Workspace::getSingletonPtr()->getCamera(hWnd);

    RenderWindow *pRW  = TDE::Workspace::getSingletonPtr()->getRenderWindow(hWnd);

    Matrix4 viewMat = pCam->getViewMatrix(), sProj = pCam->getStandardProjectionMatrix();

    Vector3 p = sProj * viewMat * worldPos;

//convert to screen point

proj.x = (1 + p.x) * 0.5 * pRW->getWidth();

proj.y = (1 - p.y) * 0.5 * pRW->getHeight();

 

}

 

 

       具体的使用方法就不细说了,希望能对你有所帮助.

      京ICP备2025132830号-1 京公网安备 号