vtk世界座標系與屏幕座標系的轉換

世界座標系 > 屏幕座標系

    double worldCoord[3] = {100, 100, 20};
    vtkSmartPointer<vtkCoordinate> pCoorPress = vtkSmartPointer<vtkCoordinate>::New();
    pCoorPress->SetCoordinateSystemToWorld();
    pCoorPress->SetValue(worldCoord);
    int *dispCoord = pCoorPress->GetComputedDisplayValue(m_Render1);
    qDebug() << dispCoord[0] << dispCoord[1];

屏幕座標系 > 世界座標系

    double dispCoord[2] = {100, 100};
    vtkSmartPointer<vtkCoordinate> pCoorPress = vtkSmartPointer<vtkCoordinate>::New();
    pCoorPress->SetCoordinateSystemToDisplay();
    pCoorPress->SetValue(dispCoord);
    double *worldCoord = pCoorPress->GetComputedWorldValue(m_Render1);
    qDebug() << worldCoord[0] << worldCoord[1] << worldCoord[2];

以上代碼一定要在窗口show出來以後調用,不能在初始化時進行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章