HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_OSDTopology Class Reference

Topology definition for opensubdiv classes. More...

#include <GT_OSD3.h>

Public Types

using TopologyRefiner = OpenSubdiv::Far::TopologyRefiner
 
using LevelInfo = OpenSubdiv::Far::TopologyLevel
 

Public Member Functions

 GT_OSDTopology ()
 
 ~GT_OSDTopology ()
 
bool isEqual (const GT_OSDTopology &src) const
 
bool operator== (const GT_OSDTopology &o) const
 
bool create (const GT_PrimPolygonMesh &mesh, const GT_OSDOptions &options)
 
exint levelCount () const
 Number of levels in refinement (note this is the max level + 1) More...
 
const LevelInfo & levelInfo (int level) const
 
const LevelInfo & lastLevel () const
 
const TopologyRefiner * refiner () const
 Access to the refiner. More...
 
bool adaptive () const
 Test whether this has been built for adaptive refinement. More...
 
GT_PrimitiveHandle createMesh (int level, const GT_AttributeListHandle &point, const GT_AttributeListHandle &vertex, const GT_AttributeListHandle &uniform, const GT_AttributeListHandle &detail, const GT_FaceSetMapPtr &fsets=GT_FaceSetMapPtr()) const
 Create a polygon mesh for a given level. More...
 
UT_IntArray ptexToFaceMap () const
 Build and return ptex to faceid mapping. More...
 
void dump () const
 
void dump (UT_JSONWriter &w) const
 
GT_Size coarseFaceCount () const
 
GT_Size coarsePointCount () const
 
GT_Size coarseVertexCount () const
 
GT_Size coarseVertexCount (GT_Size face_index) const
 

Static Public Member Functions

static SYS_HashType hash (const GT_PrimPolygonMesh &mesh, const GT_OSDOptions &options)
 
static SYS_HashType areEqual (const GT_PrimPolygonMesh &a, const GT_PrimPolygonMesh &b)
 

Detailed Description

Topology definition for opensubdiv classes.

Definition at line 190 of file GT_OSD3.h.

Member Typedef Documentation

using GT_OSDTopology::LevelInfo = OpenSubdiv::Far::TopologyLevel

Definition at line 194 of file GT_OSD3.h.

using GT_OSDTopology::TopologyRefiner = OpenSubdiv::Far::TopologyRefiner

Definition at line 193 of file GT_OSD3.h.

Constructor & Destructor Documentation

GT_OSDTopology::GT_OSDTopology ( )
GT_OSDTopology::~GT_OSDTopology ( )

Member Function Documentation

bool GT_OSDTopology::adaptive ( ) const
inline

Test whether this has been built for adaptive refinement.

Definition at line 251 of file GT_OSD3.h.

static SYS_HashType GT_OSDTopology::areEqual ( const GT_PrimPolygonMesh &  a,
const GT_PrimPolygonMesh &  b 
)
static
GT_Size GT_OSDTopology::coarseFaceCount ( ) const
inline

Return specific information about the coarse mesh (i.e. level 0)

Definition at line 238 of file GT_OSD3.h.

GT_Size GT_OSDTopology::coarsePointCount ( ) const
inline

Return specific information about the coarse mesh (i.e. level 0)

Definition at line 240 of file GT_OSD3.h.

GT_Size GT_OSDTopology::coarseVertexCount ( ) const
inline

Return specific information about the coarse mesh (i.e. level 0)

Definition at line 242 of file GT_OSD3.h.

GT_Size GT_OSDTopology::coarseVertexCount ( GT_Size  face_index) const

Return specific information about the coarse mesh (i.e. level 0)

bool GT_OSDTopology::create ( const GT_PrimPolygonMesh &  mesh,
const GT_OSDOptions &  options 
)

Create the topology for the given polygonal hull and options. Note that if the mesh is a GT_PrimSubdivisionMesh, crease weights will be picked up from the tags on the primitive.

GT_PrimitiveHandle GT_OSDTopology::createMesh ( int  level,
const GT_AttributeListHandle &  point,
const GT_AttributeListHandle &  vertex,
const GT_AttributeListHandle &  uniform,
const GT_AttributeListHandle &  detail,
const GT_FaceSetMapPtr &  fsets = GT_FaceSetMapPtr() 
) const

Create a polygon mesh for a given level.

void GT_OSDTopology::dump ( ) const

Debug - dump the topology out

void GT_OSDTopology::dump ( UT_JSONWriter &  w) const

Debug - dump the topology out

static SYS_HashType GT_OSDTopology::hash ( const GT_PrimPolygonMesh &  mesh,
const GT_OSDOptions &  options 
)
static
bool GT_OSDTopology::isEqual ( const GT_OSDTopology &  src) const
const LevelInfo& GT_OSDTopology::lastLevel ( ) const
inline

Definition at line 232 of file GT_OSD3.h.

exint GT_OSDTopology::levelCount ( ) const
inline

Number of levels in refinement (note this is the max level + 1)

Definition at line 220 of file GT_OSD3.h.

const LevelInfo& GT_OSDTopology::levelInfo ( int  level) const
inline

Access to the level information for a given refinement level This returns the number of vertices, face-varying vertices, faces, etc. for each level. Level 0 is the "coarse" mesh.

  • GetNumVertices() - Number of shared points (i.e. Houdini points)
  • GetNumFaces() - Number of faces
  • GetNumEdges() - Number of edges
  • GetNumFaceVertices() - Number of face varying (i.e. Houdini vertices)

Definition at line 230 of file GT_OSD3.h.

bool GT_OSDTopology::operator== ( const GT_OSDTopology &  o) const
inline

Definition at line 206 of file GT_OSD3.h.

UT_IntArray GT_OSDTopology::ptexToFaceMap ( ) const

Build and return ptex to faceid mapping.

const TopologyRefiner* GT_OSDTopology::refiner ( ) const
inline

Access to the refiner.

Definition at line 248 of file GT_OSD3.h.


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