HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GT_PrimTetMesh.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GT_PrimTetMesh.h ( GT Library, C++)
7  *
8  * COMMENTS:
9  */
10 #ifndef GT_PrimTetMesh_h
11 #define GT_PrimTetMesh_h
12 
13 #include "GT_API.h"
14 #include "GT_Primitive.h"
15 #include "GT_GEOPrimCollect.h"
16 #include "GT_AttributeList.h"
17 
19 {
20 public:
21  GT_PrimTetMesh(const GT_DataArrayHandle &vertex_list,
22  const GT_AttributeListHandle &vert_attribs,
23  const GT_AttributeListHandle &point_attribs,
24  const GT_AttributeListHandle &prim_attribs,
25  const GT_AttributeListHandle &dtl_attribs,
26  const GT_DataArrayHandle &face_verts);
27 
28  GT_PrimTetMesh(const GT_PrimTetMesh &pmesh,
29  const GT_AttributeListHandle &vert_attribs,
30  const GT_AttributeListHandle &point_attribs,
31  const GT_AttributeListHandle &prim_attribs,
32  const GT_AttributeListHandle &dtl_attribs);
33 
34  GT_PrimTetMesh(const GT_PrimTetMesh &tetmesh);
35  virtual ~GT_PrimTetMesh();
36 
37  virtual int getPrimitiveType() const { return GT_PRIM_TET_MESH; }
38  virtual const char *className() const { return "GT_PrimTetMesh"; }
39 
40  int getTetCount() const
41  { return myUniformAttribs ? myUniformAttribs->get(0)->entries() : 0; }
42 
44  { return myVertexAttribs; }
46  { return myPointAttribs; }
48  { return myUniformAttribs; }
50  { return myDetailAttribs; }
51 
52  // point connectivity.
53  virtual const GT_DataArrayHandle &getVertexList() const
54  { return myVertexList; }
55 
56  virtual void enlargeBounds(UT_BoundingBox boxes[],
57  int nsegments) const;
58  virtual bool refine(GT_Refine &refiner,
59  const GT_RefineParms *parms) const;
60 
61  virtual int getMotionSegments() const;
62  virtual int64 getMemoryUsage() const;
63  virtual GT_PrimitiveHandle doSoftCopy() const;
64 private:
65  GT_DataArrayHandle myVertexList;
66  GT_DataArrayHandle myFaceVerts;
67 
68  GT_AttributeListHandle myVertexAttribs;
69  GT_AttributeListHandle myPointAttribs;
70  GT_AttributeListHandle myUniformAttribs;
71  GT_AttributeListHandle myDetailAttribs;
72 };
73 
74 #endif
virtual int getMotionSegments() const =0
virtual int getPrimitiveType() const
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
virtual const GT_AttributeListHandle & getVertexAttributes() const
virtual const char * className() const
#define GT_API
Definition: GT_API.h:11
int getTetCount() const
long long int64
Definition: SYS_Types.h:100
virtual GT_PrimitiveHandle doSoftCopy() const =0
virtual const GT_AttributeListHandle & getPointAttributes() const
virtual const GT_AttributeListHandle & getUniformAttributes() const
The base class for all GT primitive types.
Definition: GT_Primitive.h:41
virtual int64 getMemoryUsage() const =0
Processes primitives generated by refinement process.
Definition: GT_Refine.h:20
virtual const GT_AttributeListHandle & getDetailAttributes() const
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
virtual const GT_DataArrayHandle & getVertexList() const