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

SkeletalSubMesh Class Reference

#include <skin.h>

Inheritance diagram for SkeletalSubMesh:

Inheritance graph
[legend]
Collaboration diagram for SkeletalSubMesh:

Collaboration graph
[legend]
List of all members.

Detailed Description

Derived shard with bone weighted vertices for skeletal animation.

Author:
Mattias Jansson (mattias@realityrift.com)


Public Types

enum  SUBMESHTYPE { SUBMESH = 0x0001, ANIMATEDSUBMESH = 0x0002, SKELETALSUBMESH = 0x0003, PATCHSURFACE = 0x0004 }
 Supported sub mesh types. More...


Public Member Functions

 SkeletalSubMesh ()
 SkeletalSubMesh (const SkeletalSubMesh &rkSubMesh)
virtual ~SkeletalSubMesh ()
virtual VertexBufferPtrGetVertexBuffer ()
void WeightVertices ()
virtual void Update (float fDeltaTime)
virtual SubMeshDuplicate () const
virtual unsigned int GetType () const
virtual PolygonBufferPtr & GetPolygonBuffer ()
virtual void SetVertexBuffer (VertexBufferPtr pkVertices)
virtual void SetPolygonBuffer (PolygonBufferPtr pkPolygons)
virtual void SetShadowVertexBuffer (VertexBufferPtr pkVertices)
virtual void SetShadowPolygonBuffer (PolygonBufferPtr pkPolygons)
virtual void Render (RenderPrimitive *pkPrimitive, Frustum *pkFrustum=0)
bool IsActive () const
virtual void Activate ()
virtual void Deactivate ()
bool Toggle ()

Public Attributes

Skeletonm_pkSkeleton
SkinPtr m_pkSkin
MaterialPtr m_pkMaterial
bool m_bChanged

Protected Member Functions

virtual void UpdateData ()

Protected Attributes

VertexBufferPtr m_pkVertices
PolygonBufferPtr m_pkPolygons
bool m_bNeedUpdate
VertexBufferPtr m_pkShadowVertices
PolygonBufferPtr m_pkShadowPolygons
bool m_bActive


Member Enumeration Documentation

enum SUBMESHTYPE [inherited]
 

Supported sub mesh types.

Enumeration values:
SUBMESH  Plain static submesh
ANIMATEDSUBMESH  Vertex-animated submesh
SKELETALSUBMESH  Skeletal-animated (skinned) submesh
PATCHSURFACE  Patch surface submesh (bezier, nurbs...)


Constructor & Destructor Documentation

SkeletalSubMesh  ) 
 

SkeletalSubMesh const SkeletalSubMesh rkSubMesh  ) 
 

Parameters:
rkSubMesh Reference submesh to copy data from

virtual ~SkeletalSubMesh  )  [virtual]
 


Member Function Documentation

virtual void UpdateData  )  [inline, protected, virtual]
 

Update data

Reimplemented from SubMesh.

virtual VertexBufferPtr& GetVertexBuffer  )  [inline, virtual]
 

Returns:
Weighted vertices

Reimplemented from SubMesh.

void WeightVertices  ) 
 

Weight vertices

virtual void Update float  fDeltaTime  )  [inline, virtual]
 

Update submesh (only trigger flag to weight vertices)

Parameters:
fDeltaTime Delta time passed

Reimplemented from SubMesh.

virtual SubMesh* Duplicate  )  const [virtual]
 

Returns:
new submesh that is duplicate of this

Reimplemented from SubMesh.

virtual unsigned int GetType  )  const [inline, virtual]
 

Returns:
Sub mesh type

Reimplemented from SubMesh.

virtual PolygonBufferPtr& GetPolygonBuffer  )  [inline, virtual, inherited]
 

Returns:
Polygon buffer

virtual void SetVertexBuffer VertexBufferPtr  pkVertices  )  [virtual, inherited]
 

Parameters:
pkVertices New vertex buffer

Reimplemented in PatchSurfaceSubMesh.

virtual void SetPolygonBuffer PolygonBufferPtr  pkPolygons  )  [virtual, inherited]
 

Parameters:
pkPolygons New polygon buffer

Reimplemented in PatchSurfaceSubMesh.

virtual void SetShadowVertexBuffer VertexBufferPtr  pkVertices  )  [virtual, inherited]
 

Parameters:
pkVertices New shadow vertex buffer

virtual void SetShadowPolygonBuffer PolygonBufferPtr  pkPolygons  )  [virtual, inherited]
 

Parameters:
pkPolygons New shadow polygon buffer

virtual void Render RenderPrimitive pkPrimitive,
Frustum pkFrustum = 0
[virtual, inherited]
 

Render submesh geometry

Parameters:
pkPrimitive Presetup render primitive object (needed for inverse mesh transform matrix)
pkFrustum Current view frustum

bool IsActive  )  const [inline, inherited]
 

Query state of object

Returns:
true if active, false if not

void Activate  )  [inline, virtual, inherited]
 

Activate object

void Deactivate  )  [inline, virtual, inherited]
 

Deactivate object

bool Toggle  )  [inline, inherited]
 

Toggle active state. This method does not need to be overloaded, it is only a wrapper to Activate and Deactivate

Returns:
true if activated, false if deactivated


Member Data Documentation

Skeleton* m_pkSkeleton
 

Skeleton

SkinPtr m_pkSkin
 

Vertex weight data

VertexBufferPtr m_pkVertices [protected, inherited]
 

Vertex buffer

PolygonBufferPtr m_pkPolygons [protected, inherited]
 

Polygon buffer

bool m_bNeedUpdate [protected, inherited]
 

Flag indicating update needed

VertexBufferPtr m_pkShadowVertices [protected, inherited]
 

Shadow vertex buffer

PolygonBufferPtr m_pkShadowPolygons [protected, inherited]
 

Shadow polygon buffer

MaterialPtr m_pkMaterial [inherited]
 

Material

bool m_bChanged [inherited]
 

Flag indicating geometry has changed

bool m_bActive [protected, inherited]
 

Active flag


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:15 2004 for NeoEngine by doxygen 1.3.5