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

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

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

The base for a COLLADA effect profile. More...

`#include <FCDEffectProfile.h>`

Inheritance diagram for FCDEffectProfile:

List of all members.

## Public Member Functions
| FCDEffectProfile (FCDocument *document, FCDEffect *parent)
| Constructor: do not use directly.
virtual | ~FCDEffectProfile ()
| Destructor.
virtual FUDaeProfileType::Type | GetType () const =0
| Retrieves the profile type for this effect.
FCDEffect * | GetParent ()
| Retrieves the parent effect.
const FCDEffect * | GetParent () const
| See above.
| DEPRECATED (3.05A, GetParent()->GetDaeId) const fm
| [INTERNAL] Retrieves the COLLADA id of the parent effect.
FCDExtra * | GetExtra ()
| Retrieves the extra information tree for this effect profile.
const FCDExtra * | GetExtra () const
| See above.
virtual FCDEffectProfile * | Clone (FCDEffectProfile *clone=NULL) const
| Clones the profile effect and its parameters.
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.
| DEPRECATED (3.05A, not recommended) void Flatten()
| [INTERNAL] Flattens this effect profile, 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

The base for a COLLADA effect profile.

COLLADA has multiple effect profiles: CG, HLSL, GLSL, GLES and the COMMON profile. For each profile, there is a class which implements this abstract class. This abstract class solely holds the parent effect and allows access to the profile type.

See also:
  FCDEffectProfileFX FCDEffectStandard

## Constructor & Destructor Documentation

FCDEffectProfile::FCDEffectProfile | ( | FCDocument * | document,
|  | FCDEffect * | parent
| ) |

  | Constructor: do not use directly. Instead, use the FCDEffect::AddProfile function. Parameters:
  | document | The FCollada document that owns this effect profile.
  | parent | The effect which contains this profile.

## Member Function Documentation

FCDEffectParameter* FCDEffectProfile::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 FCDEffectProfile* FCDEffectProfile::Clone | ( | FCDEffectProfile * | clone = `NULL` | ) | const`[virtual]`

  | Clones the profile effect and its parameters. Parameters:
  | clone | The cloned profile. If this pointer is NULL, a new profile is created and you will need to release this new profile.
Returns: The cloned profile. This pointer will be NULL if the abstract class' cloning function is used without a given clone. Reimplemented in FCDEffectProfileFX, and FCDEffectStandard.

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

| [INTERNAL] Flattens this effect profile, 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. Reimplemented in FCDEffectProfileFX, and FCDEffectStandard.

FCDEffectProfile::DEPRECATED | ( | 3. | 05A,
|  | GetParent()-> | GetDaeId
| ) | const`[inline]`

| [INTERNAL] Retrieves the COLLADA id of the parent effect. This function is useful when reporting errors and warnings. Returns: The COLLADA id of the parent effect.

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

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

FCDExtra* FCDEffectProfile::GetExtra | ( |  | ) | `[inline]`

| Retrieves the extra information tree for this effect profile. The prefered way to save extra information in FCollada is at the entity level: FCDEffect. Returns: The extra information tree.

FCDEffect* FCDEffectProfile::GetParent | ( |  | ) | `[inline]`

| Retrieves the parent effect. This is the effect which contains this profile. Returns: The parent effect. This pointer will never be NULL.

virtual FUDaeProfileType::Type FCDEffectProfile::GetType | ( |  | ) | const`[pure virtual]`

| Retrieves the profile type for this effect. This function allows you to up-cast the pointer safely to a more specific effect profile class. Returns: The profile type. Implemented in FCDEffectProfileFX, and FCDEffectStandard.

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

- FCDocument/FCDEffectProfile.h