30 #ifndef __HDK_GEO_PrimTetra__ 
   31 #define __HDK_GEO_PrimTetra__ 
   41 namespace HDK_Sample {
 
   75                                           bool dry_run=
false) 
override;
 
   77                                            bool dry_run=
false) 
override;
 
   91                                 unsigned du=0, 
unsigned dv=0)
 const override 
  104     void                stashed(
bool beingstashed,
 
  132         for (
GA_Size i = 0; i < 4; i++)
 
  144         for (
GA_Size i = 0; i < 4; i++)
 
  168     { 
return *theDefinition; }
 
  196                                    const int *tetpointnumbers);
 
  202                                 float tmax = 1E17F, 
float tol = 1E-12F,
 
  205                                 float *u = 0, 
float *v = 0,
 
  206                                 int ignoretrim = 1) 
const override;
 
  217             : myPrimitiveList(detail->getPrimitiveList())
 
  218             , myStartPrim(startprim)
 
  219             , myStartVtx(startvtx)
 
  227             GA_Offset vtxoff = myStartVtx + 4*r.begin();
 
  228             for (
GA_Size i = r.begin(); i != r.end(); ++i)
 
static void registerMyself(GA_PrimitiveFactory *factory)
 
GA_Size findPoint(GA_Offset ptoff) const 
 
bool saveVertexArray(UT_JSONWriter &w, const GA_SaveMap &map) const 
 
GEO_Primitive * convert(GEO_ConvertParms &parms, GA_PointGroup *usedpts=0) override
 
void stashed(bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET) override
 
SYS_FORCE_INLINE GA_Offset getPointOffset(GA_Size i) const 
 
void createVertices() const 
Declare methods for implementing intrinsic attributes. 
 
UT_Vector3D computeNormalD() const override
 
static GEO_PrimTetra * build(GA_Detail *gdp, bool appendpts=true)
Optional build function. 
 
Used to pass options and map offset values during saving. 
 
bool evaluatePointRefMap(GA_Offset result_vtx, GA_AttributeRefMap &hlist, fpreal u, fpreal v, uint du, uint dv) const override
Evalaute a point given a u,v coordinate (with derivatives) 
 
UT_Vector3 computeNormal() const override
 
int64 getMemoryUsage() const override
Report approximate memory usage. 
 
void setTrivial(ToType startvalue, GA_Size size)
Makes the list a trivial list with the specified start value and size. 
 
int detachPoints(GA_PointGroup &grp) override
 
JSON reader class which handles parsing of JSON or bJSON files. 
 
#define GA_DECLARE_INTRINSICS(OVERRIDE)
 
Class which writes ASCII or binary JSON streams. 
 
GA_DereferenceStatus dereferencePoint(GA_Offset point, bool dry_run=false) override
 
Abstract base class for a range membership query object. 
 
void normal(NormalComp &output) const override
 
bool loadOrder(const UT_JSONValue &p)
Load the order from a JSON value. 
 
bool getBBox(UT_BoundingBox *bbox) const override
 
exint GA_Size
Defines the bit width for index and offset types in GA. 
 
void copySubclassData(const GA_Primitive *source) override
 
#define GA_INVALID_OFFSET
 
GA_OffsetList myVertexList
 
int opInterrupt(int percent=-1)
 
static GA_Offset buildBlock(GA_Detail *detail, const GA_Offset startpt, const GA_Size npoints, const GA_Size ntets, const int *tetpointnumbers)
 
NormalCompT< float > NormalComp
 
const GA_PrimitiveJSON * getJSON() const override
 
fpreal calcPerimeter() const override
 
GLsizei GLsizei GLchar * source
 
GEO_PrimTetra(GA_Detail &d, GA_Offset offset)
 
void copyPrimitive(const GEO_Primitive *src) override
 
Provide a JSON interface to a primitive. 
 
bool evaluatePoint(GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const 
 
A handle to simplify manipulation of multiple attributes. 
 
geo_SetVertexListsParallel(GA_Detail *detail, const GA_Offset startprim, const GA_Offset startvtx)
 
static const GA_PrimitiveTypeId & theTypeId()
Allows you to find out what this primitive type was named. 
 
const GA_PrimitiveDefinition & getTypeDef() const override
 
void countMemory(UT_MemoryCounter &counter) const override
 
int evaluatePointV4(UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const override
Evalaute position given a u,v coordinate (with derivatives) 
 
fpreal calcArea() const override
 
SYS_FORCE_INLINE const GA_PrimitiveTypeId & getId() const 
The unique ID assigned by the GA_PrimitiveFactory. 
 
SYS_FORCE_INLINE const GA_Primitive * get(GA_Offset off) const 
 
GA_API const UT_StringHolder parms
 
void operator()(const UT_BlockedRange< GA_Size > &r) const 
 
int intersectRay(const UT_Vector3 &o, const UT_Vector3 &d, float tmax=1E17F, float tol=1E-12F, float *distance=0, UT_Vector3 *pos=0, UT_Vector3 *nml=0, int accurate=0, float *u=0, float *v=0, int ignoretrim=1) const override
 
GEO_Primitive * convertNew(GEO_ConvertParms &parms) override
 
UT_API UT_Interrupt * UTgetInterrupt()
Obtain global UT_Interrupt singleton. 
 
~GEO_PrimTetra() override
 
GA_DereferenceStatus dereferencePoints(const GA_RangeMemberQuery &pt_q, bool dry_run=false) override
 
SYS_FORCE_INLINE GA_Offset getVertexOffset(GA_Size primvertexnum) const 
 
Class to store JSON objects as C++ objects. 
 
Container class for all geometry. 
 
GLubyte GLubyte GLubyte GLubyte w
 
Definition of a geometric primitive. 
 
bool loadVertexArray(UT_JSONParser &p, const GA_LoadMap &map)
 
SIM_API const UT_StringHolder distance
 
NormalCompT< double > NormalCompD
 
bool isDegenerate() const override
 
UT_Vector3 baryCenter() const override
 
GA_Size findVertex(GA_Offset vtxoff) const 
 
GEO_Primitive * copy(int preserve_shared_pts=0) const override
 
fpreal calcVolume(const UT_Vector3 &refpt) const override