| HDK
    | 
#include <GEO_VolumeElement.h>
| Static Public Member Functions | |
| template<typename OP > | |
| static void | dispatch (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset, OP op) | 
| template<typename OP > | |
| static void | dispatch (const GA_Detail *gdp, GA_Offset offset, OP op) | 
| template<typename OP > | |
| static void | dispatch (GA_PrimitiveTypeId type, const GA_Primitive *baseprim, OP op) | 
| static GA_Size | getVertexCount (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset) | 
| static GA_OffsetListRef | getVertexList (const GA_Detail *gdp, GA_Offset offset) | 
| Return shallow copy of the vertex list.  More... | |
| static GA_Offset | getVertexOffset (const GA_Detail *gdp, GA_Offset offset, GA_Size index) | 
| Return the vertex offset from a given vertex index.  More... | |
| static GA_Offset | getPointOffset (const GA_Detail *gdp, GA_Offset offset, GA_Size index) | 
| Return the point offset from a given vertex index.  More... | |
| static GA_Size | getFaceCount (GA_PrimitiveTypeId type, const GA_Detail *d, GA_Offset offset) | 
| The number of faces that make up this volume.  More... | |
| static int | getFaceIndices (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset, GA_Size faceno, UT_Array< int > &vtxlist) | 
| Returns the indices to the vertices, not the vertex offsets!  More... | |
| static int | getFaceIndexCount (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset, GA_Size faceno) | 
| Returns the number of indices in specified face.  More... | |
| static GA_Offset | findSharedFace (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset, GA_Size faceno) | 
| static GA_Size | getEdgeCount (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset) | 
| The number of edges in this volume.  More... | |
| static void | getEdgeIndices (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset, GA_Size edgeno, int &e0, int &e1) | 
| static void | computeInteriorPointWeights (GA_PrimitiveTypeId type, const GA_Detail *gdp, GA_Offset offset, UT_Array< GA_Offset > &vtxlist, UT_Array< float > &weightlist, fpreal u, fpreal v, fpreal w) | 
| Evaluate the interior point weights.  More... | |
| Protected Attributes | |
| const GA_Detail * | myDetail | 
| GA_Offset | myOffset | 
| GA_PrimitiveTypeId | myType | 
Definition at line 37 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 41 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 49 of file GEO_VolumeElement.h.
Definition at line 142 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Evaluate the interior point weights.
Definition at line 227 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 229 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 164 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
This lets you create a stack-version of the primitive so you can duck-type directly to GEO_PrimTetrahedron, GEO_PrimHexahedron, etc. Usage: GEO_VolumeElement::dispatch(type, gdp, primoff, [&](auto &prim) { prim.normal(comp); }); will be the equivalent of creating a stack GEO_PrimTetrahedon(gdp, primoff) and calling normal on it.
To retreive the actual type you can use decltype
GEO_VolumeElement::dispatch(type, gdp, primoff, [&](auto &prim) { using PrimT = SYS_RemoveCVRef_t<decltype(prim)>; typename PrimT::Face face(prim, i); });
Definition at line 74 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Definition at line 101 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Definition at line 109 of file GEO_VolumeElement.h.
| 
 | static | 
Definition at line 210 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
The number of edges in this volume.
Definition at line 214 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 216 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Returns the indices of the edge. Note each edge shows up once and due to the nature of volumes, is undirected.
Definition at line 221 of file GEO_VolumeElement.h.
Definition at line 223 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
The number of faces that make up this volume.
Definition at line 192 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 194 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Returns the number of indices in specified face.
Definition at line 204 of file GEO_VolumeElement.h.
Definition at line 206 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Returns the indices to the vertices, not the vertex offsets!
Definition at line 198 of file GEO_VolumeElement.h.
Definition at line 200 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 165 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Return the point offset from a given vertex index.
Definition at line 186 of file GEO_VolumeElement.h.
Definition at line 188 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Definition at line 168 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 170 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Return shallow copy of the vertex list.
Definition at line 174 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 176 of file GEO_VolumeElement.h.
| 
 | inlinestatic | 
Return the vertex offset from a given vertex index.
Definition at line 180 of file GEO_VolumeElement.h.
Definition at line 182 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 134 of file GEO_VolumeElement.h.
Update the element to point to another primitive in same detail.
Definition at line 154 of file GEO_VolumeElement.h.
| 
 | inline | 
Definition at line 166 of file GEO_VolumeElement.h.
| 
 | protected | 
Definition at line 233 of file GEO_VolumeElement.h.
| 
 | protected | 
Definition at line 234 of file GEO_VolumeElement.h.
| 
 | protected | 
Definition at line 235 of file GEO_VolumeElement.h.