11 #ifndef __GEO_PrimPacked__
12 #define __GEO_PrimPacked__
24 #define GEO_SHARED_DATA_NAMEMAP (('A'<<24)|('m'<<16)|('a'<<8)|('p'))
59 bool dry_run=
false)
override;
62 bool dry_run=
false)
override;
76 unsigned du=0,
unsigned dv=0)
const override
99 virtual void getFullTransform4(
UT_Matrix4D &matrix)
const = 0;
103 virtual bool getUntransformedBounds(
UT_BoundingBox &box)
const = 0;
104 virtual bool getUntransformedVisibleBounds(
UT_BoundingBox &box)
const = 0;
105 virtual bool getUntransformedRenderingBounds(
UT_BoundingBox &box)
const = 0;
133 void assignVertex(
GA_Offset vtx,
bool update_topology);
150 virtual void transformDirty();
151 virtual void attributeDirty();
152 virtual void topologyDirty();
157 virtual bool loadOptions(
const UT_Options &options,
159 virtual bool supportsJSONLoad()
const = 0;
164 virtual bool loadUnknownToken(
const char *token,
fpreal calcPerimeter() const override
virtual GEO_Primitive * copy(int preserve_shared_pts=0) const
virtual UT_Vector3 baryCenter() const
UT_JSONValueMap stores a map/dictionary of UT_JSONValue objects.
virtual void copyPrimitive(const GEO_Primitive *src)=0
Used to pass options and map offset values during saving.
SYS_FORCE_INLINE GA_Size getVertexCount() const
Return the number of vertices used by this primitive.
virtual UT_Vector3D computeNormalD() const =0
virtual void copySubclassData(const GA_Primitive *source)
fpreal calcVolume(const UT_Vector3 &) const override
virtual bool saveSharedLoadData(UT_JSONWriter &w, GA_SaveMap &save, GA_GeometryIndex *geo_index) const
SYS_FORCE_INLINE void setPointOffset(GA_Size i, GA_Offset ptoff)
virtual GA_DereferenceStatus dereferencePoint(GA_Offset point, bool dry_run=false)=0
JSON reader class which handles parsing of JSON or bJSON files.
Class which writes ASCII or binary JSON streams.
Abstract base class for a range membership query object.
SYS_FORCE_INLINE void setVertexPoint(GA_Offset point)
fpreal calcArea() const override
UT_SharedPtr< GA_SharedDataHandle > GA_SharedDataHandlePtr
virtual UT_Vector3 computeNormal() const =0
Return a normal vector for the primitive.
#define GA_INVALID_OFFSET
GEO_ViewportLOD myViewportLOD
virtual bool isDegenerate() const =0
Is the primitive degenerate.
static const UT_StringHolder theDefaultFacesetAttribute
virtual void setLocalTransform(const UT_Matrix3D &matrix)
Set the local transform. The default implementation does nothing.
Map to translate from Alembic attribute names to Houdini names.
virtual int evaluateInteriorPointV4(UT_Vector4 &pos, fpreal u, fpreal v, fpreal w=0) const
virtual const GA_PrimitiveJSON * getJSON() const =0
GLsizei GLsizei GLchar * source
Provide a JSON interface to a primitive.
GA_Offset allocateVertex(GA_Offset point=GA_INVALID_OFFSET)
allocateVertex() will call wireVertex() if the point given is not -1
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)
const UT_Vector3 & pivot() const
Fast access to pivot transform.
A handle to simplify manipulation of multiple attributes.
virtual bool getVisibleBBox(UT_BoundingBox *bbox) const
virtual GA_DereferenceStatus dereferencePoints(const GA_RangeMemberQuery &pt_q, bool dry_run=false)=0
GEO_ViewportLOD viewportLOD() const
virtual void transform(const UT_Matrix4 &)
virtual void enlargePointBounds(UT_BoundingBox &box) const
virtual void getLocalTransform(UT_Matrix3D &matrix) const
A map of string to various well defined value types.
virtual int detachPoints(GA_PointGroup &grp)=0
virtual bool getBBox(UT_BoundingBox *bbox) const =0
virtual bool evaluatePointRefMap(GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const =0
const UT_Matrix3D & localTransform() const
Fast access to local transform.
GLubyte GLubyte GLubyte GLubyte w
virtual bool registerSharedLoadData(int load_data_type, GA_SharedDataHandlePtr item)
UT_Matrix3D myLocalTransform
virtual int evaluatePointV4(UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const
virtual void stashed(bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET)