Alembic Version 1.1

Classes | Typedefs | Functions
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

## ◆ IMaterial

typedef Abc::ISchemaObject<IMaterialSchema> Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterial

Object declaration.

Definition at line 220 of file IMaterial.h.

## ◆ IMaterialPtr

typedef Util::shared_ptr< IMaterial > Alembic::AbcMaterial::ALEMBIC_VERSION_NS::IMaterialPtr

Definition at line 222 of file IMaterial.h.

## ◆ OMaterial

typedef Abc::OSchemaObject<OMaterialSchema> Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterial

Object declaration.

Definition at line 152 of file OMaterial.h.

## ◆ OMaterialPtr

typedef Util::shared_ptr< OMaterial > Alembic::AbcMaterial::ALEMBIC_VERSION_NS::OMaterialPtr

Definition at line 154 of file OMaterial.h.

## Function Documentation

## ◆ addMaterial() [1/2]

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.

## ◆ addMaterial() [2/2]

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.

## ◆ addMaterialAssignment() [1/2]

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.

## ◆ addMaterialAssignment() [2/2]

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_ABC_DECLARE_SCHEMA_INFO()

Alembic::AbcMaterial::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_SCHEMA_INFO | ( | "AbcMaterial_Material_v1" | ,
|  | "" | ,
|  | ".material" | ,
|  | false | ,
|  | MaterialSchemaInfo |
| ) |  |

## ◆ getMaterialAssignmentPath() [1/2]

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

## ◆ getMaterialAssignmentPath() [2/2]

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.

## ◆ hasMaterial() [1/2]

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

## ◆ hasMaterial() [2/2]

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.