15 #ifndef __GA_ElementGroup__
16 #define __GA_ElementGroup__
30 template <GA_AttributeOwner OWNER>
152 { addMix(&primary_prim, sec); }
154 { removeMix(&primary_prim, sec); }
156 {
return containsMix(&element, sec); }
163 friend class GA_GroupTable;
164 friend class GA_ElementGroupTable;
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the and then *wait for them to all complete We provide a helper class
void toggle(const GA_Primitive &prim)
UT_UniquePtr< GA_VertexGroup > GA_VertexGroupUPtr
#define SYS_DEPRECATED_PUSH_DISABLE()
OIIO_UTIL_API bool remove(string_view path, std::string &err)
#define SYS_DEPRECATED_POP_DISABLE()
GA_PrimitiveGroup & operator^=(const GA_PrimitiveGroup &g)
Abstract base class for a range membership query object.
Information necessary to lookup a secondary primitive.
UT_UniquePtr< GA_ElementGroup > GA_ElementGroupUPtr
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
UT_UniquePtr< const GA_PointGroup > GA_ConstPointGroupUPtr
void removeMix(const GA_Primitive &primary_prim, const GA_SecondaryLookupInfo *sec)
bool contains(const GA_Primitive &prim) const
GA_PrimitiveGroup & operator-=(const GA_PrimitiveGroup &g)
GA_VertexGroup(const GA_Detail &detail)
Makes a detached vertex group.
GA_PointGroup & operator^=(const GA_PointGroup &g)
UT_UniquePtr< const GA_PrimitiveGroup > GA_ConstPrimitiveGroupUPtr
GA_PrimitiveGroup & operator&=(const GA_PrimitiveGroup &g)
UT_UniquePtr< GA_PrimitiveGroup > GA_PrimitiveGroupUPtr
GA_PrimitiveGroup(const GA_Detail &detail)
Makes a detached primitive group.
GLuint const GLchar * name
void add(const GA_Primitive &prim)
OWNER must be one of GA_ATTRIB_POINT, GA_ATTRIB_PRIMITIVE, GA_ATTRIB_VERTEX.
void addMix(const GA_Primitive &primary_prim, const GA_SecondaryLookupInfo *sec)
GA_PointGroup & operator-=(const GA_PointGroup &g)
bool containsMix(const GA_Primitive &element, const GA_SecondaryLookupInfo *sec) const
GA_VertexGroup & operator-=(const GA_VertexGroup &g)
GA_PrimitiveGroup(GA_Detail &detail, const UT_StringHolder &name, bool internal, bool detached)
GA_ElementGroup & operator-=(const GA_ElementGroup &g)
GA_ElementGroup & operator|=(const GA_ElementGroup &g)
GA_VertexGroup & operator^=(const GA_VertexGroup &g)
GA_PointGroup(GA_Detail &detail, const UT_StringHolder &name, bool internal, bool detached)
Container class for all geometry.
ImageBuf OIIO_API add(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
GA_ElementGroup & operator^=(const GA_ElementGroup &g)
UT_UniquePtr< GA_PointGroup > GA_PointGroupUPtr
GA_PointGroup(const GA_Detail &detail)
Makes a detached point group.
GA_ElementGroup & operator&=(const GA_ElementGroup &g)
UT_UniquePtr< const GA_VertexGroup > GA_ConstVertexGroupUPtr
UT_UniquePtr< const GA_ElementGroup > GA_ConstElementGroupUPtr
GA_PointGroup & operator&=(const GA_PointGroup &g)
GA_VertexGroup & operator&=(const GA_VertexGroup &g)
GA_VertexGroup(GA_Detail &detail, const UT_StringHolder &name, bool internal, bool detached)
GA_ElementGroup & operator=(const GA_ElementGroup &g)
SYS_FORCE_INLINE bool contains(GA_Offset offset) const