Planeshift
Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes

psEffectObjQuad Class Reference

#include <pseffectobjquad.h>

List of all members.

Classes

struct  MeshAnimControl

Public Member Functions

virtual psEffectObjClone () const
 Clones the effect object.
virtual void CloneBase (psEffectObj *newObj) const
 Convenience function to clone the base member variables.
virtual bool Load (iDocumentNode *node, iLoaderContext *ldr_context)
 Loads the effect object from an xml node.
 psEffectObjQuad (iView *parentView, psEffect2DRenderer *renderer2d)
virtual bool Render (const csVector3 &up)
 Renders the effect.
virtual bool Update (csTicks elapsed)
 Updates the spell effect -- called every frame.
virtual ~psEffectObjQuad ()

Public Attributes

csRef< MeshAnimControlmeshControl

Protected Member Functions

virtual bool CreateMeshFact ()
 Creates a mesh factory for this quad.
virtual bool PostSetup ()
 performs the post setup (after the effect obj has been loaded).
virtual bool UseUniqueMeshFact () const
 Decides whether or not this quad will have a unique mesh factory per effect instance.

Protected Attributes

csRef< iGeneralMeshState > genState
csRef< iMaterialWrapper > mat
float quadAspect
csVector2 texel [4]
csVector3 vert [4]

Detailed Description

Definition at line 29 of file pseffectobjquad.h.


Constructor & Destructor Documentation

psEffectObjQuad::psEffectObjQuad ( iView *  parentView,
psEffect2DRenderer renderer2d 
)
virtual psEffectObjQuad::~psEffectObjQuad ( ) [virtual]

Member Function Documentation

virtual psEffectObj* psEffectObjQuad::Clone ( ) const [virtual]

Clones the effect object.

This will almost always be overloaded.

Reimplemented from psEffectObj.

Reimplemented in psEffectObjText.

virtual void psEffectObjQuad::CloneBase ( psEffectObj newObj) const [virtual]

Convenience function to clone the base member variables.

Parameters:
newObjreference to the new object that will contain the cloned variables

Reimplemented from psEffectObj.

virtual bool psEffectObjQuad::CreateMeshFact ( ) [protected, virtual]

Creates a mesh factory for this quad.

virtual bool psEffectObjQuad::Load ( iDocumentNode *  node,
iLoaderContext *  ldr_context 
) [virtual]

Loads the effect object from an xml node.

Parameters:
nodethe xml node containing the effect object, must be valid
ldr_contextthe current loader context.
Returns:
true on success, false otherwise

Reimplemented from psEffectObj.

Reimplemented in psEffectObjText.

virtual bool psEffectObjQuad::PostSetup ( ) [protected, virtual]

performs the post setup (after the effect obj has been loaded).

Things like create mesh factory, etc are initialized here.

Reimplemented in psEffectObjText.

virtual bool psEffectObjQuad::Render ( const csVector3 &  up) [virtual]

Renders the effect.

Parameters:
upthe base up vector of the effect obj
Returns:
true on success

Reimplemented from psEffectObj.

virtual bool psEffectObjQuad::Update ( csTicks  elapsed) [virtual]

Updates the spell effect -- called every frame.

Parameters:
elapsedthe ticks elapsed since last update
Returns:
false if the obj is useless and can be removed

Reimplemented from psEffectObj.

virtual bool psEffectObjQuad::UseUniqueMeshFact ( ) const [protected, virtual]

Decides whether or not this quad will have a unique mesh factory per effect instance.

One example where a unique mesh fact is necessary is with text objs where a unique material is needed per mesh (a unique material requires a unique mesh fact).


Member Data Documentation

csRef<iGeneralMeshState> psEffectObjQuad::genState [protected]

Definition at line 130 of file pseffectobjquad.h.

csRef<iMaterialWrapper> psEffectObjQuad::mat [protected]

Definition at line 135 of file pseffectobjquad.h.

Definition at line 99 of file pseffectobjquad.h.

Definition at line 137 of file pseffectobjquad.h.

csVector2 psEffectObjQuad::texel[4] [protected]

Definition at line 133 of file pseffectobjquad.h.

csVector3 psEffectObjQuad::vert[4] [protected]

Definition at line 132 of file pseffectobjquad.h.


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