HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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 ()
 
 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::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, 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

Constructor & Destructor Documentation

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

Definition at line 63 of file OMaterial.h.

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() 
)
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() 
)
Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialSchema::OMaterialSchema ( const OMaterialSchema iCopy)
inline

Copy constructor.

Definition at line 80 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 145 of file OMaterial.h.

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: