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

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

# FCDGeometryInstance Class Reference

A COLLADA geometry instance. More...

`#include <FCDGeometryInstance.h>`

Inheritance diagram for FCDGeometryInstance:

List of all members.

## Public Member Functions
virtual | ~FCDGeometryInstance ()
| Destructor.
virtual Type | GetType () const
| Retrieves the entity instance class type.
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.
FCDMaterialInstance * | FindMaterialInstance (const fchar *semantic)
| Retrieves a material instance bound to the given material semantic.
FCDMaterialInstance * | FindMaterialInstance (const fstring &semantic)
| See above.
const FCDMaterialInstance * | FindMaterialInstance (const fchar *semantic) const
| See above.
const FCDMaterialInstance * | FindMaterialInstance (const fstring &semantic) const
| See above.
size_t | GetMaterialInstanceCount () const
| Retrieves the number of material instances.
FCDMaterialInstance * | GetMaterialInstance (size_t index)
| Retrieves a material instance.
const FCDMaterialInstance * | GetMaterialInstance (size_t index) const
| See above.
| DEPRECATED (3.05A, GetMaterialInstance) inline FCDMaterialInstance **GetMaterialInstances()
| Retrieves the material instances.
| DEPRECATED (3.05A, GetMaterialInstance) inline const FCDMaterialInstance **GetMaterialInstances() const
| See above.
FCDMaterialInstance * | AddMaterialInstance ()
| Adds an empty material instance to the geometry.
FCDMaterialInstance * | AddMaterialInstance (FCDMaterial *material, FCDGeometryPolygons *polygons)
| Binds a material with a polygons set for this geometry instance.
FCDMaterialInstance * | AddMaterialInstance (FCDMaterial *material, const fchar *semantic)
| Binds a material to a material semantic token.
FCDMaterialInstance * | AddMaterialInstance (FCDMaterial *material, const fstring &semantic)
| See above.
virtual FCDEntityInstance * | Clone (FCDEntityInstance *clone=NULL) const
| Clones the geometry instance.
virtual void | CleanSubId (FUSUniqueStringMap *parentStringMap)
| [INTERNAL] Cleans up the sub identifiers.
## Protected Member Functions
| FCDGeometryInstance (FCDocument *document, FCDSceneNode *parent, FCDEntity::Type entityType=FCDEntity::GEOMETRY)
| Constructor.
## Friends
class | FCDEntityInstanceFactory

## Detailed Description

A COLLADA geometry instance.

It is during the instantiation of geometries that the mesh polygons are attached to actual materials.

## Constructor & Destructor Documentation

FCDGeometryInstance::FCDGeometryInstance | ( | FCDocument * | document,
|  | FCDSceneNode * | parent,
|  | FCDEntity::Type | entityType = `FCDEntity::GEOMETRY`
| ) | `[protected]`

  | Constructor. Parameters:
  | document | The FCollada document that owns this instance.
  | parent | The visual scene node that contains this instance. This pointer will be NULL for instances that are not directly under a visual scene node.
  | entityType | The type of entity to instantiate.

## Member Function Documentation

FCDEffectParameter* FCDGeometryInstance::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.

FCDMaterialInstance* FCDGeometryInstance::AddMaterialInstance | ( | FCDMaterial * | material,
|  | const fchar * | semantic
| ) |

  | Binds a material to a material semantic token. No verification is done to ensure that the material semantic token is used within the instanced geometry or that a material is not already bound to this token. Parameters:
  | material | A material.
  | semantic | A material semantic token.
Returns: The new material instance.

FCDMaterialInstance* FCDGeometryInstance::AddMaterialInstance | ( | FCDMaterial * | material,
|  | FCDGeometryPolygons * | polygons
| ) |

  | Binds a material with a polygons set for this geometry instance. No verification is done to ensure that the polygons set is not already bound to another material. Parameters:
  | material | A material.
  | polygons | A polygons set that belongs to the instanced geometry.
Returns: The new material instance.

FCDMaterialInstance* FCDGeometryInstance::AddMaterialInstance | ( |  | ) |

| Adds an empty material instance to the geometry. This new material instance will be unbound. Returns: The empty material instance.

virtual void FCDGeometryInstance::CleanSubId | ( | FUSUniqueStringMap * | parentStringMap | ) | `[virtual]`

  | [INTERNAL] Cleans up the sub identifiers. The sub identifiers must be unique with respect to its parent. This method corrects the sub ids if there are conflicts. Parameters:
  | parentStringMap | The string map from the parent of this instance in which the sub ids must be unique.
Reimplemented from FCDEntityInstance.

virtual FCDEntityInstance* FCDGeometryInstance::Clone | ( | FCDEntityInstance * | clone = `NULL` | ) | const`[virtual]`

  | Clones the geometry instance. Parameters:
  | clone | The geometry instance to become the clone. If this pointer is NULL, a new geometry instance will be created.
Returns: The cloned geometry instance. Reimplemented from FCDEntityInstance. Reimplemented in FCDControllerInstance.

FCDGeometryInstance::DEPRECATED | ( | 3. | 05A,
|  | GetMaterialInstance |
| ) | `[inline]`

| Retrieves the material instances. Returns: The list of material instances.

FCDMaterialInstance* FCDGeometryInstance::FindMaterialInstance | ( | const fchar * | semantic | ) | `[inline]`

  | Retrieves a material instance bound to the given material semantic. Parameters:
  | semantic | A material semantic.
Returns: The material instance bound to the given material semantic. This pointer will be NULL if the material semantic has no material instance binding to it.

FCDEffectParameter* FCDGeometryInstance::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 FCDGeometryInstance::GetEffectParameterCount | ( |  | ) | const`[inline]`

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

FCDMaterialInstance* FCDGeometryInstance::GetMaterialInstance | ( | size_t | index | ) | `[inline]`

  | Retrieves a material instance. Parameters:
  | index | The index of the material instance.
Returns: The material instance at the given index.

size_t FCDGeometryInstance::GetMaterialInstanceCount | ( |  | ) | const`[inline]`

| Retrieves the number of material instances. Returns: The number of material instances.

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

| Retrieves the entity instance class type. This is used to determine the up-class for the entity instance object. Deprecated: Instead use: FCDEntityInstance::HasType(FCDGeometryInstance::GetClassType()) Returns: The class type: GEOMETRY. Reimplemented from FCDEntityInstance. Reimplemented in FCDControllerInstance.

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

- FCDocument/FCDGeometryInstance.h