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

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

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

A general effect profile description. More...

`#include <FCDEffectProfileFX.h>`

Inheritance diagram for FCDEffectProfileFX:

List of all members.

## Public Member Functions
| FCDEffectProfileFX (FCDocument *document, FCDEffect *parent)
| Constructor: do not use directly.
virtual | ~FCDEffectProfileFX ()
| Destructor.
virtual FUDaeProfileType::Type | GetType () const
| Retrieves the profile type for this effect.
void | SetType (FUDaeProfileType::Type _type)
| Sets the profile type for this effect.
const fstring & | GetPlatform () const
| Retrieves the name of the platform in which to use the effect profile.
void | SetPlatform (const fstring &_platform)
| Sets the name of the platform in which to use the effect profile.
| DEPRECATED (3.05A, GetTechniqueCount and GetTechnique(index)) void GetTechniqueList() const
| Retrieves the list of techniques contained within this effect profile.
size_t | GetTechniqueCount () const
| Retrieves the number of techniques contained within this effect profile.
FCDEffectTechnique * | GetTechnique (size_t index)
| Retrieves a technique contained within this effect profile.
const FCDEffectTechnique * | GetTechnique (size_t index) const
| See above.
FCDEffectTechnique * | AddTechnique ()
| Adds a new technique to this effect profile.
| DEPRECATED (3.05A, GetCodeCount and GetCode(index)) void GetCodeList()
| Retrieves the list of code inclusions.
size_t | GetCodeCount () const
| Retrieves the number of code inclusions contained within the effect profile.
FCDEffectCode * | GetCode (size_t index)
| Retrieves a code inclusion contained within the effect profile.
const FCDEffectCode * | GetCode (size_t index) const
| See above.
FCDEffectCode * | FindCode (const char *sid)
| Retrieves the code inclusion with the given sub-id.
const FCDEffectCode * | FindCode (const char *sid) const
| See above.
FCDEffectCode * | AddCode ()
| Adds a new code inclusion to this effect profile.
virtual FCDEffectProfile * | Clone (FCDEffectProfile *clone=NULL) const
| Clones the full effect profile.
| DEPRECATED (3.05A, not recommended) void Flatten()
| [INTERNAL] Flattens this effect profile.

## Detailed Description

A general effect profile description.

The general effect profile contains all the information necessary to implement the advanced effect profiles, such as CG, HLSL, GLSL and GLES. Since these effect profiles contains extremely similar information, they use the same description structure. For the COMMON profile, see the FCDEffectStandard class.

You should use the GetType function to figure out which profile this structure addresses. You can then retrieve one or many of the FCDEffectTechnique objects that describe how to render for this profile. You may want to check the FCDEffectMaterialTechniqueHint objects at the FCDMaterial level, in order to determine which technique(s) to use for your platform. At the profile level of abstraction, parameters may be generated within the FCDEffectParamterList.

## Constructor & Destructor Documentation

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

  | Constructor: do not use directly. Instead, use the FCDEffect::AddProfile function. Parameters:
  | parent | The effect which contains this profile.
  | type | The type of profile.

## Member Function Documentation

FCDEffectCode* FCDEffectProfileFX::AddCode | ( |  | ) |

| Adds a new code inclusion to this effect profile. Returns: The new code inclusion.

FCDEffectTechnique* FCDEffectProfileFX::AddTechnique | ( |  | ) |

| Adds a new technique to this effect profile. Returns: The new technique object.

virtual FCDEffectProfile* FCDEffectProfileFX::Clone | ( | FCDEffectProfile * | clone = `NULL` | ) | const`[virtual]`

  | Clones the full effect profile. 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 never be NULL. Reimplemented from FCDEffectProfile.

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

| [INTERNAL] Flattens this effect profile. Pushes all the effect parameter overrides into the effect parameter generators and moves all the parameters to the effect technique level of abstraction. To flatten the material, use the FCDMaterialInstance::FlattenMaterial function. Reimplemented from FCDEffectProfile.

FCDEffectProfileFX::DEPRECATED | ( | 3. | 05A,
|  | GetCodeCount and | GetCode(index)
| ) | `[inline]`

| Retrieves the list of code inclusions. Returns: The list of code inclusions.

FCDEffectProfileFX::DEPRECATED | ( | 3. | 05A,
|  | GetTechniqueCount and | GetTechnique(index)
| ) | const`[inline]`

| Retrieves the list of techniques contained within this effect profile. You may want to check the FCDEffectMaterialTechniqueHint objects at the FCDMaterial level, in order to determine which technique(s) to use for your platform. Returns: The list of inner techniques.

FCDEffectCode* FCDEffectProfileFX::FindCode | ( | const char * | sid | ) | `[inline]`

  | Retrieves the code inclusion with the given sub-id. Parameters:
  | sid | A COLLADA sub-id.
Returns: The code inclusion with the given sub-id. This pointer will be NULL, if there are no code inclusions that match the given sub-id.

FCDEffectCode* FCDEffectProfileFX::GetCode | ( | size_t | index | ) | `[inline]`

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

size_t FCDEffectProfileFX::GetCodeCount | ( |  | ) | const`[inline]`

| Retrieves the number of code inclusions contained within the effect profile. Returns: The number of code inclusions.

const fstring& FCDEffectProfileFX::GetPlatform | ( |  | ) | const`[inline]`

| Retrieves the name of the platform in which to use the effect profile. This parameter is very optional. Returns: The platform name.

FCDEffectTechnique* FCDEffectProfileFX::GetTechnique | ( | size_t | index | ) | `[inline]`

  | Retrieves a technique contained within this effect profile. You may want to check the FCDEffectMaterialTechniqueHint objects at the FCDMaterial level, in order to determine which technique(s) to use for your platform. Parameters:
  | index | The index of the technique.
Returns: The inner technique. This pointer will be NULL if the index is out-of-bounds.

size_t FCDEffectProfileFX::GetTechniqueCount | ( |  | ) | const`[inline]`

| Retrieves the number of techniques contained within this effect profile. Returns: The number of inner techniques.

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

| Retrieves the profile type for this effect. This function is a part of the FCDEffectProfile interface and allows you to up-cast an effect profile pointer safely to this class. Returns: The profile type. This should never be the value: 'COMMON', but all other profiles currently derive from this class. Implements FCDEffectProfile.

void FCDEffectProfileFX::SetPlatform | ( | const fstring & | _platform | ) | `[inline]`

  | Sets the name of the platform in which to use the effect profile. This parameter is very optional. Parameters:
  | _platform | The platform name.

void FCDEffectProfileFX::SetType | ( | FUDaeProfileType::Type | _type | ) | `[inline]`

| Sets the profile type for this effect. Do not change the profile type of a completed effect.

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

- FCDocument/FCDEffectProfileFX.h