Alembic Version 1.1
Loading...
Searching...
No Matches
Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema Class Reference

#include <OMaterial.h>

Inheritance diagram for Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema:
Collaboration diagram for Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema:

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.
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 ()
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
ErrorHandlergetErrorHandler () 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 ()
Protected Member Functions inherited from Alembic::Abc::ALEMBIC_VERSION_NS::Base
 Base ()
 Base (ErrorHandler::Policy iPolicy)
 Base (const Base &iCopy)
Baseoperator= (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)

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

Constructor & Destructor Documentation

◆ OMaterialSchema() [1/4]

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema ( )
inline

Definition at line 63 of file OMaterial.h.

Referenced by OMaterialSchema().

Here is the caller graph for this function:

◆ 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.

References OMaterialSchema(), and Alembic::Abc::ALEMBIC_VERSION_NS::OSchema< MaterialSchemaInfo >::OSchema().

Here is the call graph for this function:

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: