28 #ifndef __GABC_PackedImpl__
29 #define __GABC_PackedImpl__
45 static bool isInstalled();
76 int64 getMemoryUsage(
bool inclusive)
const override;
81 bool inclusive)
const override;
84 bool isValid()
const override;
89 void clearData()
override;
94 {
return loadFrom(prim, options, map); }
100 {
return loadFrom(prim, options, map); }
145 bool getLocalTransform(
UT_Matrix4D &m)
const override;
165 bool unpackUsingPolygons(
GU_Detail &destgdp,
171 myFacesetAttribute =
s;
176 {
return myFacesetAttribute; }
182 if (mySharedNameMapData)
186 return myAttributeNameMap;
191 { mySharedNameMapData = std::move(s); }
195 bool visibleGT(
bool *is_animated = NULL)
const;
217 if (myFilenames.size())
218 return myFilenames.last();
225 {
return object().getSourcePath(); }
227 {
return object().getPointCount(myFrame); }
246 {
return computeVisibility(
false); }
248 {
return computeVisibility(
true); }
259 {
return getFaceSetNames(); }
263 int64 getPropertiesHash()
const;
281 virtual fpreal computeArea()
const;
283 virtual fpreal computePerimeter()
const;
287 template <
typename T>
313 int64 getMemoryUsage(
bool inclusive)
const;
316 void updateFrame(
fpreal frame);
319 bool *is_animated = NULL);
330 {
return myAnimationType; }
335 refreshTransform(abc);
367 bool allow_psoup)
const;
369 void setupNameMap()
const;
376 mutable GTCache myCache;
377 mutable bool myCachedUniqueID;
378 mutable int64 myUniqueID;
383 bool myUseVisibility;
386 mutable bool myHasConstBounds;
UT_StringHolder intrinsicDetail(const GU_PrimPacked *prim) const
GABC_API const char * GABCnodeType(GABC_NodeType type)
UT_JSONValueMap stores a map/dictionary of UT_JSONValue objects.
GLdouble GLdouble GLint GLint const GLdouble * points
Used to pass options and map offset values during saving.
UT_StringHolder intrinsicPoint(const GU_PrimPacked *prim) const
const UT_StringHolder & facesetAttribute() const override
Alembic packed primitives do have a faceset attribute, so return it.
GTCache & operator=(const GTCache &src)
JSON reader class which handles parsing of JSON or bJSON files.
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
GEO_API const char * GEOanimationType(GEO_AnimationType type)
void setSharedNameMapData(GA_SharedDataHandlePtr s) override
This should only be called during load.
bool supportsJSONLoad() const override
bool loadFromJSON(GU_PrimPacked *prim, const UT_JSONValueMap &options, const GA_LoadMap &map) override
UT_SharedPtr< GA_SharedDataHandle > GA_SharedDataHandlePtr
UT_StringHolder intrinsicFaceSet(const GU_PrimPacked *prim) const
bool useTransform() const
GEO_AnimationType animationType() const
std::optional< T > UT_Optional
const GEO_PackedNameMapPtr & attributeNameMap() const override
bool intrinsicUseTransform(const GU_PrimPacked *prim) const
int64 intrinsicPointCount(const GU_PrimPacked *prim) const
int currentLoadStyle() const
UT_StringHolder intrinsicFilename(const GU_PrimPacked *prim) const
const char * intrinsicAnimation(const GU_PrimPacked *prim) const
GABC_NodeType nodeType() const
bool useVisibility() const
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_14 uint8_t packed(VULKAN_HPP_NAMESPACE::Format format)
int64 intrinsicFullVisibility(const GU_PrimPacked *prim) const
GA_API const UT_StringHolder transform
bool intrinsicUseVisibility(const GU_PrimPacked *prim) const
void setFacesetAttribute(const UT_StringHolder &s) override
Alembic packed primitives do have a faceset attribute, so set it.
fpreal intrinsicFrame(const GU_PrimPacked *prim) const
A map of string to various well defined value types.
const UT_StringArray & filenames() const
UT_StringHolder intrinsicSourcePath(const GU_PrimPacked *prim) const
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
int64 intrinsicVisibility(const GU_PrimPacked *prim) const
static GA_PrimitiveTypeId typeId()
Container class for all geometry.
const char * intrinsicNodeType(const GU_PrimPacked *prim) const
bool load(GU_PrimPacked *prim, const UT_Options &options, const GA_LoadMap &map) override
Give a UT_Options of load data, create resolver data for the primitive.
UT_StringHolder intrinsicPrimitive(const GU_PrimPacked *prim) const
UT_StringHolder intrinsicObjectPath(const GU_PrimPacked *prim) const
UT_StringHolder intrinsicVertex(const GU_PrimPacked *prim) const
const UT_StringHolder & objectPath() const
const GT_TransformHandle & xform(const GABC_PackedImpl *abc)
Return the current transform handle.