![]()  | 
  
    MaterialX 1.39.4
    
   | 
 
An input element within a Node or NodeDef. More...
#include <Interface.h>
  
Public Member Functions | |
| Input (ElementPtr parent, const string &name) | |
Default Geometric Property  | |
| void | setDefaultGeomPropString (const string &geomprop) | 
| Set the defaultgeomprop string for the input.  | |
| bool | hasDefaultGeomPropString () const | 
| Return true if the given input has a defaultgeomprop string.  | |
| const string & | getDefaultGeomPropString () const | 
| Return the defaultgeomprop string for the input.  | |
| GeomPropDefPtr | getDefaultGeomProp () const | 
| Return the GeomPropDef element to use, if defined for this input.  | |
Connections  | |
| NodePtr | getConnectedNode () const override | 
| Return the node, if any, to which this input is connected.   | |
| void | setConnectedInterfaceName (const string &interfaceName) | 
| Connects this input to a corresponding interface with the given name.   | |
| InputPtr | getInterfaceInput () const | 
| Return the input on the parent graph corresponding to the interface name for this input.  | |
Hints  | |
| bool | hasHint () const | 
| Return true if the input has a hint.  | |
| const string & | getHint () const | 
| Return the code generation hint.  | |
| void | setHint (const string &hint) | 
Validation  | |
| bool | validate (string *message=nullptr) const override | 
| Validate that the given element tree, including all descendants, is consistent with the MaterialX specification.   | |
  Public Member Functions inherited from PortElement | |
| void | setNodeName (const string &node) | 
| Set the node name string of this element, creating a connection to the Node with the given name within the same NodeGraph.  | |
| bool | hasNodeName () const | 
| Return true if this element has a node name string.  | |
| const string & | getNodeName () const | 
| Return the node name string of this element.  | |
| void | setNodeGraphString (const string &node) | 
| Set the node graph string of this element.  | |
| bool | hasNodeGraphString () const | 
| Return true if this element has a node graph string.  | |
| const string & | getNodeGraphString () const | 
| Return the node graph string of this element.  | |
| void | setOutputString (const string &output) | 
| Set the output string of this element.  | |
| bool | hasOutputString () const | 
| Return true if this element has an output string.  | |
| void | setConnectedOutput (ConstOutputPtr output) | 
| Set the output to which this input is connected.   | |
| OutputPtr | getConnectedOutput () const | 
| Return the output, if any, to which this input is connected.  | |
| const string & | getOutputString () const | 
| Return the output string of this element.  | |
| void | setConnectedNode (ConstNodePtr node) | 
| Set the node to which this element is connected.   | |
| bool | validate (string *message=nullptr) const override | 
| Validate that the given element tree, including all descendants, is consistent with the MaterialX specification.   | |
  Public Member Functions inherited from ValueElement | |
| void | setValueString (const string &value) | 
| Set the value string of an element.  | |
| bool | hasValueString () const | 
| Return true if the given element has a value string.  | |
| const string & | getValueString () const | 
| Get the value string of a element.  | |
| string | getResolvedValueString (StringResolverPtr resolver=nullptr) const | 
| Return the resolved value string of an element, applying any string substitutions that are defined at the element's scope.   | |
| void | setInterfaceName (const string &name) | 
| Set the interface name of an element.  | |
| bool | hasInterfaceName () const | 
| Return true if the given element has an interface name.  | |
| const string & | getInterfaceName () const | 
| Return the interface name of an element.  | |
| void | setImplementationName (const string &name) | 
| Set the implementation name of an element.  | |
| bool | hasImplementationName () const | 
| Return true if the given element has an implementation name.  | |
| const string & | getImplementationName () const | 
| Return the implementation name of an element.  | |
| template<class T> | |
| void | setValue (const T &value, const string &type=EMPTY_STRING) | 
| Set the typed value of an element.  | |
| void | setValue (const char *value, const string &type=EMPTY_STRING) | 
| Set the typed value of an element from a C-style string.  | |
| bool | hasValue () const | 
| Return true if the element possesses a typed value.  | |
| ValuePtr | getValue () const | 
| Return the typed value of an element as a generic value object, which may be queried to access its data.   | |
| ValuePtr | getResolvedValue (StringResolverPtr resolver=nullptr) const | 
| Return the resolved value of an element as a generic value object, which may be queried to access its data.   | |
| ValuePtr | getDefaultValue () const | 
| Return the default value for this element as a generic value object, which may be queried to access its data.   | |
| void | setUnit (const string &unit) | 
| Set the unit string of an element.  | |
| bool | hasUnit () const | 
| Return true if the given element has a unit string.  | |
| const string & | getUnit () const | 
| Return the unit string of an element.  | |
| const string & | getActiveUnit () const | 
| Return the unit defined by the associated NodeDef if this element is a child of a Node.  | |
| void | setUnitType (const string &unit) | 
| Set the unit type of an element.  | |
| bool | hasUnitType () const | 
| Return true if the given element has a unit type.  | |
| const string & | getUnitType () const | 
| Return the unit type of an element.  | |
| void | setIsUniform (bool value) | 
| Set the uniform attribute flag on this element.  | |
| bool | getIsUniform () const | 
| The the uniform attribute flag for this element.  | |
| bool | isAttributeEquivalent (ConstElementPtr rhs, const string &attributeName, const ElementEquivalenceOptions &options, string *message=nullptr) const override | 
| Return true if the attribute on a given element is equivalent based on the equivalence criteria provided.   | |
| bool | validate (string *message=nullptr) const override | 
| Validate that the given element tree, including all descendants, is consistent with the MaterialX specification.   | |
  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.   | |
| 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.   | |
  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.   | |
| void | setName (const string &name) | 
| Set the element's name string.   | |
| 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.   | |
| ElementPtr | getDescendant (const string &namePath) const | 
| Return the element specified by the given hierarchical name path, relative to the current element.   | |
| 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.   | |
| 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.   | |
| ElementPtr | addChildOfCategory (const string &category, string name=EMPTY_STRING) | 
| Add a child element of the given category and name.   | |
| ElementPtr | changeChildCategory (ElementPtr child, const string &category) | 
| Change the category of the given child element.   | |
| 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.   | |
| const ElementVec & | getChildren () const | 
| Return a constant vector of all child elements.   | |
| 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.   | |
| void | setChildIndex (const string &name, int index) | 
| Set the index of the child, if any, with the given name.   | |
| int | getChildIndex (const string &name) const | 
| Return the index of the child, if any, with the given name.   | |
| 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.   | |
| 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.   | |
| 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.   | |
| template<class T> | |
| T | getTypedAttribute (const string &attrib) const | 
| Return the value of an implicitly typed attribute.   | |
| 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.  | |
| bool | isEquivalent (ConstElementPtr rhs, const ElementEquivalenceOptions &options, string *message=nullptr) const | 
| Return true if the given element tree, including all descendents, is considered to be equivalent to this one based on the equivalence criteria provided.   | |
| TreeIterator | traverseTree () const | 
| Traverse the tree from the given element to each of its descendants in depth-first order, using pre-order visitation.   | |
| 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.   | |
| 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.   | |
| virtual size_t | getUpstreamEdgeCount () const | 
| Return the number of queryable upstream edges for this element.   | |
| 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.   | |
| InheritanceIterator | traverseInheritance () const | 
| Traverse the inheritance chain from the given element to each element from which it inherits.   | |
| void | setSourceUri (const string &sourceUri) | 
| Set the element's source URI.   | |
| 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.  | |
| void | copyContentFrom (const ConstElementPtr &source) | 
| Copy all attributes and descendants from the given element to this one.   | |
| virtual void | clearContent () | 
| Clear all attributes and descendants from this element.   | |
| 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.   | |
| 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 | DEFAULT_GEOM_PROP_ATTRIBUTE | 
| static const string | HINT_ATTRIBUTE | 
| static const string | TRANSPARENCY_HINT | 
| static const string | OPACITY_HINT | 
| static const string | ANISOTROPY_HINT | 
  Static Public Attributes inherited from PortElement | |
| static const string | NODE_NAME_ATTRIBUTE | 
| static const string | NODE_GRAPH_ATTRIBUTE | 
| static const string | OUTPUT_ATTRIBUTE | 
  Static Public Attributes inherited from ValueElement | |
| static const string | VALUE_ATTRIBUTE | 
| static const string | INTERFACE_NAME_ATTRIBUTE | 
| static const string | IMPLEMENTATION_NAME_ATTRIBUTE | 
| static const string | IMPLEMENTATION_TYPE_ATTRIBUTE | 
| static const string | ENUM_ATTRIBUTE | 
| static const string | ENUM_VALUES_ATTRIBUTE | 
| static const string | UI_NAME_ATTRIBUTE | 
| static const string | UI_FOLDER_ATTRIBUTE | 
| static const string | UI_MIN_ATTRIBUTE | 
| static const string | UI_MAX_ATTRIBUTE | 
| static const string | UI_SOFT_MIN_ATTRIBUTE | 
| static const string | UI_SOFT_MAX_ATTRIBUTE | 
| static const string | UI_STEP_ATTRIBUTE | 
| static const string | UI_ADVANCED_ATTRIBUTE | 
| static const string | UNIT_ATTRIBUTE | 
| static const string | UNITTYPE_ATTRIBUTE | 
| static const string | UNIFORM_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 PortElement | |
| using | NodePtr = shared_ptr<Node> | 
| using | ConstNodePtr = shared_ptr<const Node> | 
  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 PortElement | |
| PortElement (ElementPtr parent, const string &category, const string &name) | |
  Protected Member Functions inherited from ValueElement | |
| ValueElement (ElementPtr parent, const string &category, const string &name) | |
  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 | 
| ElementVec | _childOrder | 
| StringMap | _attributeMap | 
| StringVec | _attributeOrder | 
| weak_ptr< Element > | _parent | 
| weak_ptr< Element > | _root | 
An input element within a Node or NodeDef.
An Input holds either a uniform value or a connection to a spatially-varying Output, either of which may be modified within the scope of a Material.
      
  | 
  overridevirtual | 
Return the node, if any, to which this input is connected.
Reimplemented from PortElement.
| void setConnectedInterfaceName | ( | const string & | interfaceName | ) | 
Connects this input to a corresponding interface with the given name.
If the interface name specified is an empty string then any existing connection is removed.
      
  | 
  overridevirtual | 
Validate that the given element tree, including all descendants, is consistent with the MaterialX specification.
Reimplemented from Element.