diff --git a/SceneCamera.cpp b/SceneCamera.cpp index a94662a..87c784e 100644 --- a/SceneCamera.cpp +++ b/SceneCamera.cpp @@ -319,12 +319,15 @@ bool Scene::PanCamera( const Point3d& ptWinOld, const Point3d& ptWinNew) { // porto i due punti in coordinate mondo - double dZCenter = GetProjectedCenter().z ; - Point3d ptViewOld( ptWinOld.x, ptWinOld.y, dZCenter) ; + double dOldZCenter ; + GetPixelZ( ptWinOld, dOldZCenter) ; + Point3d ptViewOld( ptWinOld.x, ptWinOld.y, dOldZCenter) ; Point3d ptWorldOld ; if ( ! UnProject( ptViewOld, ptWorldOld)) return false ; - Point3d ptViewNew( ptWinNew.x, ptWinNew.y, dZCenter) ; + double dNewZCenter ; + GetPixelZ( ptWinNew, dNewZCenter) ; + Point3d ptViewNew( ptWinNew.x, ptWinNew.y, dNewZCenter) ; Point3d ptWorldNew ; if ( ! UnProject( ptViewNew, ptWorldNew)) return false ;