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出来以后调用,不能在初始化时进行

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