Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema Class Reference

`#include <OMaterial.h>`

Inheritance diagram for Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema:
[legend]
Collaboration diagram for Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema:
[legend]

## Public Types

typedef OMaterialSchema | this_type
Public Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OSchema< MaterialSchemaInfo >
typedef MaterialSchemaInfo | info_type
typedef OSchema< MaterialSchemaInfo > | this_type
Public Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OCompoundProperty
typedef OCompoundProperty | this_type
Public Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT< AbcA::CompoundPropertyWriterPtr >
typedef OBasePropertyT< AbcA::CompoundPropertyWriterPtr > | this_type
typedef OBasePropertyT< AbcA::CompoundPropertyWriterPtr > | operator_bool_base_type

## Public Member Functions

| OMaterialSchema ()
| OMaterialSchema (Alembic::AbcCoreAbstract::CompoundPropertyWriterPtr iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument(), const Abc::Argument &iArg3=Abc::Argument())
| OMaterialSchema (Abc::OCompoundProperty iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument())
| OMaterialSchema (const OMaterialSchema &iCopy)
| Copy constructor. More...
void | setShader (const std::string &iTarget, const std::string &iShaderType, const std::string &iShaderName)
Abc::OCompoundProperty | getShaderParameters (const std::string &iTarget, const std::string &iShaderType)
void | addNetworkNode (const std::string &iNodeName, const std::string &iTarget, const std::string &iNodeType)
void | setNetworkNodeConnection (const std::string &iNodeName, const std::string &iInputName, const std::string &iConnectedNodeName, const std::string &iConnectedOutputName)
Abc::OCompoundProperty | getNetworkNodeParameters (const std::string &iNodeName)
void | setNetworkTerminal (const std::string &iTarget, const std::string &iShaderType, const std::string &iNodeName, const std::string &iOutputName="")
void | setNetworkInterfaceParameterMapping (const std::string &iInterfaceParamName, const std::string &iMapToNodeName, const std::string &iMapToParamName)
Abc::OCompoundProperty | getNetworkInterfaceParameters ()
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OSchema< MaterialSchemaInfo >
| OSchema ()
| OSchema (AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
| OSchema (OCompoundProperty iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
virtual | ~OSchema ()
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OCompoundProperty
| OCompoundProperty ()
| OCompoundProperty (AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| OCompoundProperty (OCompoundProperty iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| OCompoundProperty (AbcA::CompoundPropertyWriterPtr iProp, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| OCompoundProperty (AbcA::CompoundPropertyWriterPtr iProp, WrapExistingFlag iWrapFlag=kWrapExisting, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| OCompoundProperty (OObject iObject, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| OCompoundProperty (OObject iObject, TopFlag iTopFlag=kTop, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| ~OCompoundProperty ()
size_t | getNumProperties () const
const AbcA::PropertyHeader & | getPropertyHeader (size_t i) const
const AbcA::PropertyHeader * | getPropertyHeader (const std::string &iName) const
OBaseProperty | getProperty (size_t i) const
OBaseProperty | getProperty (const std::string &iName) const
OCompoundProperty | getParent () const
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT< AbcA::CompoundPropertyWriterPtr >
const AbcA::PropertyHeader & | getHeader () const
const std::string & | getName () const
AbcA::PropertyType | getPropertyType () const
bool | isScalar () const
bool | isArray () const
bool | isCompound () const
bool | isSimple () const
const AbcA::MetaData & | getMetaData () const
const AbcA::DataType & | getDataType () const
AbcA::TimeSamplingPtr | getTimeSampling () const
OObject | getObject () const
AbcA::CompoundPropertyWriterPtr | getPtr () const
void | reset ()
bool | valid () const
| ALEMBIC_OPERATOR_BOOL (valid())
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::Base
ErrorHandler & | getErrorHandler () const
ErrorHandler::Policy | getErrorHandlerPolicy () const

## Protected Member Functions

void | init ()
void | createNodeCompound ()
Protected Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT< AbcA::CompoundPropertyWriterPtr >
| OBasePropertyT ()
| OBasePropertyT (AbcA::CompoundPropertyWriterPtr iPtr, ErrorHandler::Policy iPolicy)
Protected Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::Base
| Base ()
| Base (ErrorHandler::Policy iPolicy)
| Base (const Base &iCopy)
Base & | operator= (const Base &iCopy)
bool | valid () const
void | reset ()

## Protected Attributes

Abc::OCompoundProperty | m_node
Util::shared_ptr< Data > | m_data
Protected Attributes inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT< AbcA::CompoundPropertyWriterPtr >
AbcA::CompoundPropertyWriterPtr | m_property

## Additional Inherited Members

Static Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::OSchema< MaterialSchemaInfo >
static const char * | getSchemaTitle ()
static const char * | getSchemaBaseType ()
static const char * | getDefaultSchemaName ()
static bool | replaceOnSparse ()
static bool | matches (const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching=kStrictMatching)
static bool | matches (const AbcA::PropertyHeader &iHeader, SchemaInterpMatching iMatching=kStrictMatching)

## Detailed Description

Schema for writing shader definitions as either an object or a compound property. Only "monolithic" shader definitions (i.e. non network) are presently supported in this implementation.

Definition at line 53 of file OMaterial.h.

## Member Typedef Documentation

## this_type

typedef OMaterialSchema Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::this_type

Definition at line 61 of file OMaterial.h.

## Constructor & Destructor Documentation

## OMaterialSchema() [1/4]

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema | ( |  | ) |

inline

Definition at line 63 of file OMaterial.h.

## OMaterialSchema() [2/4]

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema | ( | Alembic::AbcCoreAbstract::CompoundPropertyWriterPtr | iParent,
|  | const std::string & | iName,
|  | const Abc::Argument & | iArg0 = `Abc::Argument()`,
|  | const Abc::Argument & | iArg1 = `Abc::Argument()`,
|  | const Abc::Argument & | iArg2 = `Abc::Argument()`,
|  | const Abc::Argument & | iArg3 = `Abc::Argument()`
| ) |  |

## OMaterialSchema() [3/4]

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema | ( | Abc::OCompoundProperty | iParent,
|  | const std::string & | iName,
|  | const Abc::Argument & | iArg0 = `Abc::Argument()`,
|  | const Abc::Argument & | iArg1 = `Abc::Argument()`,
|  | const Abc::Argument & | iArg2 = `Abc::Argument()`
| ) |  |

## OMaterialSchema() [4/4]

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema | ( | const OMaterialSchema & | iCopy | ) |

inline

Copy constructor.

Definition at line 80 of file OMaterial.h.

## Member Function Documentation

## addNetworkNode()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::addNetworkNode | ( | const std::string & | iNodeName,
|  | const std::string & | iTarget,
|  | const std::string & | iNodeType
| ) |  |

## createNodeCompound()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::createNodeCompound | ( |  | ) |

protected

## getNetworkInterfaceParameters()

Abc::OCompoundProperty Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::getNetworkInterfaceParameters | ( |  | ) |

## getNetworkNodeParameters()

Abc::OCompoundProperty Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::getNetworkNodeParameters | ( | const std::string & | iNodeName | ) |

## getShaderParameters()

Abc::OCompoundProperty Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::getShaderParameters | ( | const std::string & | iTarget,
|  | const std::string & | iShaderType
| ) |  |

Declare and retrieve a container for storing properties representing parameters for the target and shaderType. You put them in there yourself since there are no restrictions on type or sampling other than what's appropriate and meaningful for the target application. Repeated calls will return the same object.

## init()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::init | ( |  | ) |

protected

## setNetworkInterfaceParameterMapping()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::setNetworkInterfaceParameterMapping | ( | const std::string & | iInterfaceParamName,
|  | const std::string & | iMapToNodeName,
|  | const std::string & | iMapToParamName
| ) |  |

## setNetworkNodeConnection()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::setNetworkNodeConnection | ( | const std::string & | iNodeName,
|  | const std::string & | iInputName,
|  | const std::string & | iConnectedNodeName,
|  | const std::string & | iConnectedOutputName
| ) |  |

## setNetworkTerminal()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::setNetworkTerminal | ( | const std::string & | iTarget,
|  | const std::string & | iShaderType,
|  | const std::string & | iNodeName,
|  | const std::string & | iOutputName = `""`
| ) |  |

## setShader()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::setShader | ( | const std::string & | iTarget,
|  | const std::string & | iShaderType,
|  | const std::string & | iShaderName
| ) |  |

Declare shader for a given target and shaderType. "Target's" value is an agreed upon convention for a renderer or application (i.e. "prman") "ShaderType's" value is an agreed upon convention for shader terminals such as "surface," "displacement," "light", "coshader_somename." "ShaderName's" value is an identifier meaningful to the target application (i.e. "paintedplastic," "fancy_spot_light"). It's only valid to call this once per target/shaderType combo.

## Member Data Documentation

## m_data

Util::shared_ptr< Data > Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::m_data

protected

Definition at line 148 of file OMaterial.h.

## m_node

Abc::OCompoundProperty Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::m_node

protected

Definition at line 142 of file OMaterial.h.

The documentation for this class was generated from the following file:

- opt/local/include/Alembic/AbcMaterial/OMaterial.h