Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::Camera Class Reference

A viewpoint from which the scene will be rendered. More...

#include <OgreCamera.h>

Inheritance diagram for Ogre::Camera:

Inheritance graph
[legend]
Collaboration diagram for Ogre::Camera:

Collaboration graph
[legend]
List of all members.

Public Methods

 Camera (const String &name, SceneManager *sm)
 Standard constructor.

virtual ~Camera ()
 Standard destructor.

SceneManagergetSceneManager (void) const
 Returns a pointer to the SceneManager this camera is rendering through.

virtual const StringgetName (void) const
 Gets the camera's name.

void setProjectionType (ProjectionType pt)
 Sets the type of projection to use (orthographic or perspective).

ProjectionType getProjectionType (void) const
 Retrieves info on the type of projection used (orthographic or perspective).

void setDetailLevel (SceneDetailLevel sd)
 Sets the level of rendering detail required from this camera.

SceneDetailLevel getDetailLevel (void) const
 Retrieves the level of detail that the camera will render.

void setPosition (Real x, Real y, Real z)
 Sets the camera's position.

void setPosition (const Vector3 &vec)
 Sets the camera's position.

const Vector3getPosition (void) const
 Retrieves the camera's position.

void move (const Vector3 &vec)
 Moves the camera's position by the vector offset provided along world axes.

void moveRelative (const Vector3 &vec)
 Moves the camera's position by the vector offset provided along it's own axes (relative to orientation).

void setDirection (Real x, Real y, Real z)
 Sets the camera's direction vector.

void setDirection (const Vector3 &vec)
 Sets the camera's direction vector.

Vector3 getDirection (void) const
void lookAt (const Vector3 &targetPoint)
 Points the camera at a location in worldspace.

void lookAt (Real x, Real y, Real z)
 Points the camera at a location in worldspace.

void roll (Real degrees)
 Rolls the camera anticlockwise, in degrees, around its local z axis.

void yaw (Real degrees)
 Rotates the camera anticlockwise around it's local y axis.

void pitch (Real degrees)
 Pitches the camera up/down anticlockwise around it's local z axis.

void rotate (const Vector3 &axis, Real degrees)
 Rotate the camera around an arbitrary axis.

void rotate (const Quaternion &q)
 Rotate the camera around an aritrary axis using a Quarternion.

void setFixedYawAxis (bool useFixed, const Vector3 &fixedAxis=Vector3::UNIT_Y)
 Tells the camera whether to yaw around it's own local Y axis or a fixed axis of choice.

void setFOVy (Real fovy)
 Sets the Y-dimension Field Of View (FOV) of the camera.

Real getFOVy (void) const
 Retrieves the cameras Y-dimension Field Of View (FOV).

void setNearClipDistance (Real nearDist)
 Sets the position of the near clipping plane.

Real getNearClipDistance (void) const
 Sets the position of the near clipping plane.

void setFarClipDistance (Real farDist)
 Sets the distance to the far clipping plane.

Real getFarClipDistance (void) const
 Retrieves the distance from the camera to the far clipping plane.

void setAspectRatio (Real ratio)
 Sets the aspect ratio for the camera viewport.

Real getAspectRatio (void) const
 Retreives the current aspect ratio.

const Matrix4getProjectionMatrix (void) const
 Gets the projection matrix for this camera.

const Matrix4getStandardProjectionMatrix (void) const
 Gets the 'standard' projection matrix for this camera, ie the projection matrix which conforms to standard right-handed rules.

const Matrix4getViewMatrix (void) const
 Gets the view matrix for this camera.

const PlanegetFrustumPlane (FrustumPlane plane) const
 Retrieves a specified plane of the frustum.

bool isVisible (const AxisAlignedBox &bound, FrustumPlane *culledBy=0) const
 Tests whether the given container is visible in the Frustum.

bool isVisible (const Sphere &bound, FrustumPlane *culledBy=0) const
 Tests whether the given container is visible in the Frustum.

bool isVisible (const Vector3 &vert, FrustumPlane *culledBy=0) const
 Tests whether the given vertex is visible in the Frustum.

const QuaterniongetOrientation (void) const
 Returns the camera's current orientation.

void setOrientation (const Quaternion &q)
 Sets the camera's orientation.

void _renderScene (Viewport *vp, bool includeOverlays)
 Tells the Camera to contact the SceneManager to render from it's viewpoint.

void _notifyRenderedFaces (unsigned int numfaces)
 Internal method to notify camera of the visible faces in the last render.

unsigned int _getNumRenderedFaces (void) const
 Internal method to retrieve the number of visible faces in the last render.

Quaternion getDerivedOrientation (void) const
 Gets the derived orientation of the camera, including any rotation inherited from a node attachment.

Vector3 getDerivedPosition (void) const
 Gets the derived position of the camera, including any translation inherited from a node attachment.

Vector3 getDerivedDirection (void) const
 Gets the derived direction vector of the camera, including any translation inherited from a node attachment.

void _notifyCurrentCamera (Camera *cam)
 Overridden from MovableObject.

const AxisAlignedBoxgetBoundingBox (void) const
 Overridden from MovableObject.

Real getBoundingRadius (void) const
 Overridden from MovableObject.

void _updateRenderQueue (RenderQueue *queue)
 Overridden from MovableObject.

const StringgetMovableType (void) const
 Overridden from MovableObject.

void setAutoTracking (bool enabled, SceneNode *target=0, const Vector3 &offset=Vector3::ZERO)
 Enables / disables automatic tracking of a SceneNode.

void setLodBias (Real factor=1.0)
 Sets the level-of-detail factor for this Camera.

Real getLodBias (void) const
 Returns the level-of-detail bias factor currently applied to this camera.

void enableReflection (const Plane &p)
 Modifies this camera so it always renders from the reflection of itself through the plane specified.

void disableReflection (void)
 Disables reflection modification previously turned on with enableReflection.

bool isReflected (void)
 Returns whether this camera is being reflected.

const Matrix4getReflectionMatrix (void)
 Returns the reflection matrix of the camera if appropriate.

const PlanegetReflectionPlane (void)
 Returns the reflection plane of the camera if appropriate.

Real _getLodBiasInverse (void) const
 Internal method for OGRE to use for LOD calculations.

void _autoTrack (void)
 Internal method used by OGRE to update auto-tracking cameras.

virtual NodegetParentNode (void) const
 Returns the node to which this object is attached.

virtual void _notifyAttached (Node *parent, bool isTagPoint=false)
 Internal method called to notify the object that it has been attached to a node.

virtual bool isAttached (void) const
 Returns true if this object is attached to a SceneNode or TagPoint.

virtual const AxisAlignedBoxgetWorldBoundingBox (bool derive=false) const
 Retrieves the axis-aligned bounding box for this object in world coordinates.

virtual const SpheregetWorldBoundingSphere (bool derive=false) const
 Retrieves the worldspace bounding sphere for this object.

virtual void setVisible (bool visible)
 Tells this object whether to be visible or not, if it has a renderable component.

virtual bool isVisible (void) const
 Returns whether or not this object is supposed to be visible or not.

virtual void setUserObject (UserDefinedObject *obj)
 Call this to associate your own custom user object instance with this MovableObject.

virtual UserDefinedObjectgetUserObject (void)
 Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.

virtual void setRenderQueueGroup (RenderQueueGroupID queueID)
 Sets the render queue group this entity will be rendered through.

virtual RenderQueueGroupID getRenderQueueGroup (void) const
 Gets the queue group for this entity, see setRenderQueueGroup for full details.

virtual Matrix4 _getParentNodeFullTransform (void) const
 return the full transformation of the parent sceneNode or the attachingPoint node

virtual void setQueryFlags (unsigned long flags)
 Sets the query flags for this object.

virtual void addQueryFlags (unsigned long flags)
 As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.

virtual void removeQueryFlags (unsigned long flags)
 As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.

virtual unsigned long getQueryFlags (void) const
 Returns the query flags relevant for this object.


Protected Methods

void updateFrustum (void) const
void updateView (void) const
bool isViewOutOfDate (void) const
bool isFrustumOutOfDate (void) const

Protected Attributes

String mName
 Camera name.

SceneManagermSceneMgr
 Scene manager responsible for the scene.

Quaternion mOrientation
 Camera orientation, quaternion style.

Vector3 mPosition
 Camera position - default (0,0,0).

Quaternion mLastParentOrientation
 Stored versions of parent orientation / position.

Vector3 mLastParentPosition
Quaternion mDerivedOrientation
 Derived positions of parent orientation / position.

Vector3 mDerivedPosition
Real mFOVy
 Camera y-direction field-of-view (default 45).

Real mFarDist
 Far clip distance - default 10000.

Real mNearDist
 Near clip distance - default 100.

Real mAspect
 x/y viewport ratio - default 1.3333

bool mYawFixed
 Whether to yaw around a fixed axis.

Vector3 mYawFixedAxis
 Fixed axis to yaw around.

Plane mFrustumPlanes [6]
 The 6 main clipping planes.

ProjectionType mProjType
 Orthographic or perspective?

SceneDetailLevel mSceneDetail
 Rendering type.

Matrix4 mProjMatrix
 Pre-calced projection matrix.

Matrix4 mStandardProjMatrix
 Pre-calced standard projection matrix.

Matrix4 mViewMatrix
 Pre-calced view matrix.

bool mRecalcFrustum
 Something's changed in the frustrum shape?

bool mRecalcView
 Something re the view pos has changed.

Real mCoeffL [2]
 Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

Real mCoeffR [2]
 Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

Real mCoeffB [2]
 Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

Real mCoeffT [2]
 Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

unsigned int mVisFacesLastRender
 Stored number of visible faces in the last render.

SceneNodemAutoTrackTarget
 SceneNode which this Camera will automatically track.

Vector3 mAutoTrackOffset
 Tracking offset for fine tuning.

Real mSceneLodFactor
Real mSceneLodFactorInv
 Inverted scene LOD factor, can be used by Renderables to adjust their LOD.

bool mReflect
 Is this camera to act as a reflection of itself?

Matrix4 mReflectMatrix
Plane mReflectPlane
NodemParentNode
 node to which this object is attached

bool mParentIsTagPoint
bool mVisible
 Is this object visible?

UserDefinedObjectmUserObject
 User defined object which is linked to this object.

RenderQueueGroupID mRenderQueueID
 The render queue to use when rendering this object.

unsigned long mQueryFlags
 Flags determining whether this object is included / excluded from scene queries.

AxisAlignedBox mWorldAABB
 Cached world AABB of this object.

Sphere mWorldBoundingSphere

Static Protected Attributes

String msMovableType = "Camera"
 Shared class-level name for Movable type.


Friends

std::ostream & operator<< (std::ostream &o, Camera &c)
 Function for outputting to a stream.


Detailed Description

A viewpoint from which the scene will be rendered.

Remarks:
OGRE renders scenes from a camera viewpoint into a buffer of some sort, normally a window or a texture (a subclass of RenderTarget). OGRE cameras support both perspective projection (the default, meaning objects get smaller the further away they are) and orthographic projection (blueprint-style, no decrease in size with distance). Each camera carries with it a style of rendering, e.g. full textured, flat shaded, wireframe), field of view, rendering distances etc, allowing you to use OGRE to create complex multi-window views if required. In addition, more than one camera can point at a single render target if required, each rendering to a subset of the target, allowing split screen and picture-in-picture views.

Cameras maintain their own aspect ratios, field of view, and frustrum, and project co-ordinates into a space measured from -1 to 1 in x and y, and 0 to 1 in z. At render time, the camera will be rendering to a Viewport which will translate these parametric co-ordinates into real screen co-ordinates. Obviously it is advisable that the viewport has the same aspect ratio as the camera to avoid distortion (unless you want it!).

Note that a Camera can be attached to a SceneNode, using the method SceneNode::attachObject. If this is done the Camera will combine it's own position/orientation settings with it's parent SceneNode. This is useful for implementing more complex Camera / object relationships i.e. having a camera attached to a world object.

Definition at line 82 of file OgreCamera.h.


Constructor & Destructor Documentation

Ogre::Camera::Camera const String   name,
SceneManager   sm
 

Standard constructor.

Definition at line 43 of file OgreCamera.cpp.

References mAspect, mAutoTrackTarget, mFarDist, mFOVy, mNearDist, mOrientation, Ogre::MovableObject::mParentNode, mPosition, mProjMatrix, mProjType, mRecalcFrustum, mRecalcView, mReflect, mSceneDetail, mSceneLodFactor, mSceneLodFactorInv, mSceneMgr, mViewMatrix, Ogre::PT_PERSPECTIVE, Ogre::SDL_SOLID, setFixedYawAxis(), updateView(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

Ogre::Camera::~Camera   [virtual]
 

Standard destructor.

Definition at line 89 of file OgreCamera.cpp.


Member Function Documentation

void Ogre::Camera::_autoTrack void   
 

Internal method used by OGRE to update auto-tracking cameras.

Definition at line 885 of file OgreCamera.cpp.

References Ogre::Node::_getDerivedPosition(), lookAt(), mAutoTrackOffset, and mAutoTrackTarget.

Referenced by Ogre::SceneManager::_renderScene().

Real Ogre::Camera::_getLodBiasInverse void    const
 

Internal method for OGRE to use for LOD calculations.

Definition at line 906 of file OgreCamera.cpp.

References mSceneLodFactorInv, and Ogre::Real.

Referenced by Ogre::Entity::_notifyCurrentCamera().

unsigned int Ogre::Camera::_getNumRenderedFaces void    const
 

Internal method to retrieve the number of visible faces in the last render.

Definition at line 811 of file OgreCamera.cpp.

References mVisFacesLastRender.

Referenced by Ogre::Viewport::_getNumRenderedFaces().

Matrix4 Ogre::MovableObject::_getParentNodeFullTransform void    const [virtual, inherited]
 

return the full transformation of the parent sceneNode or the attachingPoint node

Definition at line 92 of file OgreMovableObject.cpp.

References Ogre::Node::_getFullTransform(), and Ogre::MovableObject::mParentNode.

Referenced by Ogre::Entity::cacheBoneMatrices(), Ogre::TagPoint::getParentEntityTransform(), Ogre::MovableObject::getWorldBoundingBox(), Ogre::SubEntity::getWorldTransforms(), and Ogre::BillboardSet::getWorldTransforms().

void Ogre::MovableObject::_notifyAttached Node   parent,
bool    isTagPoint = false
[virtual, inherited]
 

Internal method called to notify the object that it has been attached to a node.

Definition at line 54 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mParentIsTagPoint, and Ogre::MovableObject::mParentNode.

Referenced by Ogre::SceneNode::attachObject(), Ogre::Entity::attachObjectImpl(), Ogre::SceneNode::detachAllObjects(), Ogre::SceneNode::detachObject(), and Ogre::SceneNode::~SceneNode().

void Ogre::Camera::_notifyCurrentCamera Camera *    cam [virtual]
 

Overridden from MovableObject.

Implements Ogre::MovableObject.

Definition at line 848 of file OgreCamera.cpp.

void Ogre::Camera::_notifyRenderedFaces unsigned int    numfaces
 

Internal method to notify camera of the visible faces in the last render.

Definition at line 805 of file OgreCamera.cpp.

References mVisFacesLastRender.

Referenced by Ogre::SceneManager::_renderScene().

void Ogre::Camera::_renderScene Viewport   vp,
bool    includeOverlays
 

Tells the Camera to contact the SceneManager to render from it's viewpoint.

Parameters:
vp  The viewport to render to
includeOverlays  Whether or not any overlay objects should be included

Definition at line 759 of file OgreCamera.cpp.

References Ogre::SceneManager::_renderScene(), and mSceneMgr.

Referenced by Ogre::Viewport::update().

void Ogre::Camera::_updateRenderQueue RenderQueue   queue [virtual]
 

Overridden from MovableObject.

Implements Ogre::MovableObject.

Definition at line 860 of file OgreCamera.cpp.

virtual void Ogre::MovableObject::addQueryFlags unsigned long    flags [virtual, inherited]
 

As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.

Definition at line 168 of file OgreMovableObject.h.

void Ogre::Camera::disableReflection void   
 

Disables reflection modification previously turned on with enableReflection.

Definition at line 925 of file OgreCamera.cpp.

References mRecalcView, and mReflect.

void Ogre::Camera::enableReflection const Plane   p
 

Modifies this camera so it always renders from the reflection of itself through the plane specified.

Remarks:
This is obviously useful for rendering planar reflections.

Definition at line 916 of file OgreCamera.cpp.

References mRecalcView, mReflect, mReflectMatrix, and mReflectPlane.

Real Ogre::Camera::getAspectRatio void    const
 

Retreives the current aspect ratio.

Definition at line 766 of file OgreCamera.cpp.

References mAspect, and Ogre::Real.

const AxisAlignedBox & Ogre::Camera::getBoundingBox void    const [virtual]
 

Overridden from MovableObject.

Implements Ogre::MovableObject.

Definition at line 853 of file OgreCamera.cpp.

Real Ogre::Camera::getBoundingRadius void    const [virtual]
 

Overridden from MovableObject.

Implements Ogre::MovableObject.

Definition at line 911 of file OgreCamera.cpp.

References mNearDist, and Ogre::Real.

Vector3 Ogre::Camera::getDerivedDirection void    const
 

Gets the derived direction vector of the camera, including any translation inherited from a node attachment.

Definition at line 841 of file OgreCamera.cpp.

References mDerivedOrientation, and updateView().

Referenced by Ogre::ParticleSystem::genBillboardAxes(), and Ogre::BillboardSet::genBillboardAxes().

Quaternion Ogre::Camera::getDerivedOrientation void    const
 

Gets the derived orientation of the camera, including any rotation inherited from a node attachment.

Definition at line 829 of file OgreCamera.cpp.

References mDerivedOrientation, and updateView().

Referenced by Ogre::Overlay::_findVisibleObjects(), Ogre::ParticleSystem::genBillboardAxes(), and Ogre::BillboardSet::genBillboardAxes().

Vector3 Ogre::Camera::getDerivedPosition void    const
 

Gets the derived position of the camera, including any translation inherited from a node attachment.

Definition at line 835 of file OgreCamera.cpp.

References mDerivedPosition, and updateView().

Referenced by Ogre::Overlay::_findVisibleObjects(), Ogre::SceneManager::_queueSkiesForRendering(), Ogre::AutoParamDataSource::getCameraPositionObjectSpace(), Ogre::WireBoundingBox::getSquaredViewDepth(), Ogre::TerrainRenderable::getSquaredViewDepth(), Ogre::OctreeCamera::getSquaredViewDepth(), Ogre::Node::getSquaredViewDepth(), Ogre::Frustum::getSquaredViewDepth(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::BspSceneManager::walkTree().

SceneDetailLevel Ogre::Camera::getDetailLevel void    const
 

Retrieves the level of detail that the camera will render.

Definition at line 125 of file OgreCamera.cpp.

References mSceneDetail, and Ogre::SceneDetailLevel.

Referenced by Ogre::SceneManager::_renderScene(), and Ogre::SceneManager::renderSingleObject().

Vector3 Ogre::Camera::getDirection void    const
 

Definition at line 232 of file OgreCamera.cpp.

References mOrientation.

Real Ogre::Camera::getFarClipDistance void    const
 

Retrieves the distance from the camera to the far clipping plane.

Definition at line 278 of file OgreCamera.cpp.

References mFarDist, and Ogre::Real.

Real Ogre::Camera::getFOVy void    const
 

Retrieves the cameras Y-dimension Field Of View (FOV).

Definition at line 264 of file OgreCamera.cpp.

References mFOVy, and Ogre::Real.

const Plane & Ogre::Camera::getFrustumPlane FrustumPlane    plane const
 

Retrieves a specified plane of the frustum.

Remarks:
Gets a reference to one of the planes which make up the camera frustum, e.g. for clipping purposes.

Definition at line 384 of file OgreCamera.cpp.

References Ogre::FrustumPlane, mFrustumPlanes, and updateView().

Real Ogre::Camera::getLodBias void    const
 

Returns the level-of-detail bias factor currently applied to this camera.

Remarks:
See Camera::setLodBias for more details.

Definition at line 901 of file OgreCamera.cpp.

References mSceneLodFactor, and Ogre::Real.

const String & Ogre::Camera::getMovableType void    const [virtual]
 

Overridden from MovableObject.

Implements Ogre::MovableObject.

Definition at line 865 of file OgreCamera.cpp.

References msMovableType.

const String & Ogre::Camera::getName void    const [virtual]
 

Gets the camera's name.

Implements Ogre::MovableObject.

Definition at line 100 of file OgreCamera.cpp.

References mName.

Referenced by Ogre::Viewport::_updateDimensions().

Real Ogre::Camera::getNearClipDistance void    const
 

Sets the position of the near clipping plane.

Definition at line 294 of file OgreCamera.cpp.

References mNearDist, and Ogre::Real.

const Quaternion & Ogre::Camera::getOrientation void    const
 

Returns the camera's current orientation.

Definition at line 817 of file OgreCamera.cpp.

References mOrientation.

Node * Ogre::MovableObject::getParentNode void    const [virtual, inherited]
 

Returns the node to which this object is attached.

Remarks:
An object is not visible in the scene unless attached to a SceneNode.

Attaching an object is done via the SceneNode::attachObject method.

Definition at line 60 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mParentNode.

Referenced by Ogre::TagPoint::_updateFromParent(), Ogre::BspIntersectionSceneQuery::execute(), Ogre::TagPoint::getLights(), Ogre::SubEntity::getLights(), Ogre::SubEntity::getSquaredViewDepth(), Ogre::TagPoint::needUpdate(), and Ogre::BspSceneManager::processVisibleLeaf().

const Vector3 & Ogre::Camera::getPosition void    const
 

Retrieves the camera's position.

Definition at line 147 of file OgreCamera.cpp.

References mPosition.

const Matrix4 & Ogre::Camera::getProjectionMatrix void    const
 

Gets the projection matrix for this camera.

Mainly for use by OGRE internally.

Remarks:
This method retrieves the rendering-API dependent version of the projection matrix. If you want a 'typical' projection matrix then use getStandardProjectionMatrix.

Definition at line 300 of file OgreCamera.cpp.

References mProjMatrix, and updateFrustum().

Referenced by Ogre::BspSceneManager::renderStaticGeometry(), and Ogre::SceneManager::useRenderableViewProjMode().

ProjectionType Ogre::Camera::getProjectionType void    const
 

Retrieves info on the type of projection used (orthographic or perspective).

Definition at line 113 of file OgreCamera.cpp.

References mProjType, and Ogre::ProjectionType.

virtual unsigned long Ogre::MovableObject::getQueryFlags void    const [virtual, inherited]
 

Returns the query flags relevant for this object.

Definition at line 175 of file OgreMovableObject.h.

Referenced by Ogre::BspIntersectionSceneQuery::execute().

const Matrix4& Ogre::Camera::getReflectionMatrix void   
 

Returns the reflection matrix of the camera if appropriate.

Definition at line 555 of file OgreCamera.h.

const Plane& Ogre::Camera::getReflectionPlane void   
 

Returns the reflection plane of the camera if appropriate.

Definition at line 557 of file OgreCamera.h.

RenderQueueGroupID Ogre::MovableObject::getRenderQueueGroup void    const [virtual, inherited]
 

Gets the queue group for this entity, see setRenderQueueGroup for full details.

Definition at line 87 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mRenderQueueID, and Ogre::RenderQueueGroupID.

SceneManager * Ogre::Camera::getSceneManager void    const
 

Returns a pointer to the SceneManager this camera is rendering through.

Definition at line 95 of file OgreCamera.cpp.

References mSceneMgr.

const Matrix4 & Ogre::Camera::getStandardProjectionMatrix void    const
 

Gets the 'standard' projection matrix for this camera, ie the projection matrix which conforms to standard right-handed rules.

Remarks:
This differs from the rendering-API dependent getProjectionMatrix in that it always returns a right-handed projection matrix result no matter what rendering API is being used - this is required for vertex and fragment programs for example. However, the resulting depth range may still vary between render systems since D3D uses [0,1] and GL uses [-1,1], and the range must be kept the same between programmable and fixed-function pipelines.

Definition at line 308 of file OgreCamera.cpp.

References mStandardProjMatrix, and updateFrustum().

Referenced by Ogre::AutoParamDataSource::getProjectionMatrix().

virtual UserDefinedObject* Ogre::MovableObject::getUserObject void    [virtual, inherited]
 

Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.

Definition at line 136 of file OgreMovableObject.h.

const Matrix4 & Ogre::Camera::getViewMatrix void    const
 

Gets the view matrix for this camera.

Mainly for use by OGRE internally.

Definition at line 316 of file OgreCamera.cpp.

References mViewMatrix, and updateView().

Referenced by Ogre::AutoParamDataSource::getViewMatrix(), Ogre::BspSceneManager::renderStaticGeometry(), and Ogre::SceneManager::useRenderableViewProjMode().

const AxisAlignedBox & Ogre::MovableObject::getWorldBoundingBox bool    derive = false const [virtual, inherited]
 

Retrieves the axis-aligned bounding box for this object in world coordinates.

Definition at line 104 of file OgreMovableObject.cpp.

References Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::MovableObject::getBoundingBox(), Ogre::MovableObject::mWorldAABB, and Ogre::AxisAlignedBox::transform().

Referenced by Ogre::BspIntersectionSceneQuery::execute(), and Ogre::BspSceneManager::processVisibleLeaf().

const Sphere & Ogre::MovableObject::getWorldBoundingSphere bool    derive = false const [virtual, inherited]
 

Retrieves the worldspace bounding sphere for this object.

Definition at line 116 of file OgreMovableObject.cpp.

References Ogre::Node::_getDerivedPosition(), Ogre::MovableObject::getBoundingRadius(), Ogre::MovableObject::mParentNode, Ogre::MovableObject::mWorldBoundingSphere, Ogre::Sphere::setCenter(), and Ogre::Sphere::setRadius().

bool Ogre::MovableObject::isAttached void    const [virtual, inherited]
 

Returns true if this object is attached to a SceneNode or TagPoint.

Definition at line 65 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mParentNode.

Referenced by Ogre::Entity::attachObjectToBone().

bool Ogre::Camera::isFrustumOutOfDate void    const [protected]
 

Definition at line 632 of file OgreCamera.cpp.

References mRecalcFrustum.

bool Ogre::Camera::isReflected void   
 

Returns whether this camera is being reflected.

Definition at line 553 of file OgreCamera.h.

Referenced by Ogre::SceneManager::_renderScene().

bool Ogre::Camera::isViewOutOfDate void    const [protected]
 

Definition at line 602 of file OgreCamera.cpp.

References Ogre::Node::_getDerivedOrientation(), Ogre::Node::_getDerivedPosition(), mDerivedOrientation, mDerivedPosition, mLastParentOrientation, mLastParentPosition, mOrientation, Ogre::MovableObject::mParentNode, mPosition, and mRecalcView.

Referenced by updateView().

bool Ogre::MovableObject::isVisible void    const [virtual, inherited]
 

Returns whether or not this object is supposed to be visible or not.

Definition at line 76 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mVisible.

Referenced by Ogre::OctreeNode::_addToRenderQueue(), Ogre::SceneManager::_populateLightList(), and Ogre::BspSceneManager::processVisibleLeaf().

bool Ogre::Camera::isVisible const Vector3   vert,
FrustumPlane   culledBy = 0
const
 

Tests whether the given vertex is visible in the Frustum.

Parameters:
vert  Vertex to be checked
culledBy  Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;
Returns:
If the box was visible, true is returned.

Otherwise, false is returned.

Definition at line 431 of file OgreCamera.cpp.

References Ogre::FrustumPlane, Ogre::Plane::getSide(), mFrustumPlanes, and updateView().

bool Ogre::Camera::isVisible const Sphere   bound,
FrustumPlane   culledBy = 0
const
 

Tests whether the given container is visible in the Frustum.

Parameters:
bound  Bounding sphere to be checked
culledBy  Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;
Returns:
If the sphere was visible, true is returned.

Otherwise, false is returned.

Definition at line 454 of file OgreCamera.cpp.

References Ogre::FrustumPlane, Ogre::Sphere::getCenter(), Ogre::Plane::getDistance(), Ogre::Sphere::getRadius(), mFrustumPlanes, and updateView().

bool Ogre::Camera::isVisible const AxisAlignedBox   bound,
FrustumPlane   culledBy = 0
const
 

Tests whether the given container is visible in the Frustum.

Parameters:
bound  Bounding box to be checked
culledBy  Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;
Returns:
If the box was visible, true is returned.

Otherwise, false is returned.

Definition at line 394 of file OgreCamera.cpp.

References Ogre::FrustumPlane, Ogre::AxisAlignedBox::getAllCorners(), Ogre::Plane::getSide(), Ogre::AxisAlignedBox::isNull(), mFrustumPlanes, and updateView().

Referenced by Ogre::SceneNode::_findVisibleObjects(), Ogre::BillboardSet::billboardVisible(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::BspSceneManager::walkTree().

void Ogre::Camera::lookAt Real    x,
Real    y,
Real    z
 

Points the camera at a location in worldspace.

Remarks:
This is a helper method to automatically generate the direction vector for the camera, based on it's current position and the supplied look-at point.
Parameters:
x 
y 
z  Co-ordinates of the point to look at.

Definition at line 249 of file OgreCamera.cpp.

References lookAt(), and Ogre::Real.

void Ogre::Camera::lookAt const Vector3   targetPoint
 

Points the camera at a location in worldspace.

Remarks:
This is a helper method to automatically generate the direction vector for the camera, based on it's current position and the supplied look-at point.
Parameters:
targetPoint  A vector specifying the look at point.

Definition at line 240 of file OgreCamera.cpp.

References mDerivedPosition, setDirection(), and updateView().

Referenced by _autoTrack(), and lookAt().

void Ogre::Camera::move const Vector3   vec
 

Moves the camera's position by the vector offset provided along world axes.

Definition at line 153 of file OgreCamera.cpp.

References mPosition, and mRecalcView.

void Ogre::Camera::moveRelative const Vector3   vec
 

Moves the camera's position by the vector offset provided along it's own axes (relative to orientation).

Definition at line 160 of file OgreCamera.cpp.

References mOrientation, mPosition, and mRecalcView.

void Ogre::Camera::pitch Real    degrees
 

Pitches the camera up/down anticlockwise around it's local z axis.

Definition at line 356 of file OgreCamera.cpp.

References mOrientation, mRecalcView, Ogre::Real, and rotate().

virtual void Ogre::MovableObject::removeQueryFlags unsigned long    flags [virtual, inherited]
 

As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.

Definition at line 172 of file OgreMovableObject.h.

void Ogre::Camera::roll Real    degrees
 

Rolls the camera anticlockwise, in degrees, around its local z axis.

Definition at line 325 of file OgreCamera.cpp.

References mOrientation, mRecalcView, Ogre::Real, and rotate().

void Ogre::Camera::rotate const Quaternion   q
 

Rotate the camera around an aritrary axis using a Quarternion.

Definition at line 375 of file OgreCamera.cpp.

References mOrientation, and mRecalcView.

void Ogre::Camera::rotate const Vector3   axis,
Real    degrees
 

Rotate the camera around an arbitrary axis.

Definition at line 367 of file OgreCamera.cpp.

References Ogre::Quaternion::FromAngleAxis(), and Ogre::Real.

Referenced by pitch(), roll(), and yaw().

void Ogre::Camera::setAspectRatio Real    ratio
 

Sets the aspect ratio for the camera viewport.

Remarks:
The ratio between the x and y dimensions of the rectangular area visible through the camera is known as aspect ratio: aspect = width / height .

The default for most fullscreen windows is 1.3333 - this is also assumed by Ogre unless you use this method to state otherwise.

Definition at line 772 of file OgreCamera.cpp.

References mAspect, mRecalcFrustum, and Ogre::Real.

void Ogre::Camera::setAutoTracking bool    enabled,
SceneNode   target = 0,
const Vector3   offset = Vector3::ZERO
 

Enables / disables automatic tracking of a SceneNode.

Remarks:
If you enable auto-tracking, this Camera will automatically rotate to look at the target SceneNode every frame, no matter how it or SceneNode move. This is handy if you want a Camera to be focused on a single object or group of objects. Note that by default the Camera looks at the origin of the SceneNode, if you want to tweak this, e.g. if the object which is attached to this target node is quite big and you want to point the camera at a specific point on it, provide a vector in the 'offset' parameter and the camera's target point will be adjusted.
Parameters:
enabled  If true, the Camera will track the SceneNode supplied as the next parameter (cannot be null). If false the camera will cease tracking and will remain in it's current orientation.
target  Pointer to the SceneNode which this Camera will track. Make sure you don't delete this SceneNode before turning off tracking (e.g. SceneManager::clearScene will delete it so be careful of this). Can be null if and only if the enabled param is false.
offset  If supplied, the camera targets this point in local space of the target node instead of the origin of the target node. Good for fine tuning the look at point.

Definition at line 870 of file OgreCamera.cpp.

References mAutoTrackOffset, and mAutoTrackTarget.

void Ogre::Camera::setDetailLevel SceneDetailLevel    sd
 

Sets the level of rendering detail required from this camera.

Remarks:
Each camera is set to render at full detail by default, that is with full texturing, lighting etc. This method lets you change that behaviour, allowing you to make the camera just render a wireframe view, for example.

Definition at line 119 of file OgreCamera.cpp.

References mSceneDetail, and Ogre::SceneDetailLevel.

void Ogre::Camera::setDirection const Vector3   vec
 

Sets the camera's direction vector.

Definition at line 176 of file OgreCamera.cpp.

References Ogre::Vector3::crossProduct(), Ogre::Quaternion::FromAngleAxis(), Ogre::Quaternion::FromAxes(), Ogre::Vector3::getRotationTo(), mDerivedOrientation, mOrientation, mRecalcView, mYawFixedAxis, Ogre::Vector3::normalise(), Ogre::Quaternion::ToAxes(), and updateView().

void Ogre::Camera::setDirection Real    x,
Real    y,
Real    z
 

Sets the camera's direction vector.

Remarks:
Note that the 'up' vector for the camera will automatically be recalculated based on the current 'up' vector (i.e. the roll will remain the same).

Definition at line 170 of file OgreCamera.cpp.

References Ogre::Real.

Referenced by lookAt().

void Ogre::Camera::setFarClipDistance Real    farDist
 

Sets the distance to the far clipping plane.

Remarks:
The view frustrum is a pyramid created from the camera position and the edges of the viewport. This frustrum does not extend to infinity - it is cropped near to the camera and there is a far plane beyond which nothing is displayed. This method sets the distance for the far plane. Different applications need different values: e.g. a flight sim needs a much further far clipping plane than a first-person shooter. An important point here is that the larger the gap between near and far clipping planes, the lower the accuracy of the Z-buffer used to depth-cue pixels. This is because the Z-range is limited to the size of the Z buffer (16 or 32-bit) and the max values must be spread over the gap between near and far clip planes. The bigger the range, the more the Z values will be approximated which can cause artifacts when lots of objects are close together in the Z-plane. So make sure you clip as close to the camera as you can - don't set a huge value for the sake of it.
Parameters:
far  The distance to the far clipping plane from the camera in world coordinates.

Definition at line 271 of file OgreCamera.cpp.

References mFarDist, mRecalcFrustum, and Ogre::Real.

void Ogre::Camera::setFixedYawAxis bool    useFixed,
const Vector3   fixedAxis = Vector3::UNIT_Y
 

Tells the camera whether to yaw around it's own local Y axis or a fixed axis of choice.

Remarks:
This method allows you to change the yaw behaviour of the camera - by default, the camera yaws around it's own local Y axis. This is often what you want - for example a flying camera
  • but sometimes this produces unwanted effects. For example, if you're making a first-person shooter, you really don't want the yaw axis to reflect the local camera Y, because this would mean a different yaw axis if the player is looking upwards rather than when they are looking straight ahead. You can change this behaviour by setting the yaw to a fixed axis (say, the world Y).
Parameters:
useFixed  If true, the axis passed in the second parameter will always be the yaw axis no matter what the camera orientation. If false, the camera returns to it's default behaviour.
fixedAxis  The axis to use if the first parameter is true.

Definition at line 798 of file OgreCamera.cpp.

References mYawFixed, and mYawFixedAxis.

Referenced by Camera().

void Ogre::Camera::setFOVy Real    fovy
 

Sets the Y-dimension Field Of View (FOV) of the camera.

Remarks:
Field Of View (FOV) is the angle made between the camera's position, and the left & right edges of the 'screen' onto which the scene is projected. High values (90+) result in a wide-angle, fish-eye kind of view, low values (30-) in a stretched, telescopic kind of view. Typical values are between 45 and 60.

This value represents the HORIZONTAL field-of-view. The vertical field of view is calculated from this depending on the dimensions of the viewport (they will only be the same if the viewport is square).

Note:
Setting the FOV overrides the value supplied for Camera::setNearClipPlane.

Definition at line 257 of file OgreCamera.cpp.

References mFOVy, mRecalcFrustum, and Ogre::Real.

void Ogre::Camera::setLodBias Real    factor = 1.0
 

Sets the level-of-detail factor for this Camera.

Remarks:
This method can be used to influence the overall level of detail of the scenes rendered using this camera. Various elements of the scene have level-of-detail reductions to improve rendering speed at distance; this method allows you to hint to those elements that you would like to adjust the level of detail that they would normally use (up or down).

The most common use for this method is to reduce the overall level of detail used for a secondary camera used for sub viewports like rear-view mirrors etc. Note that scene elements are at liberty to ignore this setting if they choose, this is merely a hint.

Parameters:
factor  The factor to apply to the usual level of detail calculation. Higher values increase the detail, so 2.0 doubles the normal detail and 0.5 halves it.

Definition at line 894 of file OgreCamera.cpp.

References mSceneLodFactor, mSceneLodFactorInv, and Ogre::Real.

void Ogre::Camera::setNearClipDistance Real    nearDist
 

Sets the position of the near clipping plane.

Remarks:
The position of the near clipping plane is the distance from the cameras position to the screen on which the world is projected. The near plane distance, combined with the field-of-view and the aspect ratio, determines the size of the viewport through which the world is viewed (in world co-ordinates). Note that this world viewport is different to a screen viewport, which has it's dimensions expressed in pixels. The cameras viewport should have the same aspect ratio as the screen viewport it renders into to avoid distortion.
Parameters:
near  The distance to the near clipping plane from the camera in world coordinates.

Definition at line 284 of file OgreCamera.cpp.

References Except, mNearDist, mRecalcFrustum, and Ogre::Real.

void Ogre::Camera::setOrientation const Quaternion   q
 

Sets the camera's orientation.

Definition at line 823 of file OgreCamera.cpp.

References mOrientation, and mRecalcView.

void Ogre::Camera::setPosition const Vector3   vec
 

Sets the camera's position.

Definition at line 140 of file OgreCamera.cpp.

References mPosition, and mRecalcView.

void Ogre::Camera::setPosition Real    x,
Real    y,
Real    z
 

Sets the camera's position.

Definition at line 131 of file OgreCamera.cpp.

References mPosition, mRecalcView, Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

void Ogre::Camera::setProjectionType ProjectionType    pt
 

Sets the type of projection to use (orthographic or perspective).

Default is perspective.

Definition at line 106 of file OgreCamera.cpp.

References mProjType, mRecalcFrustum, and Ogre::ProjectionType.

virtual void Ogre::MovableObject::setQueryFlags unsigned long    flags [virtual, inherited]
 

Sets the query flags for this object.

Remarks:
When performing a scene query, this object will be included or excluded according to flags on the object and flags on the query. This is a bitwise value, so only when a bit on these flags is set, will it be included in a query asking for that flag. The meaning of the bits is application-specific.

Definition at line 164 of file OgreMovableObject.h.

void Ogre::MovableObject::setRenderQueueGroup RenderQueueGroupID    queueID [virtual, inherited]
 

Sets the render queue group this entity will be rendered through.

Remarks:
Render queues are grouped to allow you to more tightly control the ordering of rendered objects. If you do not call this method, all Entity objects default to RENDER_QUEUE_MAIN which is fine for most objects. You may want to alter this if you want this entity to always appear in front of other objects, e.g. for a 3D menu system or such.

See RenderQueue for more details.

Parameters:
queueID  Enumerated value of the queue group to use.

Definition at line 82 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mRenderQueueID, and Ogre::RenderQueueGroupID.

virtual void Ogre::MovableObject::setUserObject UserDefinedObject   obj [virtual, inherited]
 

Call this to associate your own custom user object instance with this MovableObject.

Remarks:
By simply making your game / application object a subclass of UserDefinedObject, you can establish a link between an OGRE instance of MovableObject and your own application classes. Call this method to establish the link.

Definition at line 132 of file OgreMovableObject.h.

void Ogre::MovableObject::setVisible bool    visible [virtual, inherited]
 

Tells this object whether to be visible or not, if it has a renderable component.

Reimplemented in Ogre::Light.

Definition at line 71 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mVisible.

void Ogre::Camera::updateFrustum void    const [protected]
 

Definition at line 478 of file OgreCamera.cpp.

References mAspect, mCoeffB, mCoeffL, mCoeffR, mCoeffT, mFarDist, mFOVy, mNearDist, mProjMatrix, mProjType, mRecalcFrustum, mStandardProjMatrix, Ogre::PT_ORTHOGRAPHIC, Ogre::PT_PERSPECTIVE, and Ogre::Real.

Referenced by getProjectionMatrix(), getStandardProjectionMatrix(), and updateView().

void Ogre::Camera::updateView void    const [protected]
 

Definition at line 638 of file OgreCamera.cpp.

References Ogre::Plane::d, Ogre::Vector3::dotProduct(), Ogre::FRUSTUM_PLANE_BOTTOM, Ogre::FRUSTUM_PLANE_FAR, Ogre::FRUSTUM_PLANE_LEFT, Ogre::FRUSTUM_PLANE_NEAR, Ogre::FRUSTUM_PLANE_RIGHT, Ogre::FRUSTUM_PLANE_TOP, Ogre::Matrix3::GetColumn(), isViewOutOfDate(), mCoeffB, mCoeffL, mCoeffR, mCoeffT, mDerivedOrientation, mDerivedPosition, mFarDist, mFrustumPlanes, mNearDist, mRecalcView, mReflectMatrix, mReflectPlane, mViewMatrix, Ogre::Plane::normal, Ogre::Real, Ogre::Vector3::reflect(), Ogre::Quaternion::ToRotationMatrix(), Ogre::Matrix3::Transpose(), updateFrustum(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

Referenced by Camera(), getDerivedDirection(), getDerivedOrientation(), getDerivedPosition(), getFrustumPlane(), Ogre::OctreeCamera::getRenderOperation(), getViewMatrix(), Ogre::OctreeCamera::getVisibility(), isVisible(), lookAt(), and setDirection().

void Ogre::Camera::yaw Real    degrees
 

Rotates the camera anticlockwise around it's local y axis.

Definition at line 335 of file OgreCamera.cpp.

References mOrientation, mRecalcView, mYawFixedAxis, Ogre::Real, and rotate().


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &    o,
Camera &    c
[friend]
 

Function for outputting to a stream.

Definition at line 779 of file OgreCamera.cpp.


Member Data Documentation

Real Ogre::Camera::mAspect [protected]
 

x/y viewport ratio - default 1.3333

Definition at line 111 of file OgreCamera.h.

Referenced by Camera(), getAspectRatio(), Ogre::operator<<(), setAspectRatio(), and updateFrustum().

Vector3 Ogre::Camera::mAutoTrackOffset [protected]
 

Tracking offset for fine tuning.

Definition at line 158 of file OgreCamera.h.

Referenced by _autoTrack(), and setAutoTracking().

SceneNode* Ogre::Camera::mAutoTrackTarget [protected]
 

SceneNode which this Camera will automatically track.

Definition at line 156 of file OgreCamera.h.

Referenced by _autoTrack(), Camera(), and setAutoTracking().

Real Ogre::Camera::mCoeffB[2] [protected]
 

Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

Definition at line 140 of file OgreCamera.h.

Referenced by updateFrustum(), and updateView().

Real Ogre::Camera::mCoeffL[2] [protected]
 

Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

Definition at line 140 of file OgreCamera.h.

Referenced by updateFrustum(), and updateView().

Real Ogre::Camera::mCoeffR[2] [protected]
 

Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

Definition at line 140 of file OgreCamera.h.

Referenced by updateFrustum(), and updateView().

Real Ogre::Camera::mCoeffT[2] [protected]
 

Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.

Definition at line 140 of file OgreCamera.h.

Referenced by updateFrustum(), and updateView().

Quaternion Ogre::Camera::mDerivedOrientation [protected]
 

Derived positions of parent orientation / position.

Definition at line 101 of file OgreCamera.h.

Referenced by getDerivedDirection(), getDerivedOrientation(), isViewOutOfDate(), setDirection(), and updateView().

Vector3 Ogre::Camera::mDerivedPosition [protected]
 

Definition at line 102 of file OgreCamera.h.

Referenced by getDerivedPosition(), isViewOutOfDate(), lookAt(), and updateView().

Real Ogre::Camera::mFarDist [protected]
 

Far clip distance - default 10000.

Definition at line 107 of file OgreCamera.h.

Referenced by Camera(), getFarClipDistance(), Ogre::operator<<(), setFarClipDistance(), updateFrustum(), and updateView().

Real Ogre::Camera::mFOVy [protected]
 

Camera y-direction field-of-view (default 45).

Definition at line 105 of file OgreCamera.h.

Referenced by Camera(), getFOVy(), Ogre::operator<<(), setFOVy(), and updateFrustum().

Plane Ogre::Camera::mFrustumPlanes[6] [protected]
 

The 6 main clipping planes.

Definition at line 118 of file OgreCamera.h.

Referenced by Ogre::OctreeCamera::_getCorner(), getFrustumPlane(), Ogre::OctreeCamera::getVisibility(), isVisible(), Ogre::operator<<(), and updateView().

Quaternion Ogre::Camera::mLastParentOrientation [protected]
 

Stored versions of parent orientation / position.

Definition at line 97 of file OgreCamera.h.

Referenced by isViewOutOfDate().

Vector3 Ogre::Camera::mLastParentPosition [protected]
 

Definition at line 98 of file OgreCamera.h.

Referenced by isViewOutOfDate().

String Ogre::Camera::mName [protected]
 

Camera name.

Definition at line 86 of file OgreCamera.h.

Referenced by getName(), and Ogre::operator<<().

Real Ogre::Camera::mNearDist [protected]
 

Near clip distance - default 100.

Definition at line 109 of file OgreCamera.h.

Referenced by Camera(), getBoundingRadius(), getNearClipDistance(), Ogre::operator<<(), setNearClipDistance(), updateFrustum(), and updateView().

Quaternion Ogre::Camera::mOrientation [protected]
 

Camera orientation, quaternion style.

Definition at line 91 of file OgreCamera.h.

Referenced by Camera(), getDirection(), getOrientation(), isViewOutOfDate(), moveRelative(), Ogre::operator<<(), pitch(), roll(), rotate(), setDirection(), setOrientation(), and yaw().

bool Ogre::MovableObject::mParentIsTagPoint [protected, inherited]
 

Definition at line 48 of file OgreMovableObject.h.

Referenced by Ogre::MovableObject::_notifyAttached(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::~MovableObject().

Node* Ogre::MovableObject::mParentNode [protected, inherited]
 

node to which this object is attached

Definition at line 47 of file OgreMovableObject.h.

Referenced by Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::MovableObject::_notifyAttached(), Ogre::Entity::_notifyCurrentCamera(), Ogre::ParticleSystem::_triggerEmitters(), Ogre::ParticleSystem::_updateBounds(), Ogre::BillboardSet::_updateBounds(), Camera(), Ogre::Frustum::Frustum(), Ogre::BillboardSet::genBillboardAxes(), Ogre::Entity::getBoundingBox(), Ogre::Entity::getBoundingRadius(), Ogre::TerrainRenderable::getLights(), Ogre::SimpleRenderable::getLights(), Ogre::BillboardSet::getLights(), Ogre::MovableObject::getParentNode(), Ogre::Frustum::getSquaredViewDepth(), Ogre::BillboardSet::getSquaredViewDepth(), Ogre::MovableObject::getWorldBoundingSphere(), Ogre::TerrainRenderable::getWorldOrientation(), Ogre::SubEntity::getWorldOrientation(), Ogre::SimpleRenderable::getWorldOrientation(), Ogre::ParticleSystem::getWorldOrientation(), Ogre::Frustum::getWorldOrientation(), Ogre::BillboardSet::getWorldOrientation(), Ogre::TerrainRenderable::getWorldPosition(), Ogre::SubEntity::getWorldPosition(), Ogre::SimpleRenderable::getWorldPosition(), Ogre::ParticleSystem::getWorldPosition(), Ogre::Frustum::getWorldPosition(), Ogre::BillboardSet::getWorldPosition(), Ogre::TerrainRenderable::getWorldTransforms(), Ogre::SimpleRenderable::getWorldTransforms(), Ogre::Frustum::getWorldTransforms(), Ogre::MovableObject::isAttached(), Ogre::Frustum::isViewOutOfDate(), isViewOutOfDate(), Ogre::Light::Light(), Ogre::MovableObject::MovableObject(), Ogre::SimpleRenderable::SimpleRenderable(), Ogre::Light::update(), and Ogre::MovableObject::~MovableObject().

Vector3 Ogre::Camera::mPosition [protected]
 

Camera position - default (0,0,0).

Definition at line 94 of file OgreCamera.h.

Referenced by Camera(), getPosition(), isViewOutOfDate(), move(), moveRelative(), Ogre::operator<<(), and setPosition().

Matrix4 Ogre::Camera::mProjMatrix [protected]
 

Pre-calced projection matrix.

Definition at line 127 of file OgreCamera.h.

Referenced by Camera(), getProjectionMatrix(), and updateFrustum().

ProjectionType Ogre::Camera::mProjType [protected]
 

Orthographic or perspective?

Definition at line 121 of file OgreCamera.h.

Referenced by Camera(), getProjectionType(), setProjectionType(), and updateFrustum().

unsigned long Ogre::MovableObject::mQueryFlags [protected, inherited]
 

Flags determining whether this object is included / excluded from scene queries.

Definition at line 56 of file OgreMovableObject.h.

Referenced by Ogre::MovableObject::MovableObject().

bool Ogre::Camera::mRecalcFrustum [protected]
 

Something's changed in the frustrum shape?

Definition at line 133 of file OgreCamera.h.

Referenced by Camera(), isFrustumOutOfDate(), setAspectRatio(), setFarClipDistance(), setFOVy(), setNearClipDistance(), setProjectionType(), and updateFrustum().

bool Ogre::Camera::mRecalcView [protected]
 

Something re the view pos has changed.

Definition at line 135 of file OgreCamera.h.

Referenced by Camera(), disableReflection(), enableReflection(), isViewOutOfDate(), move(), moveRelative(), pitch(), roll(), rotate(), setDirection(), setOrientation(), setPosition(), updateView(), and yaw().

bool Ogre::Camera::mReflect [protected]
 

Is this camera to act as a reflection of itself?

Definition at line 166 of file OgreCamera.h.

Referenced by Camera(), disableReflection(), and enableReflection().

Matrix4 Ogre::Camera::mReflectMatrix [protected]
 

Definition at line 167 of file OgreCamera.h.

Referenced by enableReflection(), and updateView().

Plane Ogre::Camera::mReflectPlane [protected]
 

Definition at line 168 of file OgreCamera.h.

Referenced by enableReflection(), and updateView().

RenderQueueGroupID Ogre::MovableObject::mRenderQueueID [protected, inherited]
 

The render queue to use when rendering this object.

Definition at line 54 of file OgreMovableObject.h.

Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::BillboardSet::_updateRenderQueue(), Ogre::MovableObject::getRenderQueueGroup(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setRenderQueueGroup().

SceneDetailLevel Ogre::Camera::mSceneDetail [protected]
 

Rendering type.

Definition at line 123 of file OgreCamera.h.

Referenced by Camera(), getDetailLevel(), and setDetailLevel().

Real Ogre::Camera::mSceneLodFactor [protected]
 

Definition at line 161 of file OgreCamera.h.

Referenced by Camera(), getLodBias(), and setLodBias().

Real Ogre::Camera::mSceneLodFactorInv [protected]
 

Inverted scene LOD factor, can be used by Renderables to adjust their LOD.

Definition at line 163 of file OgreCamera.h.

Referenced by _getLodBiasInverse(), Camera(), and setLodBias().

SceneManager* Ogre::Camera::mSceneMgr [protected]
 

Scene manager responsible for the scene.

Definition at line 88 of file OgreCamera.h.

Referenced by _renderScene(), Camera(), and getSceneManager().

String Ogre::Camera::msMovableType = "Camera" [static, protected]
 

Shared class-level name for Movable type.

Definition at line 41 of file OgreCamera.cpp.

Referenced by getMovableType().

Matrix4 Ogre::Camera::mStandardProjMatrix [protected]
 

Pre-calced standard projection matrix.

Definition at line 129 of file OgreCamera.h.

Referenced by getStandardProjectionMatrix(), and updateFrustum().

UserDefinedObject* Ogre::MovableObject::mUserObject [protected, inherited]
 

User defined object which is linked to this object.

Definition at line 52 of file OgreMovableObject.h.

Referenced by Ogre::MovableObject::MovableObject().

Matrix4 Ogre::Camera::mViewMatrix [protected]
 

Pre-calced view matrix.

Definition at line 131 of file OgreCamera.h.

Referenced by Camera(), getViewMatrix(), and updateView().

unsigned int Ogre::Camera::mVisFacesLastRender [protected]
 

Stored number of visible faces in the last render.

Definition at line 150 of file OgreCamera.h.

Referenced by _getNumRenderedFaces(), and _notifyRenderedFaces().

bool Ogre::MovableObject::mVisible [protected, inherited]
 

Is this object visible?

Definition at line 50 of file OgreMovableObject.h.

Referenced by Ogre::Frustum::Frustum(), Ogre::MovableObject::isVisible(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setVisible().

AxisAlignedBox Ogre::MovableObject::mWorldAABB [protected, inherited]
 

Cached world AABB of this object.

Definition at line 58 of file OgreMovableObject.h.

Referenced by Ogre::MovableObject::getWorldBoundingBox(), and Ogre::MovableObject::MovableObject().

Sphere Ogre::MovableObject::mWorldBoundingSphere [protected, inherited]
 

Definition at line 60 of file OgreMovableObject.h.

Referenced by Ogre::MovableObject::getWorldBoundingSphere().

bool Ogre::Camera::mYawFixed [protected]
 

Whether to yaw around a fixed axis.

Definition at line 113 of file OgreCamera.h.

Referenced by setFixedYawAxis().

Vector3 Ogre::Camera::mYawFixedAxis [protected]
 

Fixed axis to yaw around.

Definition at line 115 of file OgreCamera.h.

Referenced by setDirection(), setFixedYawAxis(), and yaw().


The documentation for this class was generated from the following files:

Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:17:02 2004