@@ -226,7 +226,7 @@ class W3DView : public View, public SubsystemInterface
226226 virtual void set3DWireFrameMode (Bool enable); // /<enables custom wireframe rendering of 3D viewport
227227
228228 Bool updateCameraMovements (void );
229- virtual void forceCameraAreaConstraintRecalc (void ) { calcCameraAreaConstraints () ; }
229+ virtual void forceCameraAreaConstraintRecalc (void ) { m_cameraAreaConstraintsValid = false ; }
230230
231231 virtual void setGuardBandBias ( const Coord2D *gb ) { m_guardBandBias.x = gb->x ; m_guardBandBias.y = gb->y ; }
232232
@@ -278,10 +278,17 @@ class W3DView : public View, public SubsystemInterface
278278
279279 Region2D m_cameraAreaConstraints; // /< Camera should be constrained to be within this area
280280 Bool m_cameraAreaConstraintsValid; // /< If false, recalculates the camera area constraints in the next render update
281+ Bool m_clipIntoCameraConstraintsNow; // /< If true, clips the camera into the camera area constraints in the next render update
282+ Bool m_recalcCameraConstraintsAfterScrolling; // /< Recalculates the camera area constraints after the user has moved the camera
283+ Bool m_recalcCamera; // /< Recalculates the camera transform in the next render update
281284
282285 void setCameraTransform ( void ); // /< set the transform matrix of m_3DCamera, based on m_pos & m_angle
283286 void buildCameraTransform ( Matrix3D *transform ); // /< calculate (but do not set) the transform matrix of m_3DCamera, based on m_pos & m_angle
287+ void updateCameraAreaConstraints ();
284288 void calcCameraAreaConstraints (); // /< Recalculates the camera area constraints
289+ void moveCameraIntoAreaConstraints ();
290+ void clipCameraIntoAreaConstraints ();
291+ Bool isWithinCameraAreaConstraints () const ;
285292 Bool isWithinCameraHeightConstraints () const ;
286293 void moveAlongWaypointPath (Real milliseconds); // /< Move camera along path.
287294 void getPickRay (const ICoord2D *screen, Vector3 *rayStart, Vector3 *rayEnd); // /<returns a line segment (ray) originating at the given screen position
0 commit comments