MaterialX 1.39.1
|
An element representing a declaration of geometric property data. More...
#include <Geom.h>
Public Member Functions | |
GeomPropDef (ElementPtr parent, const string &name) | |
Geometric Property | |
void | setGeomProp (const string &node) |
Set the geometric property string of this element. | |
bool | hasGeomProp () const |
Return true if this element has a geometric property string. | |
const string & | getGeomProp () const |
Return the geometric property string of this element. | |
Geometric Space | |
void | setSpace (const string &space) |
Set the geometric space string of this element. | |
bool | hasSpace () const |
Return true if this element has a geometric space string. | |
const string & | getSpace () const |
Return the geometric space string of this element. | |
Geometric Index | |
void | setIndex (const string &space) |
Set the index string of this element. | |
bool | hasIndex () const |
Return true if this element has an index string. | |
const string & | getIndex () const |
Return the index string of this element. | |
Public Member Functions inherited from TypedElement | |
void | setType (const string &type) |
Set the element's type string. | |
bool | hasType () const |
Return true if the given element has a type string. | |
virtual const string & | getType () const |
Return the element's type string. More... | |
bool | isColorType () const |
Return true if the element is of color type. | |
bool | isMultiOutputType () const |
Return true if the element is of multi-output type. | |
TypeDefPtr | getTypeDef () const |
Return the TypeDef declaring the type string of this element. More... | |
Public Member Functions inherited from Element | |
Element (const Element &)=delete | |
Element & | operator= (const Element &)=delete |
bool | operator== (const Element &rhs) const |
Return true if the given element tree, including all descendants, is identical to this one. | |
bool | operator!= (const Element &rhs) const |
Return true if the given element tree, including all descendants, differs from this one. | |
void | setCategory (const string &category) |
Set the element's category string. | |
const string & | getCategory () const |
Return the element's category string. More... | |
void | setName (const string &name) |
Set the element's name string. More... | |
const string & | getName () const |
Return the element's name string. | |
string | getNamePath (ConstElementPtr relativeTo=nullptr) const |
Return the element's hierarchical name path, relative to the root document. More... | |
ElementPtr | getDescendant (const string &namePath) const |
Return the element specified by the given hierarchical name path, relative to the current element. More... | |
void | setFilePrefix (const string &prefix) |
Set the element's file prefix string. | |
bool | hasFilePrefix () const |
Return true if the given element has a file prefix string. | |
const string & | getFilePrefix () const |
Return the element's file prefix string. | |
const string & | getActiveFilePrefix () const |
Return the file prefix string that is active at the scope of this element, taking all ancestor elements into account. | |
void | setGeomPrefix (const string &prefix) |
Set the element's geom prefix string. | |
bool | hasGeomPrefix () const |
Return true if the given element has a geom prefix string. | |
const string & | getGeomPrefix () const |
Return the element's geom prefix string. | |
const string & | getActiveGeomPrefix () const |
Return the geom prefix string that is active at the scope of this element, taking all ancestor elements into account. | |
void | setColorSpace (const string &colorSpace) |
Set the element's color space string. | |
bool | hasColorSpace () const |
Return true if the given element has a color space string. | |
const string & | getColorSpace () const |
Return the element's color space string. | |
const string & | getActiveColorSpace () const |
Return the color space string that is active at the scope of this element, taking all ancestor elements into account. | |
void | setInheritString (const string &inherit) |
Set the inherit string of this element. | |
bool | hasInheritString () const |
Return true if this element has an inherit string. | |
const string & | getInheritString () const |
Return the inherit string of this element. | |
void | setInheritsFrom (ConstElementPtr super) |
Set the element that this one directly inherits from. | |
ElementPtr | getInheritsFrom () const |
Return the element, if any, that this one directly inherits from. | |
bool | hasInheritedBase (ConstElementPtr base) const |
Return true if this element has the given element as an inherited base, taking the full inheritance chain into account. | |
bool | hasInheritanceCycle () const |
Return true if the inheritance chain for this element contains a cycle. | |
void | setNamespace (const string &space) |
Set the namespace string of this element. | |
bool | hasNamespace () const |
Return true if this element has a namespace string. | |
const string & | getNamespace () const |
Return the namespace string of this element. | |
string | getQualifiedName (const string &name) const |
Return a qualified version of the given name, taking the namespace at the scope of this element into account. | |
void | setDocString (const string &doc) |
Set the documentation string of this element. | |
string | getDocString () const |
Return the documentation string of this element. | |
template<class T > | |
bool | isA (const string &category=EMPTY_STRING) const |
Return true if this element belongs to the given subclass. More... | |
template<class T > | |
shared_ptr< T > | asA () |
Dynamic cast to an instance of the given subclass. | |
template<class T > | |
shared_ptr< const T > | asA () const |
Dynamic cast to a const instance of the given subclass. | |
template<class T > | |
shared_ptr< T > | addChild (const string &name=EMPTY_STRING) |
Add a child element of the given subclass and name. More... | |
ElementPtr | addChildOfCategory (const string &category, string name=EMPTY_STRING) |
Add a child element of the given category and name. More... | |
ElementPtr | changeChildCategory (ElementPtr child, const string &category) |
Change the category of the given child element. More... | |
ElementPtr | getChild (const string &name) const |
Return the child element, if any, with the given name. | |
template<class T > | |
shared_ptr< T > | getChildOfType (const string &name) const |
Return the child element, if any, with the given name and subclass. More... | |
const vector< ElementPtr > & | getChildren () const |
Return a constant vector of all child elements. More... | |
template<class T > | |
vector< shared_ptr< T > > | getChildrenOfType (const string &category=EMPTY_STRING) const |
Return a vector of all child elements that are instances of the given subclass, optionally filtered by the given category string. More... | |
void | setChildIndex (const string &name, int index) |
Set the index of the child, if any, with the given name. More... | |
int | getChildIndex (const string &name) const |
Return the index of the child, if any, with the given name. More... | |
void | removeChild (const string &name) |
Remove the child element, if any, with the given name. | |
template<class T > | |
void | removeChildOfType (const string &name) |
Remove the child element, if any, with the given name and subclass. More... | |
void | setAttribute (const string &attrib, const string &value) |
Set the value string of the given attribute. | |
bool | hasAttribute (const string &attrib) const |
Return true if the given attribute is present. | |
const string & | getAttribute (const string &attrib) const |
Return the value string of the given attribute. More... | |
const StringVec & | getAttributeNames () const |
Return a vector of stored attribute names, in the order they were set. | |
template<class T > | |
void | setTypedAttribute (const string &attrib, const T &data) |
Set the value of an implicitly typed attribute. More... | |
template<class T > | |
T | getTypedAttribute (const string &attrib) const |
Return the value of an implicitly typed attribute. More... | |
void | removeAttribute (const string &attrib) |
Remove the given attribute, if present. | |
ElementPtr | getSelf () |
Return our self pointer. | |
ConstElementPtr | getSelf () const |
Return our self pointer. | |
ElementPtr | getParent () |
Return our parent element. | |
ConstElementPtr | getParent () const |
Return our parent element. | |
ElementPtr | getRoot () |
Return the root element of our tree. | |
ConstElementPtr | getRoot () const |
Return the root element of our tree. | |
DocumentPtr | getDocument () |
Return the root document of our tree. | |
ConstDocumentPtr | getDocument () const |
Return the root document of our tree. | |
template<class T > | |
shared_ptr< T > | getAncestorOfType () |
Return the first ancestor of the given subclass, or an empty shared pointer if no ancestor of this subclass is found. | |
template<class T > | |
shared_ptr< const T > | getAncestorOfType () const |
Return the first ancestor of the given subclass, or an empty shared pointer if no ancestor of this subclass is found. | |
TreeIterator | traverseTree () const |
Traverse the tree from the given element to each of its descendants in depth-first order, using pre-order visitation. More... | |
GraphIterator | traverseGraph () const |
Traverse the dataflow graph from the given element to each of its upstream sources in depth-first order, using pre-order visitation. More... | |
virtual Edge | getUpstreamEdge (size_t index=0) const |
Return the Edge with the given index that lies directly upstream from this element in the dataflow graph. More... | |
virtual size_t | getUpstreamEdgeCount () const |
Return the number of queriable upstream edges for this element. More... | |
ElementPtr | getUpstreamElement (size_t index=0) const |
Return the Element with the given index that lies directly upstream from this one in the dataflow graph. More... | |
InheritanceIterator | traverseInheritance () const |
Traverse the inheritance chain from the given element to each element from which it inherits. More... | |
void | setSourceUri (const string &sourceUri) |
Set the element's source URI. More... | |
bool | hasSourceUri () const |
Return true if this element has a source URI. | |
const string & | getSourceUri () const |
Return the element's source URI. | |
const string & | getActiveSourceUri () const |
Return the source URI that is active at the scope of this element, taking all ancestor elements into account. | |
virtual bool | validate (string *message=nullptr) const |
Validate that the given element tree, including all descendants, is consistent with the MaterialX specification. More... | |
void | copyContentFrom (const ConstElementPtr &source) |
Copy all attributes and descendants from the given element to this one. More... | |
virtual void | clearContent () |
Clear all attributes and descendants from this element. More... | |
string | createValidChildName (string name) const |
Using the input name as a starting point, modify it to create a valid, unique name for a child element. | |
StringResolverPtr | createStringResolver (const string &geom=EMPTY_STRING) const |
Construct a StringResolver at the scope of this element. More... | |
string | asString () const |
Return a single-line description of this element, including its category, name, and attributes. | |
Static Public Attributes | |
static const string | CATEGORY |
static const string | GEOM_PROP_ATTRIBUTE |
static const string | SPACE_ATTRIBUTE |
static const string | INDEX_ATTRIBUTE |
Static Public Attributes inherited from TypedElement | |
static const string | TYPE_ATTRIBUTE |
Static Public Attributes inherited from Element | |
static const string | NAME_ATTRIBUTE |
static const string | FILE_PREFIX_ATTRIBUTE |
static const string | GEOM_PREFIX_ATTRIBUTE |
static const string | COLOR_SPACE_ATTRIBUTE |
static const string | INHERIT_ATTRIBUTE |
static const string | NAMESPACE_ATTRIBUTE |
static const string | DOC_ATTRIBUTE |
static const string | XPOS_ATTRIBUTE |
static const string | YPOS_ATTRIBUTE |
Additional Inherited Members | |
Protected Types inherited from TypedElement | |
using | TypeDefPtr = shared_ptr< class TypeDef > |
Protected Types inherited from Element | |
using | DocumentPtr = shared_ptr< Document > |
using | ConstDocumentPtr = shared_ptr< const Document > |
Protected Member Functions inherited from TypedElement | |
TypedElement (ElementPtr parent, const string &category, const string &name) | |
Protected Member Functions inherited from Element | |
Element (ElementPtr parent, const string &category, const string &name) | |
template<class T > | |
shared_ptr< T > | resolveNameReference (const string &name, ConstElementPtr parent=nullptr) const |
void | validateRequire (bool expression, bool &res, string *message, const string &errorDesc) const |
virtual void | registerChildElement (ElementPtr child) |
virtual void | unregisterChildElement (ElementPtr child) |
ElementPtr | getSelfNonConst () const |
Protected Attributes inherited from Element | |
string | _category |
string | _name |
string | _sourceUri |
ElementMap | _childMap |
vector< ElementPtr > | _childOrder |
StringMap | _attributeMap |
StringVec | _attributeOrder |
weak_ptr< Element > | _parent |
weak_ptr< Element > | _root |
An element representing a declaration of geometric property data.
A GeomPropDef element contains a reference to a geometric node and a set of modifiers for that node. For example, a world-space normal can be declared as a reference to the "normal" geometric node with a space setting of "world", or a specific set of texture coordinates can be declared as a reference to the "texcoord" geometric node with an index setting of "1".