6 #ifndef MATERIALX_LOOK_H
7 #define MATERIALX_LOOK_H
73 return getChildOfType<MaterialAssign>(
name);
79 return getChildrenOfType<MaterialAssign>();
84 vector<MaterialAssignPtr> getActiveMaterialAssigns()
const;
89 removeChildOfType<MaterialAssign>(
name);
103 return addChild<PropertyAssign>(
name);
109 return getChildOfType<PropertyAssign>(
name);
115 return getChildrenOfType<PropertyAssign>();
120 vector<PropertyAssignPtr> getActivePropertyAssigns()
const;
125 removeChildOfType<PropertyAssign>(
name);
139 return addChild<PropertySetAssign>(
name);
145 return getChildOfType<PropertySetAssign>(
name);
151 return getChildrenOfType<PropertySetAssign>();
156 vector<PropertySetAssignPtr> getActivePropertySetAssigns()
const;
161 removeChildOfType<PropertySetAssign>(
name);
175 return addChild<VariantAssign>(
name);
181 return getChildOfType<VariantAssign>(
name);
187 return getChildrenOfType<VariantAssign>();
192 vector<VariantAssignPtr> getActiveVariantAssigns()
const;
197 removeChildOfType<VariantAssign>(
name);
211 return addChild<Visibility>(
name);
217 return getChildOfType<Visibility>(
name);
223 return getChildrenOfType<Visibility>();
228 vector<VisibilityPtr> getActiveVisibilities()
const;
233 removeChildOfType<Visibility>(
name);
248 Element(parent, CATEGORY, name)
316 vector<OutputPtr> getMaterialOutputs()
const;
325 setTypedAttribute<bool>(EXCLUSIVE_ATTRIBUTE,
value);
331 return getTypedAttribute<bool>(EXCLUSIVE_ATTRIBUTE);
339 NodePtr getReferencedMaterial()
const;
352 return addChild<VariantAssign>(
name);
358 return getChildOfType<VariantAssign>(
name);
364 return getChildrenOfType<VariantAssign>();
369 vector<VariantAssignPtr> getActiveVariantAssigns()
const;
374 removeChildOfType<VariantAssign>(
name);
472 setTypedAttribute<bool>(VISIBLE_ATTRIBUTE, visible);
478 return getTypedAttribute<bool>(VISIBLE_ATTRIBUTE);
VariantAssignPtr addVariantAssign(const string &name=EMPTY_STRING)
shared_ptr< PropertySetAssign > PropertySetAssignPtr
A shared pointer to a PropertySetAssign.
VisibilityPtr getVisibility(const string &name) const
Return the Visibility, if any, with the given name.
void removeVariantAssign(const string &name)
Remove the VariantAssign, if any, with the given name.
const string & getViewerCollection() const
Return the viewer collection string of the element.
shared_ptr< MaterialAssign > MaterialAssignPtr
A shared pointer to a MaterialAssign.
vector< VariantAssignPtr > getVariantAssigns() const
Return a vector of all VariantAssign elements in the look.
LookGroup(ElementPtr parent, const string &name)
static const string CATEGORY
#define MATERIALX_NAMESPACE_BEGIN
shared_ptr< const Look > ConstLookPtr
A shared pointer to a const Look.
void setLooks(const string &looks)
Set comma-separated list of looks.
GLsizei const GLfloat * value
shared_ptr< const Visibility > ConstVisibilityPtr
A shared pointer to a const Visibility.
MX_CORE_API vector< MaterialAssignPtr > getGeometryBindings(ConstNodePtr materialNode, const string &geom=UNIVERSAL_GEOM_NAME)
MATERIALX_NAMESPACE_BEGIN MX_CORE_API const string EMPTY_STRING
shared_ptr< Look > LookPtr
A shared pointer to a Look.
bool getExclusive() const
Return the exclusive boolean for the MaterialAssign.
const string & getViewerGeom() const
Return the viewer geom string of the element.
const string & getActiveLook() const
Return the active look, if any.
shared_ptr< const Node > ConstNodePtr
A shared pointer to a const Node.
void setMaterial(const string &material)
Set the material string for the MaterialAssign.
const string & getAttribute(const string &attrib) const
void setActiveLook(const string &look)
Set the active look.
const string & getVisibilityType() const
Return the visibility type string of the element.
MaterialAssign(ElementPtr parent, const string &name)
static const string MATERIAL_ATTRIBUTE
virtual ~MaterialAssign()
static const string ACTIVE_ATTRIBUTE
PropertyAssignPtr addPropertyAssign(const string &name=EMPTY_STRING)
static const string LOOKS_ATTRIBUTE
const string & getLooks() const
Get comma-separated list of looks.
VisibilityPtr addVisibility(const string &name=EMPTY_STRING)
shared_ptr< Visibility > VisibilityPtr
A shared pointer to a Visibility.
static const string EXCLUSIVE_ATTRIBUTE
void setExclusive(bool value)
Set the exclusive boolean for the MaterialAssign.
void removeMaterialAssign(const string &name)
Remove the MaterialAssign, if any, with the given name.
shared_ptr< LookGroup > LookGroupPtr
A shared pointer to a LookGroup.
Look(ElementPtr parent, const string &name)
void setVisibilityType(const string &type)
Set the visibility type string of the element.
PropertySetAssignPtr addPropertySetAssign(const string &name=EMPTY_STRING)
static const string CATEGORY
MaterialAssignPtr getMaterialAssign(const string &name) const
Return the MaterialAssign, if any, with the given name.
MX_CORE_API const string UNIVERSAL_GEOM_NAME
shared_ptr< VariantAssign > VariantAssignPtr
A shared pointer to a VariantAssign.
Visibility(ElementPtr parent, const string &name)
vector< MaterialAssignPtr > getMaterialAssigns() const
Return a vector of all MaterialAssign elements in the look.
static const string VISIBILITY_TYPE_ATTRIBUTE
shared_ptr< PropertyAssign > PropertyAssignPtr
A shared pointer to a PropertyAssign.
VariantAssignPtr addVariantAssign(const string &name=EMPTY_STRING)
GLuint const GLchar * name
VariantAssignPtr getVariantAssign(const string &name) const
Return the VariantAssign, if any, with the given name.
static const string VISIBLE_ATTRIBUTE
void removePropertySetAssign(const string &name)
Remove the PropertySetAssign, if any, with the given name.
PropertyAssignPtr getPropertyAssign(const string &name) const
Return the PropertyAssign, if any, with the given name.
VariantAssignPtr getVariantAssign(const string &name) const
Return the VariantAssign, if any, with the given name.
vector< PropertySetAssignPtr > getPropertySetAssigns() const
Return a vector of all PropertySetAssign elements in the look.
PropertySetAssignPtr getPropertySetAssign(const string &name) const
Return the PropertySetAssign, if any, with the given name.
void setAttribute(const string &attrib, const string &value)
Set the value string of the given attribute.
void removePropertyAssign(const string &name)
Remove the PropertyAssign, if any, with the given name.
void removeVisibility(const string &name)
Remove the Visibility, if any, with the given name.
const string & getMaterial() const
Return the material string for the MaterialAssign.
bool hasAttribute(const string &attrib) const
Return true if the given attribute is present.
bool hasMaterial() const
Return true if the given MaterialAssign has a material string.
static const string VIEWER_GEOM_ATTRIBUTE
static const string CATEGORY
void setViewerGeom(const string &geom)
Set the viewer geom string of the element.
void setViewerCollection(const string &collection)
Set the viewer geom string of the element.
bool hasVisibilityType() const
Return true if the given element has a visibility type string.
bool getVisible() const
Return the visible boolean of the element.
bool hasViewerGeom() const
Return true if the given element has a viewer geom string.
void removeVariantAssign(const string &name)
Remove the VariantAssign, if any, with the given name.
shared_ptr< Element > ElementPtr
A shared pointer to an Element.
vector< VariantAssignPtr > getVariantAssigns() const
Return a vector of all VariantAssign elements in the look.
#define MATERIALX_NAMESPACE_END
void setVisible(bool visible)
Set the visible boolean of the element.
vector< VisibilityPtr > getVisibilities() const
Return a vector of all Visibility elements in the look.
shared_ptr< const MaterialAssign > ConstMaterialAssignPtr
A shared pointer to a const MaterialAssign.
vector< PropertyAssignPtr > getPropertyAssigns() const
Return a vector of all PropertyAssign elements in the look.
shared_ptr< const LookGroup > ConstLookGroupPtr
A shared pointer to a const LookGroup.
bool hasViewerCollection() const
Return true if the given element has a viewer collection string.
static const string CATEGORY
static const string VIEWER_COLLECTION_ATTRIBUTE
shared_ptr< Node > NodePtr
A shared pointer to a Node.