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); }
143 bool getLocalTransform(
UT_Matrix4D &m)
const override;
163 bool unpackUsingPolygons(
GU_Detail &destgdp,
169 myFacesetAttribute =
s;
174 {
return myFacesetAttribute; }
180 if (mySharedNameMapData)
184 return myAttributeNameMap;
189 { mySharedNameMapData = std::move(s); }
193 bool visibleGT(
bool *is_animated = NULL)
const;
215 if (myFilenames.size())
216 return myFilenames.last();
223 {
return object().getSourcePath(); }
225 {
return object().getPointCount(myFrame); }
244 {
return computeVisibility(
false); }
246 {
return computeVisibility(
true); }
257 {
return getFaceSetNames(); }
261 int64 getPropertiesHash()
const;
279 virtual fpreal computeArea()
const;
281 virtual fpreal computePerimeter()
const;
285 template <
typename T>
311 int64 getMemoryUsage(
bool inclusive)
const;
314 void updateFrame(
fpreal frame);
317 bool *is_animated = NULL);
328 {
return myAnimationType; }
333 refreshTransform(abc);
365 bool allow_psoup)
const;
367 void setupNameMap()
const;
374 mutable GTCache myCache;
375 mutable bool myCachedUniqueID;
376 mutable int64 myUniqueID;
381 bool myUseVisibility;
384 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.
OIIO_UTIL_API bool copy(string_view from, string_view to, std::string &err)
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
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.