11 #ifndef __GT_GEOPrimPacked__
12 #define __GT_GEOPrimPacked__
31 bool transformed=
true,
32 bool include_packed_attribs =
false)
33 : myPrimDetail(prim_gdh)
36 , myTransformed(transformed)
38 createPointPrimIDs(include_packed_attribs);
42 , myPrimDetail(src.myPrimDetail)
44 , myAttribs(src.myAttribs)
45 , myTransformed(src.myTransformed)
57 int nseg)
const override;
60 int nseg)
const override;
97 {
return myPrim ? myPrim->viewportLOD()
110 void geometryAndTransform(
118 bool getViewportTransform(
UT_Matrix4D &xform)
const;
126 virtual bool canInstance()
const;
132 virtual bool getInstanceKey(
UT_Options &options)
const;
143 bool ignore_visibility =
false)
const;
165 {
return myPrim->sharedImplementation(); }
192 bool &requires_transform)
const;
194 bool &requires_transform)
const;
208 virtual bool copyPackedAttributesToGeometry()
const;
227 void createPointPrimIDs(
bool include_packed_attribs);
virtual int getMotionSegments() const =0
GT_GEOPrimPacked(const GU_ConstDetailHandle &prim_gdh, const GU_PrimPacked *prim, bool transformed=true, bool include_packed_attribs=false)
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
virtual const GT_ViewportRefineOptions & viewportRefineOptions() const
virtual GEO_ViewportLOD getViewportLOD(int) const
void setDetailPrim(const GU_ConstDetailHandle &dh, const GU_PrimPacked *prim)
Class which writes ASCII or binary JSON streams.
**But if you need a result
A range of elements in an index-map.
GT_GEOPrimPacked(const GT_GEOPrimPacked &src)
void appendAttribute(PointDataTreeT &tree, const Name &name, const NamePair &type, const Index strideOrTotalSize, const bool constantStride, const Metadata *defaultValue, const bool hidden, const bool transient)
Appends a new attribute to the VDB tree (this method does not require a templated AttributeType) ...
const GU_PackedImpl * getImplementation() const
Accessor to the packed implementation.
virtual void getVelocityRange(UT_Vector3 &min, UT_Vector3 &max, const UT_StringRef &attribute_name=GA_Names::v) const
const GU_PrimPacked * getPrim() const
Accessor to the primitive.
virtual void enlargeRenderBounds(UT_BoundingBox boxes[], int nsegments) const
GT_PrimitiveHandle doSoftCopy() const override
GLuint const GLchar * name
virtual void setViewportLOD(GEO_ViewportLOD, int)
The base class for all GT primitive types.
virtual GT_PrimitiveHandle doHarden() const
virtual int64 getMemoryUsage() const =0
Processes primitives generated by refinement process.
Container for a GU packed primitive.
A map of string to various well defined value types.
virtual bool save(UT_JSONWriter &w) const
void setTransformed(bool f)
const GT_AttributeListHandle & getPointAttributes() const override
GLubyte GLubyte GLubyte GLubyte w
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
virtual const char * className() const =0
int getPrimitiveType() const override