summaryrefslogtreecommitdiff
path: root/common/pieceinf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/pieceinf.cpp')
-rw-r--r--common/pieceinf.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/common/pieceinf.cpp b/common/pieceinf.cpp
index 4df330e..56cf7c3 100644
--- a/common/pieceinf.cpp
+++ b/common/pieceinf.cpp
@@ -1540,10 +1540,17 @@ void PieceInfo::FreeInformation()
}
// Zoom extents for the preview window and print catalog
-void PieceInfo::ZoomExtents(float Fov, float Aspect)
+void PieceInfo::ZoomExtents(float Fov, float Aspect, float* EyePos) const
{
float Eye[3] = { -100.0f, -100.0f, 50.0f };
+ if (EyePos)
+ {
+ Eye[0] = EyePos[0];
+ Eye[1] = EyePos[1];
+ Eye[2] = EyePos[2];
+ }
+
// Get perspective information.
float Alpha = Fov / 2.0f;
float HalfFovY = Fov / 2.0f;
@@ -1645,6 +1652,13 @@ void PieceInfo::ZoomExtents(float Fov, float Aspect)
NewEye[1] = Eye[1] + Front[1] * SmallestU;
NewEye[2] = Eye[2] + Front[2] * SmallestU;
+ if (EyePos)
+ {
+ EyePos[0] = NewEye[0];
+ EyePos[1] = NewEye[1];
+ EyePos[2] = NewEye[2];
+ }
+
Vector FrontVec, RightVec, UpVec;
// Calculate view matrix.