FCDEffectProfile Class Reference
[COLLADA Effect Classes [ColladaFX]]

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

#include <FCDEffectProfile.h>

Inheritance diagram for FCDEffectProfile:

FCDObject FUParameterizable FUTrackable FUObject FCDEffectProfileFX FCDEffectStandard 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.
FCDEffectGetParent ()
 Retrieves the parent effect.
const FCDEffectGetParent () const
 See above.
 DEPRECATED (3.05A, GetParent()->GetDaeId) const fm
 [INTERNAL] Retrieves the COLLADA id of the parent effect.
FCDExtraGetExtra ()
 Retrieves the extra information tree for this effect profile.
const FCDExtraGetExtra () const
 See above.
virtual FCDEffectProfileClone (FCDEffectProfile *clone=NULL) const
 Clones the profile effect and its parameters.
size_t GetEffectParameterCount () const
 Retrieves the number of local effect parameters.
FCDEffectParameterGetEffectParameter (size_t index)
 Retrieves a given local effect parameter.
const FCDEffectParameterGetEffectParameter (size_t index) const
FCDEffectParameterAddEffectParameter (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:
Generated on Thu Feb 14 16:58:38 2008 for FCollada by  doxygen 1.4.6-NO