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

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

# FCDEffect Class Reference
[COLLADA Effect Classes [ColladaFX]]

A COLLADA effect. More...

`#include <FCDEffect.h>`

Inheritance diagram for FCDEffect:

List of all members.

## Public Member Functions
| FCDEffect (FCDocument *document)
| Constructor: do not use directly.
virtual | ~FCDEffect ()
| Destructor.
virtual Type | GetType () const
| Retrieves the type for this entity class.
size_t | GetProfileCount () const
| Retrieves the number of profiles contained within the effect.
FCDEffectProfile * | GetProfile (size_t index)
| Retrieves a profile contained within the effect.
const FCDEffectProfile * | GetProfile (size_t index) const
| See above.
| DEPRECATED (3.05A, GetProfileCount and GetProfile(index)) void GetProfiles() const
| Retrieves the list of the profiles contained within the effect.
const FCDEffectProfile * | FindProfile (FUDaeProfileType::Type type) const
| Retrieves the first profile for a specific profile type.
FCDEffectProfile * | FindProfile (FUDaeProfileType::Type type)
| See above.
FCDEffectProfile * | FindProfileByTypeAndPlatform (FUDaeProfileType::Type type, const fm::string &platform)
| Retrieves the profile for a specific profile type and platform.
const FCDEffectProfile * | FindProfileByTypeAndPlatform (FUDaeProfileType::Type type, const fm::string &platform) const
| See above.
bool | HasProfile (FUDaeProfileType::Type type) const
| Retrieves whether the effect contains a profile of the given type.
FCDEffectProfile * | AddProfile (FUDaeProfileType::Type type)
| Creates a profile of the given 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.
virtual FCDEntity * | Clone (FCDEntity *clone=NULL, bool cloneChildren=false) const
| Clones the effect object.
| DEPRECATED (3.05A, not recommended) void Flatten()
| [INTERNAL] Flattens the effect, pushing all the common effect parameters into to the effect technique level of abstraction.

## Detailed Description

A COLLADA effect.

A COLLADA effect is one of many abstraction level that defines how to render mesh polygon sets. It contains one or more rendering profile that the application can choose to support. In theory, all the rendering profiles should reach the same render output, using different rendering technologies.

An effect may also declare new general purpose parameters that are common to all the profiles.

## Constructor & Destructor Documentation

FCDEffect::FCDEffect | ( | FCDocument * | document | ) |

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

## Member Function Documentation

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

FCDEffectProfile* FCDEffect::AddProfile | ( | FUDaeProfileType::Type | type | ) |

  | Creates a profile of the given type. If a profile of this type already exists, it will be released, as a COLLADA effect should only contain one profile of each type. Parameters:
  | type | The profile type.
Returns: The new effect profile.

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

  | Clones the effect object. Parameters:
  | clone | The clone object into which to copy the effect information. If this pointer is NULL, a new effect will be created and your will need to release the returned pointer.
  | cloneChildren | Whether to recursively clone this entity's children.
Returns: The cloned effect object. You will must delete this pointer. Reimplemented from FCDEntity.

FCDEffect::DEPRECATED | ( | 3. | 05A,
|  | not | recommended
| ) |

| [INTERNAL] Flattens the effect, pushing all the common effect parameters into to the effect technique level of abstraction. To correctly flatten a material, use the FCDMaterialInstance::FlattenMaterial function.

FCDEffect::DEPRECATED | ( | 3. | 05A,
|  | GetProfileCount and | GetProfile(index)
| ) | const`[inline]`

| Retrieves the list of the profiles contained within the effect. Returns: The list of effect profiles.

const FCDEffectProfile* FCDEffect::FindProfile | ( | FUDaeProfileType::Type | type | ) | const

  | Retrieves the first profile for a specific profile type. There should only be one profile of each type within an effect. This function allows you to retrieve the profile for a given type. Parameters:
  | type | The profile type.
Returns: The first profile of this type. This pointer will be NULL if the effect does not have any profile of this type.

FCDEffectProfile* FCDEffect::FindProfileByTypeAndPlatform | ( | FUDaeProfileType::Type | type,
|  | const fm::string & | platform
| ) | `[inline]`

  | Retrieves the profile for a specific profile type and platform. There should only be one profile of each type within an effect. This function allows you to retrieve the profile for a given type. Parameters:
  | type | The profile type.
  | platform | The profile platform.
Returns: The profile of this type. This pointer will be NULL if the effect does not have any profile of this type.

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

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

FCDEffectProfile* FCDEffect::GetProfile | ( | size_t | index | ) | `[inline]`

  | Retrieves a profile contained within the effect. Parameters:
  | index | The index of the profile.
Returns: The profile. This pointer will be NULL, if the given index is out-of-bounds.

size_t FCDEffect::GetProfileCount | ( |  | ) | const`[inline]`

| Retrieves the number of profiles contained within the effect. Returns: The number of profiles within the effect.

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

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

bool FCDEffect::HasProfile | ( | FUDaeProfileType::Type | type | ) | const`[inline]`

  | Retrieves whether the effect contains a profile of the given type. Parameters:
  | type | The profile type.
Returns: Whether the effect has a profile of this type.

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

- FCDocument/FCDEffect.h