10 #ifndef GT_PrimVolume_h
11 #define GT_PrimVolume_h
89 bool drawWireframe()
const;
92 bool drawMotionVectors()
const;
93 bool drawNormals()
const;
98 const char *
className()
const override {
return "GT_PrimVolume"; }
101 int nsegments)
const override;
109 bool refineHeightField(
GT_Refine &refiner,
113 bool isIsosurface()
const;
115 bool as_points)
const;
120 bool isHeightField()
const;
124 bool use_quads)
const;
131 gt_BlendMask blendMaskState(
int index)
const;
134 bool isSmokeVolume()
const;
135 bool is3DVolume()
const;
140 fpreal getVisTiles()
const;
143 bool getStoresIntegers()
const;
146 int getTupleSize()
const;
153 bool remove_padding =
false)
const;
164 {
return getPrimitive(); }
168 {
return myVolumeAttributes.entries(); }
170 {
return myVolumeAttributes(i); }
172 { myVolumeAttributes.append(prim); }
177 myUniformList = uniform;
181 {
return myUniformList; }
198 int myCollationIndex;
200 mutable int64 myCacheVersion[2];
201 mutable bool myIsosurfaceFlag =
false;
202 mutable bool mySmokeVolumeFlag =
false;
203 mutable bool myHeightFieldFlag =
false;
204 mutable bool myIs3DVolume =
true;
205 mutable bool myIsImageVolume =
false;
206 mutable bool myFlip =
false;
218 mutable bool myVolumeReduced =
false;
219 static int64 theMeshDataID;
220 static int64 theMeshTopID;
const GEO_Primitive * emissionColorPrim[3]
virtual bool updateGeoPrim(const GU_ConstDetailHandle &dtl, const GT_RefineParms &parms)
update any cached data for geometry and its attributes
GT_PrimVolumeRampMode densityRampType
const GEO_Primitive * diffusePrim[3]
const GEO_Primitive * getVolumeAttribute(exint i) const
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
GT_PrimVolumeRampMode emissionColorRampType
virtual GT_GEOPrimCollectData * beginCollecting(const GT_GEODetailListHandle &geometry, const GT_RefineParms *parms) const
bool isVolumeReduced() const
void flagVolumeReduced() const
const GEO_Primitive * densityPrim
Viewport visualization info for a volume.
Collection data container.
const GT_AttributeListHandle & getUniformAttributes() const override
int getPrimitiveType() const override
virtual GT_PrimitiveHandle endCollecting(const GT_GEODetailListHandle &geometry, GT_GEOPrimCollectData *data) const
UT_Vector3 ambientExposed
virtual GT_PrimitiveHandle collect(const GT_GEODetailListHandle &geometry, const GEO_Primitive *const *prim_list, int nsegments, GT_GEOPrimCollectData *data) const =0
int getMotionSegments() const override
UT_Vector3 ambientOccluded
void setUniformAttributes(const GT_AttributeListHandle &uniform)
Set the list of uniform attributes.
void appendVolumeAttribute(const GEO_Primitive *prim)
UT_Ramp emissionColorRamp
The base class for all GT primitive types.
virtual int64 getMemoryUsage() const =0
const GU_ConstDetailHandle & getDetail() const
GT_PrimVolumeRampMode diffuseRampType
const GEO_Primitive * emissionPrim
GT_API const UT_StringHolder version
Processes primitives generated by refinement process.
exint getNumVolumeAttributes() const
~GT_GEOPrimCollectVolume() override
Utility class for containing a color ramp.
GT_PrimVolumeRampMode emissionRampType
IMF_EXPORT bool isImage(const std::string &name)
float emissionColorRange[2]
GT_PrimitiveHandle doSoftCopy() const override
UT_SharedPtr< GT_GEODetailList > GT_GEODetailListHandle
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
const GEO_Primitive * getGeoPrimitive() const
const char * className() const override
GT_GEOPrimCollectVolume()