FCDEffect Class Reference
[COLLADA Effect Classes [ColladaFX]]

A COLLADA effect. More...

#include <FCDEffect.h>

Inheritance diagram for FCDEffect:

FCDEntity FCDObjectWithId FCDObject FUParameterizable FUTrackable FUObject 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.
FCDEffectProfileGetProfile (size_t index)
 Retrieves a profile contained within the effect.
const FCDEffectProfileGetProfile (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 FCDEffectProfileFindProfile (FUDaeProfileType::Type type) const
 Retrieves the first profile for a specific profile type.
FCDEffectProfileFindProfile (FUDaeProfileType::Type type)
 See above.
FCDEffectProfileFindProfileByTypeAndPlatform (FUDaeProfileType::Type type, const fm::string &platform)
 Retrieves the profile for a specific profile type and platform.
const FCDEffectProfileFindProfileByTypeAndPlatform (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.
FCDEffectProfileAddProfile (FUDaeProfileType::Type type)
 Creates a profile of the given type.
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.
virtual FCDEntityClone (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:
Generated on Thu Feb 14 16:58:37 2008 for FCollada by  doxygen 1.4.6-NO