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

Classes

class  IMaterialSchema
 
class  MaterialFlatten
 
class  OMaterialSchema
 

Typedefs

typedef Abc::ISchemaObject
< IMaterialSchema
IMaterial
 Object declaration. More...
 
typedef Util::shared_ptr
< IMaterial
IMaterialPtr
 
typedef Abc::OSchemaObject
< OMaterialSchema
OMaterial
 Object declaration. More...
 
typedef Util::shared_ptr
< OMaterial
OMaterialPtr
 

Functions

ALEMBIC_EXPORT void addMaterialAssignment (Abc::OObject iObject, const std::string &iValue, const std::string &iPropName=MATERIALASSIGN_PROPNAME)
 
ALEMBIC_EXPORT void addMaterialAssignment (Abc::OCompoundProperty iProp, const std::string &iValue, const std::string &iPropName=MATERIALASSIGN_PROPNAME)
 
ALEMBIC_EXPORT OMaterialSchema addMaterial (Abc::OObject iObject, const std::string &iPropName=MATERIAL_PROPNAME)
 
ALEMBIC_EXPORT OMaterialSchema addMaterial (Abc::OCompoundProperty iProp, const std::string &iPropName=MATERIAL_PROPNAME)
 
ALEMBIC_EXPORT bool getMaterialAssignmentPath (Abc::IObject iObject, std::string &oResult, const std::string &iPropName=MATERIALASSIGN_PROPNAME)
 
ALEMBIC_EXPORT bool getMaterialAssignmentPath (Abc::ICompoundProperty iProp, std::string &oResult, const std::string &iPropName=MATERIALASSIGN_PROPNAME)
 
ALEMBIC_EXPORT bool hasMaterial (Abc::IObject iObject, IMaterialSchema &oResult, const std::string &iPropName=MATERIAL_PROPNAME)
 
ALEMBIC_EXPORT bool hasMaterial (Abc::ICompoundProperty iCompound, IMaterialSchema &oResult, const std::string &iPropName=MATERIAL_PROPNAME)
 
 ALEMBIC_ABC_DECLARE_SCHEMA_INFO ("AbcMaterial_Material_v1","",".material", false, MaterialSchemaInfo)
 

Typedef Documentation

Definition at line 222 of file IMaterial.h.

Definition at line 154 of file OMaterial.h.

Function Documentation

ALEMBIC_EXPORT OMaterialSchema Alembic::AbcMaterial::ALEMBIC_VERSION_NS::addMaterial ( Abc::OObject  iObject,
const std::string iPropName = MATERIAL_PROPNAME 
)

Adds a local material schema to any object. This is intended for "has-a" cases such as "this polymesh has a material locally defined."

The default value for "propName" is officially supported convention of the library. You may provide an alternative value for custom solutions that want to make use of this convenience.

ALEMBIC_EXPORT OMaterialSchema Alembic::AbcMaterial::ALEMBIC_VERSION_NS::addMaterial ( Abc::OCompoundProperty  iProp,
const std::string iPropName = MATERIAL_PROPNAME 
)

Adds a local material schema within any compound. This is intended for the "has-a" cases for nested compound properties.

ALEMBIC_EXPORT void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::addMaterialAssignment ( Abc::OObject  iObject,
const std::string iValue,
const std::string iPropName = MATERIALASSIGN_PROPNAME 
)

Adds a material assignment to an object. The value should be the absolute path to an Material object. (The default interpretation is that this path is to an object within the same archive.)

The default value for "propName" is officially supported convention of the library. You may provide an alternative value for custom solutions that want to make use of this convenience.

ALEMBIC_EXPORT void Alembic::AbcMaterial::ALEMBIC_VERSION_NS::addMaterialAssignment ( Abc::OCompoundProperty  iProp,
const std::string iValue,
const std::string iPropName = MATERIALASSIGN_PROPNAME 
)

Adds a material assignment within a compound property. The conventions and concerns are identical as with applying to an object. This exists primarily for custom solutions which want to make use of the convenience within nested compounds.

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_SCHEMA_INFO ( "AbcMaterial_Material_v1"  ,
""  ,
".material"  ,
false  ,
MaterialSchemaInfo   
)
ALEMBIC_EXPORT bool Alembic::AbcMaterial::ALEMBIC_VERSION_NS::getMaterialAssignmentPath ( Abc::IObject  iObject,
std::string oResult,
const std::string iPropName = MATERIALASSIGN_PROPNAME 
)

Returns true and fills result with the value of previously defined material assignment path. The default interpretation of the value is as a full path to an IMaterial object within the same archive.

The default value for "propName" is officially supported convention of the library. You may provide an alternative value for custom solutions that want to make use of this convenience.

ALEMBIC_EXPORT bool Alembic::AbcMaterial::ALEMBIC_VERSION_NS::getMaterialAssignmentPath ( Abc::ICompoundProperty  iProp,
std::string oResult,
const std::string iPropName = MATERIALASSIGN_PROPNAME 
)

Returns true and fills result with the value of previously defined material assignment path within a given compound property.

The common case is at the object level but this is here as a convenince for custom solutions

ALEMBIC_EXPORT bool Alembic::AbcMaterial::ALEMBIC_VERSION_NS::hasMaterial ( Abc::IObject  iObject,
IMaterialSchema &  oResult,
const std::string iPropName = MATERIAL_PROPNAME 
)

Returns true and fills result a previously defined local material on this object following the "has a" pattern.

The default value for "propName" is officially supported convention of the library. You may provide an alternative value for custom solutions that want to make use of this convenience.

ALEMBIC_EXPORT bool Alembic::AbcMaterial::ALEMBIC_VERSION_NS::hasMaterial ( Abc::ICompoundProperty  iCompound,
IMaterialSchema &  oResult,
const std::string iPropName = MATERIAL_PROPNAME 
)

Returns true and fills result a previously defined local material within the given compound property. This is useful for solutions in which another schema wants to contain a material definition but not advertise it as such at the object level