143 virtual void calcProjectionParameters(
Real& left,
Real& right,
Real& bottom,
Real& top)
const;
145 virtual void updateFrustum(
void)
const;
147 virtual void updateView(
void)
const;
149 virtual void updateFrustumImpl(
void)
const;
151 virtual void updateViewImpl(
void)
const;
152 virtual void updateFrustumPlanes(
void)
const;
154 virtual void updateFrustumPlanesImpl(
void)
const;
155 virtual void updateWorldSpaceCorners(
void)
const;
157 virtual void updateWorldSpaceCornersImpl(
void)
const;
158 virtual void updateVertexData(
void)
const;
159 virtual bool isViewOutOfDate(
void)
const;
160 virtual bool isFrustumOutOfDate(
void)
const;
162 virtual void invalidateFrustum(
void)
const;
164 virtual void invalidateView(
void)
const;
213 virtual void setFOVy(
const Radian& fovy);
217 virtual const Radian& getFOVy(
void)
const;
230 virtual void setNearClipDistance(
Real nearDist);
234 virtual Real getNearClipDistance(
void)
const;
256 virtual void setFarClipDistance(
Real farDist);
260 virtual Real getFarClipDistance(
void)
const;
270 virtual void setAspectRatio(
Real ratio);
274 virtual Real getAspectRatio(
void)
const;
287 virtual void setFrustumOffset(
const Vector2& offset);
302 virtual void setFrustumOffset(
Real horizontal = 0.0,
Real vertical = 0.0);
306 virtual const Vector2& getFrustumOffset()
const;
312 virtual void setFocalLength(
Real focalLength = 1.0);
316 virtual Real getFocalLength()
const;
322 virtual void setFrustumExtents(
Real left,
Real right,
Real top,
Real bottom);
324 virtual void resetFrustumExtents();
326 virtual void getFrustumExtents(
Real& outleft,
Real& outright,
Real& outtop,
Real& outbottom)
const;
337 virtual const Matrix4& getProjectionMatrixRS(
void)
const;
349 virtual const Matrix4& getProjectionMatrixWithRSDepth(
void)
const;
359 virtual const Matrix4& getProjectionMatrix(
void)
const;
363 virtual const Matrix4& getViewMatrix(
void)
const;
369 virtual void calcViewMatrixRelative(
const Vector3& relPos,
Matrix4& matToUpdate)
const;
388 virtual void setCustomViewMatrix(
bool enable,
392 {
return mCustomViewMatrix; }
415 virtual void setCustomProjectionMatrix(
bool enable,
419 {
return mCustomProjMatrix; }
425 virtual const Plane* getFrustumPlanes(
void)
const;
431 virtual const Plane& getFrustumPlane(
unsigned short plane )
const;
473 uint32 getTypeFlags(
void)
const;
479 Real getBoundingRadius(
void)
const;
485 const String& getMovableType(
void)
const;
488 void _notifyCurrentCamera(
Camera* cam);
497 void getWorldTransforms(
Matrix4* xform)
const;
500 Real getSquaredViewDepth(
const Camera* cam)
const;
511 virtual const Vector3* getWorldSpaceCorners(
void)
const;
531 virtual void setOrthoWindow(
Real w,
Real h);
537 virtual void setOrthoWindowHeight(
Real h);
543 virtual void setOrthoWindowWidth(
Real w);
546 virtual Real getOrthoWindowHeight()
const;
550 virtual Real getOrthoWindowWidth()
const;
557 virtual void enableReflection(
const Plane& p);
569 virtual void disableReflection(
void);
595 virtual bool projectSphere(
const Sphere& sphere,
625 virtual void enableCustomNearClipPlane(
const MovablePlane* plane);
647 virtual void enableCustomNearClipPlane(
const Plane& plane);
649 virtual void disableCustomNearClipPlane(
void);
652 {
return mObliqueDepthProjection; }
656 bool debugRenderables =
false);
662 virtual const Vector3& getPositionForViewUpdate(
void)
const;
664 virtual const Quaternion& getOrientationForViewUpdate(
void)
const;
692 #endif // __Frustum_H__