- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# FCDMaterial Class Reference
[COLLADA Document Object Model.]

A COLLADA material. More...

`#include <FCDMaterial.h>`

Inheritance diagram for FCDMaterial:

List of all members.

## Public Member Functions
| FCDMaterial (FCDocument *document)
| Constructor: do not use directly.
virtual | ~FCDMaterial ()
| Destructor.
virtual Type | GetType () const
| Retrieves the entity type for this class.
FCDEffect * | GetEffect ()
| Retrieves the effect instantiated for this material.
const FCDEffect * | GetEffect () const
| See above.
FCDEntityReference * | GetEffectReference ()
| Retrieves the effect reference for this material.
const FCDEntityReference * | GetEffectReference () const
void | SetEffect (FCDEffect *_effect)
| Sets the effect instantiated for this material.
FCDMaterialTechniqueHintList & | GetTechniqueHints ()
| Retrieves the list of the material platform-technique hints.
const FCDMaterialTechniqueHintList & | GetTechniqueHints () const
| See above.
size_t | GetEffectParameterCount () const
| Retrieves the number of local effect parameters.
FCDEffectParameter * | GetEffectParameter (size_t index)
| Retrieves a given local effect parameter.
const FCDEffectParameter * | GetEffectParameter (size_t index) const
FCDEffectParameter * | AddEffectParameter (uint32 type)
| Adds a local effect parameter to the local list.
virtual FCDEntity * | Clone (FCDEntity *clone=NULL, bool cloneChildren=false) const
| Clones the material object.
| DEPRECATED (3.05A, not recommended) void Flatten()
| [INTERNAL] Flattens the material, pushing all the effect parameter overrides into the effect parameter generators and moving all the parameters to the effect technique level of abstraction.

## Detailed Description

A COLLADA material.

A COLLADA material is one of many abstraction level that defines how to render mesh polygon sets. It instantiates an effect and may overrides some of the effect parameters with its own values.

## Constructor & Destructor Documentation

FCDMaterial::FCDMaterial | ( | FCDocument * | document | ) |

  | Constructor: do not use directly. Instead, use the FCDLibrary::AddEntity function. Parameters:
  | document | The COLLADA document that owns the material.

## Member Function Documentation

FCDEffectParameter* FCDMaterial::AddEffectParameter | ( | uint32 | type | ) |

  | Adds a local effect parameter to the local list. See also: FCDEffectParameter::Type Parameters:
  | type | The value type of the effect parameter to create.
Returns: The new local effect parameter.

virtual FCDEntity* FCDMaterial::Clone | ( | FCDEntity * | clone = `NULL`,
|  | bool | cloneChildren = `false`
| ) | const`[virtual]`

  | Clones the material object. Everything is cloned, including the effect parameters. Parameters:
  | clone | The material clone. If this pointer is NULL, a new material object will be created and you will need to release the returned pointer.
  | cloneChildren | Whether to recursively clone this entity's children.
Returns: The clone. Reimplemented from FCDEntity.

FCDMaterial::DEPRECATED | ( | 3. | 05A,
|  | not | recommended
| ) | `[inline]`

| [INTERNAL] Flattens the material, pushing all the effect parameter overrides into the effect parameter generators and moving all the parameters to the effect technique level of abstraction. To flatten the material, use the FCDMaterialInstance::FlattenMaterial function.

FCDEffect* FCDMaterial::GetEffect | ( |  | ) | `[inline]`

| Retrieves the effect instantiated for this material. The parameters of the effect may be overwritten by this material. Returns: The instantiated effect. This pointer will be NULL if the material has no rendering.

FCDEffectParameter* FCDMaterial::GetEffectParameter | ( | size_t | index | ) | `[inline]`

  | Retrieves a given local effect parameter. Parameters:
  | index | An index.
Returns: The local effect parameter at the given index.

size_t FCDMaterial::GetEffectParameterCount | ( |  | ) | const`[inline]`

| Retrieves the number of local effect parameters. Returns: The number of local effect parameters.

FCDEntityReference* FCDMaterial::GetEffectReference | ( |  | ) | `[inline]`

| Retrieves the effect reference for this material. Using the FCDEffectReference object for the effect is only useful when dealing manually with external references. Returns: The entity reference for the effect.

FCDMaterialTechniqueHintList& FCDMaterial::GetTechniqueHints | ( |  | ) | `[inline]`

| Retrieves the list of the material platform-technique hints. Returns: The list of material platform-technique hints.

virtual Type FCDMaterial::GetType | ( |  | ) | const`[inline, virtual]`

| Retrieves the entity type for this class. This function is part of the FCDEntity class interface. Returns: The entity type: MATERIAL. Reimplemented from FCDEntity.

void FCDMaterial::SetEffect | ( | FCDEffect * | _effect | ) |

  | Sets the effect instantiated for this material. Parameters:
  | _effect | The effect instantiated for this material.

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

- FCDocument/FCDMaterial.h