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::CompoundPropertyWriterPtrthis_type
 
typedef OBasePropertyT< AbcA::CompoundPropertyWriterPtroperator_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 ()
 
 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::PropertyHeadergetPropertyHeader (size_t i) const
 
const AbcA::PropertyHeadergetPropertyHeader (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::PropertyHeadergetHeader () const
 
const std::string & getName () const
 
AbcA::PropertyType getPropertyType () const
 
bool isScalar () const
 
bool isArray () const
 
bool isCompound () const
 
bool isSimple () const
 
const AbcA::MetaDatagetMetaData () const
 
const AbcA::DataTypegetDataType () 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 ()
 
 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)
 
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)
 
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

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: