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

PatchSurfaceSubMesh Class Reference

#include <patch.h>

Inheritance diagram for PatchSurfaceSubMesh:

Inheritance graph
[legend]
Collaboration diagram for PatchSurfaceSubMesh:

Collaboration graph
[legend]
List of all members.

Detailed Description

Derived shard created from a patch surface.

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

 PatchSurfaceSubMesh (const PatchSurfaceData &rkPatchData)
 PatchSurfaceSubMesh (const PatchSurfaceSubMesh &rkSubMesh)
virtual ~PatchSurfaceSubMesh ()
virtual VertexBufferPtr GetControlVertexBuffer ()
virtual const PatchSurfaceDataGetPatchData () const
virtual void SetVertexBuffer (VertexBufferPtr pkVertices)
virtual void SetPolygonBuffer (PolygonBufferPtr pkPolygons)
virtual SubMeshDuplicate () const
virtual unsigned int GetType () const
virtual void Update (float fDeltaTime)
virtual VertexBufferPtrGetVertexBuffer ()
virtual PolygonBufferPtr & GetPolygonBuffer ()
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

MaterialPtr m_pkMaterial
bool m_bChanged

Protected Member Functions

virtual void UpdateData ()

Protected Attributes

PatchSurfaceData m_kPatchData
PatchSurfaceTesselatorm_pkTesselator
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

PatchSurfaceSubMesh const PatchSurfaceData rkPatchData  ) 
 

Parameters:
rkPatchData Patch surface data

PatchSurfaceSubMesh const PatchSurfaceSubMesh rkSubMesh  ) 
 

Parameters:
rkSubMesh Patch surface submesh reference object to copy data from

virtual ~PatchSurfaceSubMesh  )  [virtual]
 


Member Function Documentation

virtual void UpdateData  )  [protected, virtual]
 

Update data

Reimplemented from SubMesh.

virtual VertexBufferPtr GetControlVertexBuffer  )  [inline, virtual]
 

Returns:
Ptr to vertex buffer with control lattice points

virtual const PatchSurfaceData& GetPatchData  )  const [inline, virtual]
 

Returns:
Data object

virtual void SetVertexBuffer VertexBufferPtr  pkVertices  )  [inline, virtual]
 

Ignored for patch surface submeshes

Parameters:
pkVertices New vertex buffer

Reimplemented from SubMesh.

virtual void SetPolygonBuffer PolygonBufferPtr  pkPolygons  )  [inline, virtual]
 

Ignored for patch surface submeshes

Parameters:
pkPolygons New polygon buffer

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 void Update float  fDeltaTime  )  [virtual, inherited]
 

Update this submesh

Parameters:
fDeltaTime Delta time passed

Reimplemented from UpdateEntity.

Reimplemented in AnimatedSubMesh, and SkeletalSubMesh.

virtual VertexBufferPtr& GetVertexBuffer  )  [inline, virtual, inherited]
 

Returns:
Vertex buffer

Reimplemented in SkeletalSubMesh.

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

Returns:
Polygon buffer

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

PatchSurfaceData m_kPatchData [protected]
 

Patch control data

PatchSurfaceTesselator* m_pkTesselator [protected]
 

Tesselator object

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:13 2004 for NeoEngine by doxygen 1.3.5