MirrorSubObject Class Reference

#include <mirrorSubObject.h>

Inheritance diagram for MirrorSubObject:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 MirrorSubObject ()
 ~MirrorSubObject ()
 DECLARE_CONOBJECT (MirrorSubObject)

Static Public Member Functions

static void initPersistFields ()
 Register dynamic fields in a subclass of ConsoleObject.

Public Attributes

U32 mDetailLevel
U32 mZone
F32 mAlphaLevel
Point3F mCentroid
U32 surfaceCount
U32 surfaceStart

Protected Member Functions

U32 getSubObjectKey () const
bool _readISO (Stream &)
bool _writeISO (Stream &) const
bool renderDetailDependant () const
U32 getZone () const
void noteTransformChange ()
InteriorSubObjectclone (InteriorInstance *) const
void renderObject (SceneState *, SceneRenderImage *)
void transformModelview (const U32, const MatrixF &, MatrixF *)
 This is used by a portal controling object to transform the base-modelview used by the scenegraph for rendering to the modelview it needs to render correctly.
void transformPosition (const U32, Point3F &)
 Used to tranform the position of a point based on a portal.
bool computeNewFrustum (const U32 portalIndex, const F64 *oldFrustum, const F64 nearPlane, const F64 farPlane, const RectI &oldViewport, F64 *newFrustum, RectI &newViewport, const bool flippedMatrix)
 Returns a new view frustum for the portal.
void openPortal (const U32 portalIndex, SceneState *pCurrState, SceneState *pParentState)
 Called before things are to be rendered from the portals point of view, to set up everything the portal needs to render correctly.
void closePortal (const U32 portalIndex, SceneState *pCurrState, SceneState *pParentState)
 Called after rendering of a portal is complete, this resets the states the previous call to openPortal() changed.
void getWSPortalPlane (const U32 portalIndex, PlaneF *)
 Returns the plane of the portal in world space.

Private Types

typedef InteriorSubObject Parent

Private Member Functions

bool isInitialized () const
void setupTransforms ()

Private Attributes

bool mInitialized
GFXTexHandlemWhite
MatrixF mReflectionMatrix

Member Typedef Documentation

Reimplemented from InteriorSubObject.


Constructor & Destructor Documentation

MirrorSubObject::MirrorSubObject (  ) 

MirrorSubObject::~MirrorSubObject (  ) 


Member Function Documentation

bool MirrorSubObject::isInitialized (  )  const [inline, private]

void MirrorSubObject::setupTransforms (  )  [private]

U32 MirrorSubObject::getSubObjectKey (  )  const [protected, virtual]

Implements InteriorSubObject.

bool MirrorSubObject::_readISO ( Stream  )  [protected, virtual]

Reimplemented from InteriorSubObject.

bool MirrorSubObject::_writeISO ( Stream  )  const [protected, virtual]

Reimplemented from InteriorSubObject.

bool MirrorSubObject::renderDetailDependant (  )  const [protected, virtual]

Implements InteriorSubObject.

U32 MirrorSubObject::getZone (  )  const [protected, virtual]

Implements InteriorSubObject.

void MirrorSubObject::noteTransformChange (  )  [protected, virtual]

Reimplemented from InteriorSubObject.

InteriorSubObject* MirrorSubObject::clone ( InteriorInstance  )  const [protected, virtual]

Implements InteriorSubObject.

void MirrorSubObject::renderObject ( SceneState ,
SceneRenderImage *   
) [protected]

void MirrorSubObject::transformModelview ( const   U32,
const MatrixF ,
MatrixF  
) [protected, virtual]

This is used by a portal controling object to transform the base-modelview used by the scenegraph for rendering to the modelview it needs to render correctly.

See also:
MirrorSubObject
Parameters:
portalIndex Index of portal in the list of portals controlled by the object.
oldMV Current modelview matrix used by the SceneGraph (in)
newMV New modelview to be used by the SceneGraph (out)

Reimplemented from SceneObject.

void MirrorSubObject::transformPosition ( const   U32,
Point3F  
) [protected, virtual]

Used to tranform the position of a point based on a portal.

Parameters:
portalIndex Index of a portal to transform by.
point Point to transform.

Reimplemented from SceneObject.

bool MirrorSubObject::computeNewFrustum ( const U32  portalIndex,
const F64 oldFrustum,
const F64  nearPlane,
const F64  farPlane,
const RectI oldViewport,
F64 newFrustum,
RectI newViewport,
const bool  flippedMatrix 
) [protected, virtual]

Returns a new view frustum for the portal.

Parameters:
portalIndex Which portal in the list of portals the object controls
oldFrustum Current frustum.
nearPlane Near clipping plane.
farPlane Far clipping plane.
oldViewport Current viewport.
newFrustum New view frustum to use. (out)
newViewport New viewport to use. (out)
flippedMatrix Should the object should use a flipped matrix to calculate viewport and frustum?

Reimplemented from SceneObject.

void MirrorSubObject::openPortal ( const U32  portalIndex,
SceneState pCurrState,
SceneState pParentState 
) [protected, virtual]

Called before things are to be rendered from the portals point of view, to set up everything the portal needs to render correctly.

Parameters:
portalIndex Index of portal to use.
pCurrState Current SceneState
pParentState SceneState used before this portal was activated

Reimplemented from SceneObject.

void MirrorSubObject::closePortal ( const U32  portalIndex,
SceneState pCurrState,
SceneState pParentState 
) [protected, virtual]

Called after rendering of a portal is complete, this resets the states the previous call to openPortal() changed.

Parameters:
portalIndex Index of portal to use.
pCurrState Current SceneState
pParentState SceneState used before this portal was activated

Reimplemented from SceneObject.

void MirrorSubObject::getWSPortalPlane ( const U32  portalIndex,
PlaneF  
) [protected, virtual]

Returns the plane of the portal in world space.

Parameters:
portalIndex Index of portal to use.
plane Plane of the portal in world space (out)

Reimplemented from SceneObject.

MirrorSubObject::DECLARE_CONOBJECT ( MirrorSubObject   ) 

static void MirrorSubObject::initPersistFields (  )  [static]

Register dynamic fields in a subclass of ConsoleObject.

See also:
addField(), addFieldV(), addDeprecatedField(), addGroup(), endGroup()

Reimplemented from SceneObject.


Member Data Documentation