OpenSubdiv
Loading...
Searching...
No Matches
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

template<class PATCH_TABLE >
PATCH_TABLE PatchTable

Definition at line 70 of file mesh.h.

◆ VertexBufferBinding

template<class PATCH_TABLE >
PatchTable::VertexBufferBinding VertexBufferBinding

Definition at line 71 of file mesh.h.

Constructor & Destructor Documentation

◆ MeshInterface()

template<class PATCH_TABLE >
MeshInterface ( )
inline

Definition at line 74 of file mesh.h.

◆ ~MeshInterface()

template<class PATCH_TABLE >
virtual ~MeshInterface ( )
inlinevirtual

Definition at line 76 of file mesh.h.

Member Function Documentation

◆ BindVaryingBuffer()

template<class PATCH_TABLE >
virtual VertexBufferBinding BindVaryingBuffer ( )
pure virtual

◆ BindVertexBuffer()

template<class PATCH_TABLE >
virtual VertexBufferBinding BindVertexBuffer ( )
pure virtual

◆ GetFarPatchTable()

template<class PATCH_TABLE >
virtual Far::PatchTable const * GetFarPatchTable ( ) const
pure virtual

◆ GetMaxValence()

template<class PATCH_TABLE >
virtual int GetMaxValence ( ) const
pure virtual

◆ GetNumVertices()

template<class PATCH_TABLE >
virtual int GetNumVertices ( ) const
pure virtual

◆ GetPatchTable()

template<class PATCH_TABLE >
virtual PatchTable * GetPatchTable ( ) const
pure virtual

◆ Refine()

template<class PATCH_TABLE >
virtual void Refine ( )
pure virtual

◆ refineMesh() [1/2]

template<class PATCH_TABLE >
static void refineMesh ( Far::TopologyRefiner & refiner,
int level,
bool adaptive,
bool singleCreasePatch )
inlinestaticprotected

Definition at line 101 of file mesh.h.

◆ refineMesh() [2/2]

template<class PATCH_TABLE >
static void refineMesh ( Far::TopologyRefiner & refiner,
int level,
MeshBitset bits )
inlinestaticprotected

Definition at line 117 of file mesh.h.

◆ Synchronize()

template<class PATCH_TABLE >
virtual void Synchronize ( )
pure virtual

◆ UpdateVaryingBuffer()

template<class PATCH_TABLE >
virtual void UpdateVaryingBuffer ( float const * varyingData,
int startVertex,
int numVerts )
pure virtual

◆ UpdateVertexBuffer()

template<class PATCH_TABLE >
virtual void UpdateVertexBuffer ( float const * vertexData,
int startVertex,
int numVerts )
pure virtual

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