HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema Class Reference

#include <OMaterial.h>

+ Inheritance 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 ()
 
template<class CPROP_PTR >
 OMaterialSchema (CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument())
 
template<class CPROP_PTR >
 OMaterialSchema (CPROP_PTR iParent, 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 (CPROP_PTR iParentObject, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
 
 OSchema (CPROP_PTR iParentObject, 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 ()
 
template<class CPROP_PTR >
 OCompoundProperty (CPROP_PTR iParentObject, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
 
template<class CPROP_PTR >
 OCompoundProperty (CPROP_PTR iThisObject, WrapExistingFlag iWrapFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
 
template<class OBJECT_PTR >
 OCompoundProperty (OBJECT_PTR iObject, TopFlag, 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::stringgetName () 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::CompoundPropertyWriterPtriPtr, WrapExistingFlag, 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 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

Constructor & Destructor Documentation

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

Definition at line 63 of file OMaterial.h.

template<class CPROP_PTR >
Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema ( CPROP_PTR  iParent,
const std::string iName,
const Abc::Argument iArg0 = Abc::Argument(),
const Abc::Argument iArg1 = Abc::Argument(),
const Abc::Argument iArg2 = Abc::Argument() 
)
inline

Definition at line 66 of file OMaterial.h.

template<class CPROP_PTR >
Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema ( CPROP_PTR  iParent,
const Abc::Argument iArg0 = Abc::Argument(),
const Abc::Argument iArg1 = Abc::Argument(),
const Abc::Argument iArg2 = Abc::Argument() 
)
inlineexplicit

Definition at line 77 of file OMaterial.h.

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

Copy constructor.

Definition at line 87 of file OMaterial.h.

Member Function Documentation

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::addNetworkNode ( const std::string iNodeName,
const std::string iTarget,
const std::string iNodeType 
)
void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::createNodeCompound ( )
protected
Abc::OCompoundProperty Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::getNetworkInterfaceParameters ( )
Abc::OCompoundProperty Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::getNetworkNodeParameters ( const std::string iNodeName)
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.

void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::init ( )
protected
void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::setNetworkInterfaceParameterMapping ( const std::string iInterfaceParamName,
const std::string iMapToNodeName,
const std::string iMapToParamName 
)
void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::setNetworkNodeConnection ( const std::string iNodeName,
const std::string iInputName,
const std::string iConnectedNodeName,
const std::string iConnectedOutputName 
)
void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::setNetworkTerminal ( const std::string iTarget,
const std::string iShaderType,
const std::string iNodeName,
const std::string iOutputName = "" 
)
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

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

Definition at line 152 of file OMaterial.h.

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

Definition at line 149 of file OMaterial.h.


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