13 #ifndef __GA_AttributeSet__
14 #define __GA_AttributeSet__
60 template <
typename T>
class UT_Array;
139 attribute_options, attribtype);
191 int search_order_size)
const;
196 int search_order_size)
200 (
this)->findAttribute(scope, name,
207 int search_order_size)
const
216 int search_order_size)
226 {
return findAttribute(scope, name, &owner, 1); }
238 {
return findAttribute(scope, name, &owner, 1); }
248 int search_order_size,
252 int search_order_size,
257 {
return matchAttributes(filter, &owner,1, list); }
261 {
return matchAttributes(filter, &owner,1, list); }
311 tuple_size, defaults, creation_args,
312 attribute_options,
r);
353 creation_args, attribute_options, attribtype,
376 creation_args, attribute_options, attribtype,
516 int64 getMemoryUsage(
bool inclusive)
const;
536 static bool saveDictH9(std::ostream &os,
const char *
label,
547 void clearAllAttributes(
bool for_deletion);
562 return myAttributes[owner];
582 void mergeDestroyGlobalDestination(
GA_MergeMap &map)
590 return myAttributes[owner].begin();
595 return myAttributes[owner].begin(scope);
598 {
return myAttributes[owner].end(); }
601 {
return myAttributes[owner].end(scope); }
615 void enableDataIdGeneration();
618 bool isGeneratingDataIds()
const
619 {
return myGenerateDataIds; }
626 myAttributes[owner].setNumBuckets(scope, nbuckets);
684 return myAttributes[owner].findProxy(scope, name);
697 {
return destroy(owner,
find(owner, scope, name)); }
705 template<
typename OP,
typename FILL_OPT_OP>
708 FILL_OPT_OP &fill_opt_op,
720 bool myGenerateDataIds : 1;
721 bool myPreferredPrec64 : 1;
A class to manage an ordered array which has fixed offset handles.
Definition of a geometry attribute.
SYS_FORCE_INLINE GA_Attribute * findPointAttribute(const UT_StringRef &name)
Specify when and how to reuse an existing attribute.
SYS_FORCE_INLINE GA_Attribute * findAttribute(GA_AttributeOwner owner, const UT_StringRef &name)
Used to pass options and map offset values during saving.
SYS_FORCE_INLINE GA_Attribute * createDictAttribute(GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const UT_StringRef &attribtype="dict", const GA_ReuseStrategy &r=GA_ReuseStrategy())
SYS_FORCE_INLINE bool destroyAttribute(GA_AttributeOwner owner, const UT_StringRef &name)
GA_AttributeDict::iterator begin(GA_AttributeOwner owner, GA_AttributeScope scope) const
Class which stores the default values for a GA_Attribute.
void matchAttributes(const GA_AttributeFilter &filter, GA_AttributeOwner owner, UT_Array< const GA_Attribute * > &list) const
SYS_FORCE_INLINE const GA_Attribute * findAttribute(GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name) const
GA_AttributeDict::iterator end(GA_AttributeOwner owner, GA_AttributeScope scope) const
The merge map keeps track of information when merging details.
GA_AttributeDict::iterator begin(GA_AttributeOwner owner) const
JSON reader class which handles parsing of JSON or bJSON files.
SYS_FORCE_INLINE GA_Attribute * createAttribute(GA_AttributeOwner owner, const UT_StringHolder &name, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype, const GA_ReuseStrategy &r=GA_ReuseStrategy())
Convenience method to add a public attribute.
Class used to map H9 geometry files to a form used by GA.
Class which writes ASCII or binary JSON streams.
GLuint const GLchar * name
Standard user attribute level.
SYS_FORCE_INLINE GA_Attribute * findPrimitiveAttribute(const UT_StringRef &name)
GA_ElementGroup * findVertexGroup(const UT_StringRef &name)
#define GA_INVALID_OFFSET
A string map of attributes to ease backward compatibility In the GB/GEO/GU library code would often p...
GLubyte GLubyte GLubyte GLubyte w
#define SYS_DEPRECATED_REPLACE(__V__, __R__)
SYS_FORCE_INLINE GA_Attribute * findPrimitiveAttribute(GA_AttributeScope scope, const UT_StringRef &name)
GA_Detail * getDetail() const
GLint GLint GLsizei GLint GLenum GLenum type
SYS_FORCE_INLINE GA_Attribute * findAttribute(GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name)
GA_AttributeDict::iterator end(GA_AttributeOwner owner) const
std::string OIIO_API replace(string_view str, string_view pattern, string_view replacement, bool global=false)
FMT_CONSTEXPR bool find(Ptr first, Ptr last, T value, Ptr &out)
This class holds a reference to an attribute. Such an indirection level allows an easy way to invalid...
SYS_FORCE_INLINE GA_Attribute * findVertexAttribute(const UT_StringRef &name)
SYS_FORCE_INLINE const GA_Attribute * findAttribute(GA_AttributeOwner owner, const UT_StringRef &name) const
GLuint GLsizei const GLchar * label
GA_Attribute * getAttribute()
GA_ElementGroup * findPointGroup(const UT_StringRef &name)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Defragmentation of IndexMaps.
MX_CORE_API bool isValidName(const string &name)
Return true if the given string is a valid MaterialX name.
SYS_FORCE_INLINE const GA_AttributeDict & getDict(GA_AttributeOwner owner) const
Raw access to the GA_AttributeDict for a particular owner.
UT_UniquePtr< GA_Attribute > GA_AttributeUPtr
GA_ElementGroup * findPrimitiveGroup(const UT_StringRef &name)
Attribute Interface for file I/O.
A map of string to various well defined value types.
Class to return information about a GA_Detail.
SYS_FORCE_INLINE GA_Attribute * findVertexAttribute(GA_AttributeScope scope, const UT_StringRef &name)
Class to allow custom AIF interfaces to be built.
SYS_FORCE_INLINE GA_Attribute * findPointAttribute(GA_AttributeScope scope, const UT_StringRef &name)
Class used to map the GA attribute into a form for H9 geometry files.
OIIO_API bool attribute(string_view name, TypeDesc type, const void *val)
SYS_FORCE_INLINE GA_Attribute * findGlobalAttribute(GA_AttributeScope scope, const UT_StringRef &name)
getOption("OpenEXR.storage") storage
Container class for all geometry.
SYS_FORCE_INLINE GA_Attribute * createStringAttribute(GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const UT_StringRef &attribtype="string", const GA_ReuseStrategy &r=GA_ReuseStrategy())
ImageBuf OIIO_API add(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
SYS_FORCE_INLINE GA_Attribute * createTupleAttribute(GA_AttributeOwner owner, const UT_StringHolder &name, GA_Storage storage, int tuple_size, const GA_Defaults &defaults, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const GA_ReuseStrategy &r=GA_ReuseStrategy())
void matchAttributes(const GA_AttributeFilter &filter, GA_AttributeOwner owner, UT_Array< GA_Attribute * > &list)
void renameAttribute(PointDataTreeT &tree, const Name &oldName, const Name &newName)
Rename an attribute in a VDB tree.
UT_UniquePtr< GA_ATINumeric > GA_ATINumericUPtr
SYS_FORCE_INLINE GA_Attribute * findAttribute(const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_order_size)
SYS_FORCE_INLINE GA_Attribute * findGlobalAttribute(const UT_StringRef &name)
SYS_FORCE_INLINE const GA_Attribute * findAttribute(const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_order_size) const
namevalidandfreecertificate()
SYS_FORCE_INLINE GA_Attribute * findAttribute(GA_AttributeScope scope, const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_order_size)