OpenSubdiv
MeshInterface< PATCH_TABLE > Class Template Referenceabstract

#include <mesh.h>

Inheritance diagram for MeshInterface< PATCH_TABLE >:
Mesh< VERTEX_BUFFER, STENCIL_TABLE, EVALUATOR, PATCH_TABLE, DEVICE_CONTEXT >

Public Types

typedef PATCH_TABLE PatchTable
 
typedef PatchTable::VertexBufferBinding VertexBufferBinding
 

Public Member Functions

 MeshInterface ()
 
virtual ~MeshInterface ()
 
virtual int GetNumVertices () const =0
 
virtual int GetMaxValence () const =0
 
virtual void UpdateVertexBuffer (float const *vertexData, int startVertex, int numVerts)=0
 
virtual void UpdateVaryingBuffer (float const *varyingData, int startVertex, int numVerts)=0
 
virtual void Refine ()=0
 
virtual void Synchronize ()=0
 
virtual PatchTableGetPatchTable () const =0
 
virtual Far::PatchTable const * GetFarPatchTable () const =0
 
virtual VertexBufferBinding BindVertexBuffer ()=0
 
virtual VertexBufferBinding BindVaryingBuffer ()=0
 

Static Protected Member Functions

static void refineMesh (Far::TopologyRefiner &refiner, int level, bool adaptive, bool singleCreasePatch)
 
static void refineMesh (Far::TopologyRefiner &refiner, int level, MeshBitset bits)
 

Detailed Description

template<class PATCH_TABLE>
class OpenSubdiv::OPENSUBDIV_VERSION::Osd::MeshInterface< PATCH_TABLE >

Definition at line 68 of file mesh.h.

Member Typedef Documentation

◆ PatchTable

typedef PATCH_TABLE PatchTable

Definition at line 70 of file mesh.h.

◆ VertexBufferBinding

typedef PatchTable::VertexBufferBinding VertexBufferBinding

Definition at line 71 of file mesh.h.

Constructor & Destructor Documentation

◆ MeshInterface()

MeshInterface ( )
inline

Definition at line 74 of file mesh.h.

◆ ~MeshInterface()

virtual ~MeshInterface ( )
inlinevirtual

Definition at line 76 of file mesh.h.

Member Function Documentation

◆ BindVaryingBuffer()

◆ BindVertexBuffer()

◆ GetFarPatchTable()

virtual Far::PatchTable const* GetFarPatchTable ( ) const
pure virtual

◆ GetMaxValence()

virtual int GetMaxValence ( ) const
pure virtual

◆ GetNumVertices()

virtual int GetNumVertices ( ) const
pure virtual

◆ GetPatchTable()

virtual PatchTable* GetPatchTable ( ) const
pure virtual

◆ Refine()

virtual void Refine ( )
pure virtual

◆ refineMesh() [1/2]

static void refineMesh ( Far::TopologyRefiner refiner,
int  level,
bool  adaptive,
bool  singleCreasePatch 
)
inlinestaticprotected

Definition at line 101 of file mesh.h.

◆ refineMesh() [2/2]

static void refineMesh ( Far::TopologyRefiner refiner,
int  level,
MeshBitset  bits 
)
inlinestaticprotected

Definition at line 117 of file mesh.h.

◆ Synchronize()

virtual void Synchronize ( )
pure virtual

◆ UpdateVaryingBuffer()

virtual void UpdateVaryingBuffer ( float const *  varyingData,
int  startVertex,
int  numVerts 
)
pure virtual

◆ UpdateVertexBuffer()

virtual void UpdateVertexBuffer ( float const *  vertexData,
int  startVertex,
int  numVerts 
)
pure virtual

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