6#ifndef MATERIALX_VARIANT_H
7#define MATERIALX_VARIANT_H
50 static const string CATEGORY;
74 return addChild<Variant>(name);
80 return getChildOfType<Variant>(name);
86 return getChildrenOfType<Variant>();
92 removeChildOfType<Variant>(name);
98 static const string CATEGORY;
109 Element(parent, CATEGORY, name)
120 setAttribute(VARIANT_SET_ATTRIBUTE, variantSet);
126 return hasAttribute(VARIANT_SET_ATTRIBUTE);
132 return getAttribute(VARIANT_SET_ATTRIBUTE);
142 setAttribute(VARIANT_ATTRIBUTE, variant);
148 return hasAttribute(VARIANT_ATTRIBUTE);
154 return getAttribute(VARIANT_ATTRIBUTE);
160 static const string CATEGORY;
161 static const string VARIANT_SET_ATTRIBUTE;
162 static const string VARIANT_ATTRIBUTE;
shared_ptr< Element > ElementPtr
A shared pointer to an Element.
Definition: Element.h:31
Interface element subclasses.
Import and export declarations for the Core library.
shared_ptr< VariantSet > VariantSetPtr
A shared pointer to a VariantSet.
Definition: Variant.h:29
shared_ptr< const VariantAssign > ConstVariantAssignPtr
A shared pointer to a const VariantAssign.
Definition: Variant.h:36
shared_ptr< const Variant > ConstVariantPtr
A shared pointer to a const Variant.
Definition: Variant.h:26
shared_ptr< Variant > VariantPtr
A shared pointer to a Variant.
Definition: Variant.h:24
shared_ptr< const VariantSet > ConstVariantSetPtr
A shared pointer to a const VariantSet.
Definition: Variant.h:31
shared_ptr< VariantAssign > VariantAssignPtr
A shared pointer to a VariantAssign.
Definition: Variant.h:34
The base class for MaterialX elements.
Definition: Element.h:75
The base class for interface elements such as Node, NodeDef, and NodeGraph.
Definition: Interface.h:317
A variant assignment element within a Look.
Definition: Variant.h:106
bool hasVariantString() const
Return true if the given element has a variant string.
Definition: Variant.h:146
void setVariantString(const string &variant)
Set the element's variant string.
Definition: Variant.h:140
void setVariantSetString(const string &variantSet)
Set the element's variant set string.
Definition: Variant.h:118
const string & getVariantString() const
Return the element's variant string.
Definition: Variant.h:152
const string & getVariantSetString() const
Return the element's variant set string.
Definition: Variant.h:130
bool hasVariantSetString() const
Return true if the given element has a variant set string.
Definition: Variant.h:124
A variant element within a VariantSet.
Definition: Variant.h:41
A variant set element within a Document.
Definition: Variant.h:56
VariantPtr getVariant(const string &name) const
Return the Variant, if any, with the given name.
Definition: Variant.h:78
vector< VariantPtr > getVariants() const
Return a vector of all Variant elements in the look.
Definition: Variant.h:84
void removeVariant(const string &name)
Remove the Variant, if any, with the given name.
Definition: Variant.h:90
VariantPtr addVariant(const string &name=EMPTY_STRING)
Add a Variant to the variant set.
Definition: Variant.h:72