FCDEffectProfileFX Class Reference
[COLLADA Effect Classes [ColladaFX]]

A general effect profile description. More...

#include <FCDEffectProfileFX.h>

Inheritance diagram for FCDEffectProfileFX:

FCDEffectProfile FCDObject FUParameterizable FUTrackable FUObject 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 fstringGetPlatform () 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.
FCDEffectTechniqueGetTechnique (size_t index)
 Retrieves a technique contained within this effect profile.
const FCDEffectTechniqueGetTechnique (size_t index) const
 See above.
FCDEffectTechniqueAddTechnique ()
 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.
FCDEffectCodeGetCode (size_t index)
 Retrieves a code inclusion contained within the effect profile.
const FCDEffectCodeGetCode (size_t index) const
 See above.
FCDEffectCodeFindCode (const char *sid)
 Retrieves the code inclusion with the given sub-id.
const FCDEffectCodeFindCode (const char *sid) const
 See above.
FCDEffectCodeAddCode ()
 Adds a new code inclusion to this effect profile.
virtual FCDEffectProfileClone (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:
Generated on Thu Feb 14 16:58:38 2008 for FCollada by  doxygen 1.4.6-NO