Alembic: Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema Class Reference

Alembic 1.8.11

Loading...
Searching...
No Matches
Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema Class Reference

`#include <IMaterial.h>`

Inheritance diagram for Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema:

## Classes
class | NetworkNode

## Public Types
typedef IMaterialSchema | this_type
Public Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::ISchema< MaterialSchemaInfo >
typedef MaterialSchemaInfo | info_type
typedef ISchema< MaterialSchemaInfo > | this_type
Public Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::ICompoundProperty
typedef ICompoundProperty | this_type

## Public Member Functions
| IMaterialSchema (const ICompoundProperty &iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
| IMaterialSchema (const ICompoundProperty &iProp, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
void | getTargetNames (std::vector< std::string > &iTargetNames)
void | getShaderTypesForTarget (const std::string &iTargetName, std::vector< std::string > &oShaderTypeNames)
bool | getShader (const std::string &iTarget, const std::string &iShaderType, std::string &oResult)
Abc::ICompoundProperty | getShaderParameters (const std::string &iTarget, const std::string &iShaderType)
size_t | getNumNetworkNodes ()
void | getNetworkNodeNames (std::vector< std::string > &oNames)
NetworkNode | getNetworkNode (size_t iIndex)
NetworkNode | getNetworkNode (const std::string &iNodeName)
void | getNetworkTerminalTargetNames (std::vector< std::string > &oTargetNames)
void | getNetworkTerminalShaderTypesForTarget (const std::string &iTargetName, std::vector< std::string > &oShaderTypeNames)
bool | getNetworkTerminal (const std::string &iTarget, const std::string &iShaderType, std::string &oNodeName, std::string &oOutputName)
size_t | getNumNetworkInterfaceParameterMappings ()
bool | getNetworkInterfaceParameterMapping (size_t iIndex, std::string &oInterfaceParamName, std::string &oMapToNodeName, std::string &oMapToParamName)
void | getNetworkInterfaceParameterMappingNames (std::vector< std::string > &oNames)
bool | getNetworkInterfaceParameterMapping (const std::string &iInterfaceParamName, std::string &oMapToNodeName, std::string &oMapToParamName)
Abc::ICompoundProperty | getNetworkInterfaceParameters ()
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::ISchema< MaterialSchemaInfo >
| ISchema ()
virtual | ~ISchema ()
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::ICompoundProperty
| ICompoundProperty ()
| ICompoundProperty (const ICompoundProperty &iParent, const std::string &iName, const Argument &iArg0=Argument())
| ICompoundProperty (AbcA::CompoundPropertyReaderPtr iPtr, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| ICompoundProperty (AbcA::CompoundPropertyReaderPtr iPtr, WrapExistingFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| ICompoundProperty (const IObject &iObject, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| ICompoundProperty (const IObject &iObject, TopFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
| ~ICompoundProperty ()
size_t | getNumProperties () const
| Returns the number of properties contained in this ICompoundProperty.
const AbcA::PropertyHeader & | getPropertyHeader (size_t i) const
const AbcA::PropertyHeader * | getPropertyHeader (const std::string &iName) const
ICompoundProperty | getParent () const
Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::IBasePropertyT< AbcA::CompoundPropertyReaderPtr >
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
IObject | getObject () const
AbcA::CompoundPropertyReaderPtr | 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

## Additional Inherited Members
Static Public Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::ISchema< MaterialSchemaInfo >
static const char * | getSchemaTitle ()
static const char * | getDefaultSchemaName ()
static bool | matches (const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching=kStrictMatching)
Protected Types inherited from Alembic::Abc::ALEMBIC_VERSION_NS::IBasePropertyT< AbcA::CompoundPropertyReaderPtr >
typedef IBasePropertyT< AbcA::CompoundPropertyReaderPtr > | this_type
typedef IBasePropertyT< AbcA::CompoundPropertyReaderPtr > | operator_bool_base_type
Protected Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::IBasePropertyT< AbcA::CompoundPropertyReaderPtr >
| IBasePropertyT ()
Protected Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::Base
| Base (ErrorHandler::Policy iPolicy)
| Base (const Base &iCopy)
Base & | operator= (const Base &iCopy)
bool | valid () const
void | reset ()
Protected Attributes inherited from Alembic::Abc::ALEMBIC_VERSION_NS::IBasePropertyT< AbcA::CompoundPropertyReaderPtr >
AbcA::CompoundPropertyReaderPtr | m_property

## Detailed Description

Schema for reading and querying shader definitions from either an object or compound property. Only "monolithic" shader definitions (i.e. non network) are presently supported in this implementation.

## Constructor & Destructor Documentation

## ◆ IMaterialSchema() [1/2]

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema::IMaterialSchema | ( | const ICompoundProperty & | iParent,
|  | const std::string & | iName,
|  | const Abc::Argument & | iArg0 = Abc::Argument(),
|  | const Abc::Argument & | iArg1 = Abc::Argument() )
| inline

This constructor creates a new material reader. The first argument is the parent ICompoundProperty, from which the error handler policy for is derived. The second argument is the name of the ICompoundProperty that contains this schemas properties. The remaining optional arguments can be used to override the ErrorHandlerPolicy and to specify schema interpretation matching.

## ◆ IMaterialSchema() [2/2]

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema::IMaterialSchema | ( | const ICompoundProperty & | iProp,
|  | const Abc::Argument & | iArg0 = Abc::Argument(),
|  | const Abc::Argument & | iArg1 = Abc::Argument() )
| inline

This constructor wraps an existing ICompoundProperty as the material reader, and the error handler policy is derived from it. The remaining optional arguments can be used to override the ErrorHandlerPolicy and to specify schema interpretation matching.

## Member Function Documentation

## ◆ getShader()

bool Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema::getShader | ( | const std::string & | iTarget,
|  | const std::string & | iShaderType,
|  | std::string & | oResult )

Returns true and fills result with the shader name for a given target and shaderType if locally defined

## ◆ getShaderParameters()

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

Returns the enclosing compound property for the given target and shader type. Call .valid() on the result to determine whether it's locally defined or not.

## ◆ getShaderTypesForTarget()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema::getShaderTypesForTarget | ( | const std::string & | iTargetName,
|  | std::vector< std::string > & | oShaderTypeNames )

Fills a list of shader type strings for which either shader or parameter definitions are locally present for a given target. Shader type names match an agreed upon convention for shader terminals such as "surface," "displacement," "light", "coshader_somename."

## ◆ getTargetNames()

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialSchema::getTargetNames | ( | std::vector< std::string > & | iTargetNames | ) |

Fills a list of target name strings for which either shader or parameter definitions are locally present. Target name values match an upon convention for a renderer or application (i.e. "prman") This gets the target names for the monolithic shaders

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

- AbcMaterial/IMaterial.h
- AbcMaterial/IMaterial.cpp