11 #ifndef __GT_GEOPrimPacked__
12 #define __GT_GEOPrimPacked__
32 bool transformed=
true,
33 bool include_packed_attribs =
false)
34 : myPrimDetail(prim_gdh)
37 , myTransformed(transformed)
39 createPointPrimIDs(include_packed_attribs);
43 , myPrimDetail(src.myPrimDetail)
45 , myAttribs(src.myAttribs)
46 , myTransformed(src.myTransformed)
58 int nseg)
const override;
61 int nseg)
const override;
98 {
return myPrim ? myPrim->viewportLOD()
111 void geometryAndTransform(
127 virtual bool canInstance()
const;
133 virtual bool getInstanceKey(
UT_Options &options)
const;
144 bool ignore_visibility =
false)
const;
150 bool include_point_attribs =
true,
151 bool include_detail_attribs =
true,
169 {
return myPrim->sharedImplementation(); }
196 bool &requires_transform)
const;
198 bool &requires_transform)
const;
212 virtual bool copyPackedAttributesToGeometry()
const;
231 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 to filter attributes when building GT_AttributeLists.
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.
GA_API const UT_StringHolder parms
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
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter