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

#include <GEO_PrimMesh.h>

+ Inheritance diagram for GEO_PrimMesh:

Public Member Functions

virtual int evaluateBreakpoint (int uidx, int vidx, UT_Vector4 &pos, int du=0, int dv=0) const
 
virtual int loftU (int newcount, int start=-1, int stop=-1)
 
virtual int loftV (int newcount, int start=-1, int stop=-1)
 
virtual int warpU (float u, const UT_Vector3 &delta, GA_AttributeRefMap &map, float sharpness=0.0f, float bias=-1.0f)
 
virtual int warpV (float v, const UT_Vector3 &delta, GA_AttributeRefMap &map, float sharpness=0.0f, float bias=-1.0f)
 
virtual int warp (float u, float v, const UT_Vector3 &delta, GA_AttributeRefMap &map, float usharpness=0.f, float vsharpness=0.f, float ubias=-1.0f, float vbias=-1.0f)
 
virtual int attachU (const GEO_Hull &hull, int blend=1, float bias=0.5f, float tolerance=1.0f, int=1, GA_PointGroup *ptgroup=0)
 
virtual int attachV (const GEO_Hull &hull, int blend=1, float bias=0.5f, float tolerance=1.0f, int=1, GA_PointGroup *ptgroup=0)
 
virtual int unrollU (int append_pts=1)
 
virtual int unrollV (int append_pts=1)
 
virtual const GA_PrimitiveJSONgetJSON () const
 
- Public Member Functions inherited from GEO_Hull
bool saveVertexArray (UT_JSONWriter &w, const GA_SaveMap &save) const
 
bool loadVertexArray (UT_JSONParser &p, const GA_LoadMap &load)
 
bool evaluateIndex (fpreal u, fpreal v, GA_Offset result_vtx, GA_AttributeRefMap &hlist, unsigned du, unsigned dv) const
 
int evaluateIndex (float iu, float iv, UT_Vector4 &pos, unsigned du=0, unsigned dv=0) const
 
void computeInteriorPointWeights (UT_Array< GA_Offset > &vtxlist, UT_FloatArray &weightlist, fpreal u, fpreal v, fpreal w) const override
 
void normal (NormalComp &output) const override
 
int evaluateNormalVector (UT_Vector3 &nml, float u, float v=0, float w=0) const override
 
virtual int evaluateNormal (float u, float v, UT_Vector3 &nml) const
 
virtual int normalIndex (float iu, float iv, UT_Vector3 &nml) const
 
virtual int uMinValidIndex () const
 
virtual int uMaxValidIndex () const
 
virtual int vMinValidIndex () const
 
virtual int vMaxValidIndex () const
 
bool saveH9 (std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const override
 
bool loadH9 (UT_IStream &is, const UT_Array< GA_AttribLoadDataH9 > &prim_attribs, const UT_Array< GA_AttribLoadDataH9 > &vtx_attribs) override
 
int getBBox (UT_BoundingBox *bbox) const override
 
void addToBSphere (UT_BoundingSphere *bsphere) const override
 
UT_Vector3 baryCenter () const override
 
UT_Vector3 computeNormal () const override
 Return a normal vector for the primitive. More...
 
void copyPrimitive (const GEO_Primitive *src) override
 
GEO_Primitivecopy (int preserve_shared_pts=0) const override
 
void copyUnwiredForMerge (const GA_Primitive *src, const GA_MergeMap &map) override
 
void addPointRefToGroup (GA_PointGroup &grp) const override
 
void reverse () override
 Reverse the order of vertices. More...
 
virtual void reverseU ()
 
virtual void reverseV ()
 
virtual int cycleU (int amount, int=1)
 
virtual int cycleV (int amount, int=1)
 
int setRowCol (int r, int c)
 
virtual int insertRow (unsigned int beforeWhich, bool appendPts=true)
 
int appendRow (bool appendPts=true)
 
virtual int insertCol (unsigned int beforeWhich, bool appendPts=true)
 
int appendCol (bool appendPts=true)
 
virtual int deleteRow (unsigned int which)
 
virtual int deleteCol (unsigned int which)
 
int detachPoints (GA_PointGroup &grp) override
 
GA_DereferenceStatus dereferencePoint (GA_Offset point, bool dry_run=false) override
 
GA_DereferenceStatus dereferencePoints (const GA_RangeMemberQuery &pt_q, bool dry_run=false) override
 
int subdivideU (float u, GA_AttributeRefMap &map)
 
int subdivideU (float u)
 
int subdivideV (float u, GA_AttributeRefMap &map)
 
int subdivideV (float u)
 
virtual void subdivide (int numdivs, GA_PointGroup *ptgroup=0)
 
int warpAlongNormal (float u, float v, float distance, GA_AttributeRefMap &map, float usharpness, float vsharpness, float ubias, float vbias, int u_v_both)
 
virtual int refineU (float k, GA_AttributeRefMap &hlist, int i=1)
 
virtual int refineU (float k, int i=1)
 
virtual int refineV (float k, GA_AttributeRefMap &hlist, int i=1)
 
virtual int refineV (float k, int i=1)
 
void spanRefineU (GA_AttributeRefMap &map, int numdivs=1)
 
void spanRefineU (int numdivs=1)
 
void spanRefineV (GA_AttributeRefMap &map, int numdivs=1)
 
void spanRefineV (int numdivs=1)
 
int unrefineU (int kidx, GA_AttributeRefMap &h, int mult=0, float tol=1e-4f, GA_PointGroup *delgroup=0)
 
int unrefineU (int kidx, int mult=0, float tol=1e-4F, GA_PointGroup *delgroup=0)
 
int unrefineV (int kidx, GA_AttributeRefMap &h, int mult=0, float tol=1e-4f, GA_PointGroup *delgroup=0)
 
int unrefineV (int kidx, int mult=0, float tol=1e-4F, GA_PointGroup *delgroup=0)
 
virtual void fixSeamsU (void)
 
virtual void fixSeamsV (void)
 
bool rowColTexture (const GA_RWHandleV3 &txth, bool ptattrib)
 
SYS_FORCE_INLINE int getNumRows () const
 
SYS_FORCE_INLINE int getNumCols () const
 
const GEO_Vertex operator() (unsigned int r, unsigned int c) const
 
GEO_Vertex operator() (unsigned int r, unsigned int c)
 
const GEO_Vertex getVertexElement (unsigned int r, unsigned int c) const
 
SYS_FORCE_INLINE GA_Offset getVertexOffset (unsigned int r, unsigned int c) const
 
SYS_FORCE_INLINE GA_Index getVertexIndex (unsigned int r, unsigned int c) const
 
SYS_FORCE_INLINE GA_Offset getPointOffset (unsigned int r, unsigned int c) const
 
SYS_FORCE_INLINE GA_Index getPointIndex (unsigned int r, unsigned int c) const
 
SYS_FORCE_INLINE UT_Vector3 getPos3 (unsigned int r, unsigned int c) const
 
SYS_FORCE_INLINE void setPos3 (unsigned int r, unsigned int c, const UT_Vector3 &pos) const
 
SYS_FORCE_INLINE UT_Vector4 getPos4 (unsigned int r, unsigned int c) const
 
SYS_FORCE_INLINE void setPos4 (unsigned int r, unsigned int c, const UT_Vector4 &pos) const
 
SYS_FORCE_INLINE void setPointOffset (unsigned int r, unsigned int c, GA_Offset ptoff) const
 
SYS_FORCE_INLINE GA_Size getFastVertexCount () const
 
void setVertexPoint (unsigned int r, unsigned int c, GA_Offset pt)
 
void beginVertex (const_iterator &i) const override
 
void nextVertex (const_iterator &i) const override
 
GEO_SurfaceType getSurfaceType () const
 
void setSurfaceType (GEO_SurfaceType t)
 
bool isWrappedU () const
 
bool isWrappedV () const
 
virtual void wrapU (int rounded=1, int preserveShape=0)
 
virtual void openU (int preserveShape=0, int safe=0)
 
virtual void wrapV (int rounded=1, int preserveShape=0)
 
virtual void openV (int preserveShape=0, int safe=0)
 
virtual bool isClampedU () const
 
virtual bool isClampedV () const
 
bool hasEdge (const GA_Edge &edge) const override
 Method to determine if a primitive has an edge (undirected). More...
 
bool isDegenerate () const override
 Is the primitive degenerate. More...
 
bool vertexApply (bool(*apply)(GA_Offset vtx, void *), void *data=nullptr) const override
 
void iterateEdges (GA_IterateEdgesFunc apply_func) const override
 
void iterateEdgesByVertex (GA_IterateEdgesByVertexFunc apply_func) const override
 
GA_Size getVertexCount () const override
 
GA_Offset getVertexOffset (GA_Size index) const override
 
GA_Size findVertex (GA_Offset vtx) const
 return the index of a vertex within our vertex list More...
 
virtual void stashed (bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET) override
 
void realToUnitPair (float ureal, float vreal, float &uunit, float &vunit) const override
 
void unitToRealPair (float uunit, float vunit, float &ureal, float &vreal) const override
 
virtual void unitToRealDomain (float u_unit, float v_unit, float &u_real, float &v_real) const
 
virtual void realToUnitDomain (float u_real, float v_real, float &u_unit, float &v_unit) const
 
virtual void unitToRealSequenceU (float *uunit, float *ureal, int ulen) const
 
virtual void unitToRealSequenceV (float *vunit, float *vreal, int vlen) const
 
virtual int findEdgePoints (const GA_Edge &edge, int *pr0, int *pc0, int *pr1, int *pc1) const
 
virtual int findEdgePoints (GA_Offset a, GA_Offset b, int *pr0, int *pc0, int *pr1, int *pc1) const
 
int makeEdgeMatrix (const GA_EdgeGroup &edges, GEO_SubHull &subhull)
 
void sampleEndsU (int n)
 
void sampleEndsV (int n)
 
virtual void validURange (float &ua, float &ub) const
 
virtual void validVRange (float &va, float &vb) const
 
virtual void validUInterval (int &a, int &b) const
 
virtual void validVInterval (int &a, int &b) const
 
float getIndices (float c, int &c1, int &c2, int maxIndex, int wrap) const
 
virtual void transpose ()
 
int parametricBBox (float u, float v, float *u0, float *u1, float *v0, float *v1) override
 
float uvDist (float u1, float v1, float u2, float v2) const override
 
virtual void weights (unsigned short onOff)
 
fpreal calcVolume (const UT_Vector3 &refpt) const override
 
fpreal calcArea () const override
 
fpreal calcPerimeter () const override
 
const char * getSurfaceTypeName () const
 
bool setSurfaceTypeName (const char *name)
 
bool setWrapU (bool dowrap)
 
bool setWrapV (bool dowrap)
 
- Public Member Functions inherited from GEO_Primitive
virtual GA_PrimCompat::TypeMask getPrimitiveId () const
 
void copyAttributesAndGroups (const GEO_Primitive &src, bool copy_groups=true)
 
void copyAttributesAndGroups (const GEO_Primitive &src, GA_AttributeRefMap &gah, bool copy_groups=true)
 
void copyAttributesAndGroups (const GEO_Primitive &src, GA_PrimitiveWrangler &wrangler, bool copy_groups=true)
 NOTE: The copying of groups only works if src is in the same detail. More...
 
void copyAttributeData (const GEO_Primitive &src)
 
void copyAttributeData (const GEO_Primitive &src, GA_AttributeRefMap &gah)
 
void copyAttributeData (const GEO_Primitive &src, GA_PrimitiveWrangler &wrangler)
 
void copyAttributeValues (const GEO_Primitive &src, GA_PrimitiveWrangler &wrangler)
 
void copyGroupMembership (const GEO_Primitive &src)
 
virtual void transform (const UT_Matrix4 &)
 
virtual void unitLengthToUnitPair (float ulength, float vlength, float &uparm, float &vparm) const
 
virtual void unitToUnitLengthPair (float uparm, float vparm, float &ulength, float &vlength) const
 
bool evaluateBaryCenter (GA_Offset result_vtx, GA_AttributeRefMap &map) const
 
bool evaluatePoint (GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const
 
int evaluatePoint (UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const
 
bool evaluateInteriorPoint (GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v, fpreal w=0) const
 
int evaluateInteriorPoint (UT_Vector4 &pos, fpreal u, fpreal v, fpreal w=0) const
 
SYS_FORCE_INLINE GEO_DetailgetParent () const
 
virtual void isolate ()
 Method to isolate a pasted surface. More...
 
GEO_Vertex getVertexElement (GA_Size i) const
 
virtual GEO_MetaPrimcastToMetaPrim (void)
 
virtual const GEO_MetaPrimcastToMetaPrim (void) const
 
int bboxIntersectRay (const UT_Vector3 &rayorig, const UT_Vector3 &raydir, int maxtries=10, float tmax=1E17F, float *distance=0, UT_Vector3 *nml=0) const
 
virtual bool isQuadric () const
 
virtual GEO_Primitiveconvert (GEO_ConvertParms &parms, GA_PointGroup *usedpts=0)=0
 
virtual GEO_PrimitiveconvertNew (GEO_ConvertParms &parms)=0
 
virtual void clip (UT_Vector3 normal, float distance=0, GA_PrimitiveGroup *clipgrp=NULL)
 
virtual 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
 
virtual bool enlargeBoundingBox (UT_BoundingRect &b, const GA_Attribute *P) const
 
virtual bool enlargeBoundingBox (UT_BoundingBox &b, const GA_Attribute *P) const
 
virtual bool hasGuideEdge (int edgeid, UT_Vector3 &a, UT_Vector3 &b) const
 
virtual bool hasXsectPoint (int pointid, UT_Vector3 &p) const
 
- Public Member Functions inherited from GA_Primitive
virtual ~GA_Primitive ()
 
virtual const
GA_PrimitiveDefinition
getTypeDef () const =0
 
const char * getTypeName () const
 
SYS_FORCE_INLINE GA_DetailgetDetail () const
 
SYS_FORCE_INLINE GA_Offset getMapOffset () const
 Gets the offset of this primitive in the detail containing it. More...
 
SYS_FORCE_INLINE GA_Index getMapIndex () const
 Gets the index of this primitive in the detail containing it. More...
 
SYS_FORCE_INLINE const
GA_IndexMap
getIndexMap () const
 Gets the index map for primitives in the detail containing this primitive. More...
 
GA_Index getNum () const
 
void swapOffsetValue (const GA_Defragment &defrag)
 For defragmentation, we need to update the offset. More...
 
bool isPrimary () const
 
SYS_FORCE_INLINE const
GA_PrimitiveTypeId
getTypeId () const
 
GA_PrimitiveFamilyMask getFamilyMask () const
 
bool isFamily (unsigned family_mask) const
 
bool hasLocalTransform () const
 Whether the primitive has a transform associated with it. More...
 
virtual void getLocalTransform (UT_Matrix3D &matrix) const
 
virtual void getLocalTransform4 (UT_Matrix4D &matrix) const
 
virtual void setLocalTransform (const UT_Matrix3D &matrix)
 Set the local transform. The default implementation does nothing. More...
 
virtual int64 getMemoryUsage () const
 
virtual void countMemory (UT_MemoryCounter &counter) const
 
SYS_FORCE_INLINE GA_Size getVertexCount () const
 Return the number of vertices used by this primitive. More...
 
SYS_FORCE_INLINE GA_Offset getVertexOffset (GA_Size primvertexnum) const
 
SYS_FORCE_INLINE GA_Index getVertexIndex (GA_Size primvertexnum) const
 
SYS_FORCE_INLINE GA_Offset getPointOffset (GA_Size i) const
 
SYS_FORCE_INLINE void setPointOffset (GA_Size i, GA_Offset ptoff)
 
SYS_FORCE_INLINE GA_Index getPointIndex (GA_Size i) const
 
SYS_FORCE_INLINE UT_Vector3 getPos3 (GA_Size i) const
 
SYS_FORCE_INLINE void setPos3 (GA_Size i, const UT_Vector3 &pos) const
 
SYS_FORCE_INLINE UT_Vector4 getPos4 (GA_Size i) const
 
SYS_FORCE_INLINE void setPos4 (GA_Size i, const UT_Vector4 &pos) const
 
GA_Range getVertexRange (bool harden=false) const
 Get a range of all the vertices accessed by the primitive. More...
 
GA_Range getPointRange (bool harden=false) const
 
bool isPointUsed (GA_Offset ptoff) const
 
void addPointRefToGroup (GA_PointGroup &grp) const
 
void edgeApply (GA_EdgeApplyFunc apply, void *data=nullptr) const
 
void edgeApplyIndex (GA_EdgeApplyIndexFunc apply, void *data=nullptr) const
 
bool findEdgePoints (GA_Offset ptoff0, GA_Offset ptoff1, GA_Size &vtx0, GA_Size &vtx1) const
 
virtual bool enlargeBoundingSphere (UT_BoundingSphere &b, const GA_Attribute *P) const
 
virtual void enlargePointBounds (UT_BoundingBox &box) const
 
virtual bool saveSharedLoadData (UT_JSONWriter &w, GA_SaveMap &save, GA_GeometryIndex *geometryIndex) const
 
virtual bool registerSharedLoadData (int load_data_type, GA_SharedDataHandlePtr item)
 
const GA_IntrinsicManagergetIntrinsicManager () const
 
virtual void getAdjacentBoundaryVertices (GA_Offset vtx, GA_Offset &prev_vtx, GA_Offset &next_vtx) const
 
virtual bool supportsHedge () const
 
virtual GA_Offset releaseVertex (GA_Offset vtx)
 
virtual int isVisible () const
 
virtual unsigned getNumSecondaryDetails () const
 A primitive may support any number of secondary details. More...
 
virtual const GA_DetailgetSecondaryDetail (GA_Index i) const
 
virtual GA_DetailgetSecondaryDetail (GA_Index i)
 
GA_Index getNumSecondary (GA_Index detail) const
 
const GA_PrimitivegetSecondaryByIndex (GA_Index detail, GA_Index i) const
 
GA_PrimitivegetSecondaryByIndex (GA_Index detail, GA_Index i)
 
const GA_PrimitivegetSecondaryByOffset (GA_Index detail, GA_Offset o) const
 
GA_PrimitivegetSecondaryByOffset (GA_Index detail, GA_Offset o)
 
SYS_FORCE_INLINE bool isVertexListTrivial () const
 
bool isPointListTrivial () const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachVertex (FUNCTOR &&functor) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEachPoint (FUNCTOR &&functor) const
 
bool vertexApply (bool(*apply)(GA_Offset vtx, void *), void *data=nullptr) const
 
virtual void flushCEWriteCaches ()
 Copy any modified caches from the GPU back to CPU cache. More...
 
virtual void flushCECaches ()
 
GA_LocalIntrinsic findIntrinsic (const char *nm) const
 
GA_LocalIntrinsic findIntrinsic (GA_GlobalIntrinsic h) const
 
GA_GlobalIntrinsic findGlobalIntrinsic (GA_LocalIntrinsic h) const
 
const char * getIntrinsicName (GA_LocalIntrinsic h) const
 
GA_Size getIntrinsicTupleSize (GA_LocalIntrinsic h) const
 
GA_StorageClass getIntrinsicStorage (GA_LocalIntrinsic h) const
 
bool getIntrinsicReadOnly (GA_LocalIntrinsic h) const
 
const UT_OptionsgetIntrinsicOptions (GA_LocalIntrinsic h) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, UT_String &val) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, UT_StringArray &val) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, int64 *v, GA_Size size) const
 
GA_Size getIntrinsic (GA_LocalIntrinsic h, fpreal64 *v, GA_Size sz) const
 
bool getIntrinsic (GA_LocalIntrinsic h, float &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, int &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector2 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector3 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Vector4 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix2 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix3 &v) const
 
bool getIntrinsic (GA_LocalIntrinsic h, UT_Matrix4 &v) const
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const char *value)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const UT_StringArray &value)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const char **val, GA_Size s)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const int64 val)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const fpreal64 val)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const int64 *val, GA_Size sz)
 
GA_Size setIntrinsic (GA_LocalIntrinsic h, const fpreal64 *v, GA_Size sz)
 

Protected Member Functions

 GEO_PrimMesh (GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
 
virtual ~GEO_PrimMesh ()
 
virtual bool savePrivateH9 (std::ostream &, bool binary) const
 
virtual bool loadPrivateH9 (UT_IStream &)
 
virtual bool saveExtraH9 (std::ostream &, bool binary) const
 
virtual bool loadExtraH9 (UT_IStream &)
 
virtual bool validate (void) const
 
int findMaxDistanceU (float &maxdist2, int start, int stop) const
 
int findMaxDistanceV (float &maxdist2, int start, int stop) const
 
virtual bool evaluatePointRefMap (GA_Offset result, GA_AttributeRefMap &map, fpreal u, fpreal v, unsigned du=0, unsigned dv=0) const
 
virtual int evaluatePointV4 (UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const
 
virtual void spanRefineURefMap (GA_AttributeRefMap &map, int numdivs=1)
 
virtual void spanRefineUInt (int numdivs=1)
 
virtual void spanRefineVRefMap (GA_AttributeRefMap &map, int numdivs=1)
 
virtual void spanRefineVInt (int numdivs=1)
 
- Protected Member Functions inherited from GEO_Hull
 GEO_Hull (GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
 
virtual ~GEO_Hull ()
 
void clearForDeletion () override
 
void cycleOffsetListRows (int shift)
 
void cycleOffsetListCols (int shift)
 
 GA_DECLARE_INTRINSICS (override)
 
int breakHull (GEO_SubHull &subhull, int top, int left, int bottom, int right, GEO_SubHullFlags break_flags)
 
int checkUsedEdges (UT_BitArray *remove_edges, const GEO_SubHull &subhull)
 
virtual GEO_HullgetSubHull (int top, int left, int bottom, int right, GEO_SubHullFlags break_flags)=0
 
float getLRIndex (float c, int &c1, int &c2, int minIndex, int maxIndex, int wrap) const
 
SYS_FORCE_INLINE GA_Offset vertexPoint (GA_Size r, GA_Size c) const
 
void swapVertexOffsets (const GA_Defragment &defrag) override
 Defragmentation. More...
 
bool evaluateBaryCenterRefMap (GA_Offset result_vertex, GA_AttributeRefMap &map) const override
 
virtual bool evaluateIndexRefMap (fpreal u, fpreal v, GA_Offset result_vtx, GA_AttributeRefMap &hlist, unsigned du, unsigned dv) const
 
virtual int evaluateIndexV4 (float iu, float iv, UT_Vector4 &pos, unsigned du=0, unsigned dv=0) const
 
virtual int subdivideURefMap (float u, GA_AttributeRefMap &map)
 
virtual int subdivideUFloat (float u)
 
virtual int subdivideVRefMap (float u, GA_AttributeRefMap &map)
 
virtual int subdivideVFloat (float u)
 
virtual int unrefineURefMap (int kidx, GA_AttributeRefMap &h, int mult=0, float tol=1e-4f, GA_PointGroup *delgroup=0)
 
virtual int unrefineUFloat (int kidx, int mult=0, float tol=1e-4F, GA_PointGroup *delgroup=0)
 
virtual int unrefineVRefMap (int kidx, GA_AttributeRefMap &h, int mult=0, float tol=1e-4f, GA_PointGroup *delgroup=0)
 
virtual int unrefineVFloat (int kidx, int mult=0, float tol=1e-4F, GA_PointGroup *delgroup=0)
 
int64 getBaseMemoryUsage () const
 Report approximate memory usage for myVertexMatx (exclusive) More...
 
void countBaseMemory (UT_MemoryCounter &counter) const
 
- Protected Member Functions inherited from GEO_Primitive
SYS_FORCE_INLINE GEO_Primitive (GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
 
virtual ~GEO_Primitive ()
 
virtual bool evaluatePointRefMap (GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const =0
 
virtual bool evaluateInteriorPointRefMap (GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v, fpreal w=0) const
 
virtual int evaluateInteriorPointV4 (UT_Vector4 &pos, fpreal u, fpreal v, fpreal w=0) const
 
- Protected Member Functions inherited from GA_Primitive
SYS_FORCE_INLINE GA_Primitive (GA_Detail &detail, GA_Offset offset=GA_INVALID_OFFSET)
 
void setNumVertices (GA_Size nvertices)
 
GA_Offset allocateVertex (GA_Offset point=GA_INVALID_OFFSET)
 allocateVertex() will call wireVertex() if the point given is not -1 More...
 
void destroyVertex (GA_Offset vertex)
 
void wireVertex (GA_Offset vertex, GA_Offset point)
 
void registerVertex (GA_Offset vertex)
 
SYS_FORCE_INLINE int64 getBaseMemoryUsage () const
 Report approximate memory usage for myVertexList for subclasses. More...
 
void countBaseMemory (UT_MemoryCounter &counter) const
 
void copyVertexListForMerge (const GA_OffsetListRef &src_vertices, const GA_MergeMap &map)
 

Static Protected Member Functions

static GA_PrimitiveFamilyMask buildFamilyMask ()
 
static
GA_IntrinsicManager::Registrar 
registerIntrinsics (GA_PrimitiveDefinition &defn)
 
- Static Protected Member Functions inherited from GEO_Hull
static GA_PrimitiveFamilyMask buildFamilyMask ()
 
- Static Protected Member Functions inherited from GEO_Primitive
static
GA_IntrinsicManager::Registrar 
registerIntrinsics (GA_PrimitiveDefinition &defn)
 

Friends

std::ostream & operator<< (std::ostream &os, const GEO_PrimMesh &d)
 

Additional Inherited Members

- Public Types inherited from GA_Primitive
enum  GA_DereferenceStatus { GA_DEREFERENCE_FAIL, GA_DEREFERENCE_OK, GA_DEREFERENCE_DEGENERATE, GA_DEREFERENCE_DESTROY }
 
- Static Public Member Functions inherited from GEO_Hull
static const UT_Vector3 quadNormal (const UT_Vector3 &p1, const UT_Vector3 &p2, const UT_Vector3 &p3, const UT_Vector3 &p4)
 
- Static Public Member Functions inherited from GEO_Primitive
static GA_PrimCompat::TypeMask getPrimitiveMaskH9 (const char *maskstr)
 
- Static Public Member Functions inherited from GA_Primitive
static SYS_FORCE_INLINE
GA_PrimCompat::TypeMask 
primCompatMaskFromTypeId (int type_id)
 
- Static Public Attributes inherited from GEO_Primitive
static const UT_Array
< GA_AttribSaveDataH9 > & 
theEmptySaveAttribs
 Convience objects to pass as arguments to saveH9()/loadH9(). More...
 
- Protected Attributes inherited from GEO_Hull
GA_OffsetMatrix myVertexMatx
 
GEO_HullFlags flags
 
GEO_SurfaceType surfaceType
 
- Protected Attributes inherited from GA_Primitive
GA_OffsetList myVertexList
 

Detailed Description

Definition at line 23 of file GEO_PrimMesh.h.

Constructor & Destructor Documentation

GEO_PrimMesh::GEO_PrimMesh ( GA_Detail d,
GA_Offset  offset = GA_INVALID_OFFSET 
)
inlineprotected

NOTE: The constructor should only be called from subclass constructors.

Definition at line 28 of file GEO_PrimMesh.h.

virtual GEO_PrimMesh::~GEO_PrimMesh ( )
inlineprotectedvirtual

NOTE: The destructor should only be called from subclass destructors.

Definition at line 34 of file GEO_PrimMesh.h.

Member Function Documentation

virtual int GEO_PrimMesh::attachU ( const GEO_Hull hull,
int  blend = 1,
float  bias = 0.5f,
float  tolerance = 1.0f,
int  = 1,
GA_PointGroup ptgroup = 0 
)
virtual

Implements GEO_Hull.

virtual int GEO_PrimMesh::attachV ( const GEO_Hull hull,
int  blend = 1,
float  bias = 0.5f,
float  tolerance = 1.0f,
int  = 1,
GA_PointGroup ptgroup = 0 
)
virtual

Implements GEO_Hull.

static GA_PrimitiveFamilyMask GEO_PrimMesh::buildFamilyMask ( )
inlinestaticprotected

Definition at line 88 of file GEO_PrimMesh.h.

virtual int GEO_PrimMesh::evaluateBreakpoint ( int  uidx,
int  vidx,
UT_Vector4 pos,
int  du = 0,
int  dv = 0 
) const
virtual

Implements GEO_Hull.

virtual bool GEO_PrimMesh::evaluatePointRefMap ( GA_Offset  result,
GA_AttributeRefMap map,
fpreal  u,
fpreal  v,
unsigned  du = 0,
unsigned  dv = 0 
) const
protectedvirtual
virtual int GEO_PrimMesh::evaluatePointV4 ( UT_Vector4 pos,
float  u,
float  v = 0,
unsigned  du = 0,
unsigned  dv = 0 
) const
protectedvirtual

Evaluate the position for the given parametric coordinates (with the given derivatives). Return 0 if successful, or -1 if failure. The default implementation returns {0,0,0,0};

Reimplemented from GEO_Primitive.

int GEO_PrimMesh::findMaxDistanceU ( float &  maxdist2,
int  start,
int  stop 
) const
protected
int GEO_PrimMesh::findMaxDistanceV ( float &  maxdist2,
int  start,
int  stop 
) const
protected
virtual const GA_PrimitiveJSON* GEO_PrimMesh::getJSON ( ) const
virtual

This method returns the JSON interface for saving/loading the primitive If the method returns a NULL pointer, then the primitive will not be saved to geometry files (and thus cannot be loaded).

Implements GA_Primitive.

virtual bool GEO_PrimMesh::loadExtraH9 ( UT_IStream )
protectedvirtual

Implements GEO_Hull.

virtual bool GEO_PrimMesh::loadPrivateH9 ( UT_IStream )
protectedvirtual

Implements GEO_Hull.

virtual int GEO_PrimMesh::loftU ( int  newcount,
int  start = -1,
int  stop = -1 
)
virtual

Implements GEO_Hull.

virtual int GEO_PrimMesh::loftV ( int  newcount,
int  start = -1,
int  stop = -1 
)
virtual

Implements GEO_Hull.

static GA_IntrinsicManager::Registrar GEO_PrimMesh::registerIntrinsics ( GA_PrimitiveDefinition defn)
inlinestaticprotected

All subclasses should call this method to register the mesh intrinsics.

See Also
GA_IntrinsicManager

Definition at line 94 of file GEO_PrimMesh.h.

virtual bool GEO_PrimMesh::saveExtraH9 ( std::ostream &  ,
bool  binary 
) const
protectedvirtual

Implements GEO_Hull.

virtual bool GEO_PrimMesh::savePrivateH9 ( std::ostream &  ,
bool  binary 
) const
protectedvirtual

Implements GEO_Hull.

virtual void GEO_PrimMesh::spanRefineUInt ( int  numdivs = 1)
protectedvirtual

Implements GEO_Hull.

virtual void GEO_PrimMesh::spanRefineURefMap ( GA_AttributeRefMap map,
int  numdivs = 1 
)
protectedvirtual

Implements GEO_Hull.

virtual void GEO_PrimMesh::spanRefineVInt ( int  numdivs = 1)
protectedvirtual

Implements GEO_Hull.

virtual void GEO_PrimMesh::spanRefineVRefMap ( GA_AttributeRefMap map,
int  numdivs = 1 
)
protectedvirtual

Implements GEO_Hull.

virtual int GEO_PrimMesh::unrollU ( int  append_pts = 1)
virtual

Reimplemented from GEO_Hull.

virtual int GEO_PrimMesh::unrollV ( int  append_pts = 1)
virtual

Reimplemented from GEO_Hull.

virtual bool GEO_PrimMesh::validate ( void  ) const
protectedvirtual

Implements GEO_Hull.

virtual int GEO_PrimMesh::warp ( float  u,
float  v,
const UT_Vector3 delta,
GA_AttributeRefMap map,
float  usharpness = 0.f,
float  vsharpness = 0.f,
float  ubias = -1.0f,
float  vbias = -1.0f 
)
virtual

Implements GEO_Hull.

virtual int GEO_PrimMesh::warpU ( float  u,
const UT_Vector3 delta,
GA_AttributeRefMap map,
float  sharpness = 0.0f,
float  bias = -1.0f 
)
virtual

Implements GEO_Hull.

virtual int GEO_PrimMesh::warpV ( float  v,
const UT_Vector3 delta,
GA_AttributeRefMap map,
float  sharpness = 0.0f,
float  bias = -1.0f 
)
virtual

Implements GEO_Hull.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const GEO_PrimMesh d 
)
friend

Definition at line 135 of file GEO_PrimMesh.h.


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