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

- File List
- File Members

# FCDocument/FCDParameterAnimatable.h File Reference

This file contains the FCDParameterAnimatable template and related functions. More...

`#include <FMath/FMAngleAxis.h>`
`#include <FMath/FMLookAt.h>`
`#include <FMath/FMSkew.h>`
`#include <FUtils/FUParameter.h>`

Go to the source code of this file.

## Classes
class | FCDParameterAnimatable
| An animatable value parameter. More...
class | FCDParameterAnimatableT< TYPE, QUALIFIERS >
| A typed animatable FCollada value parameter. More...
class | FCDParameterListAnimatable
| An animatable value parameter. More...
class | FCDParameterListAnimatableT< TYPE, QUALIFIERS >
| A typed animatable FCollada value parameter. More...
## Defines
#define | DeclareParameterAnimatable(type, qual, parameterName, niceName)
| Declares an animatable parameter for the objects of the current class.
#define | DeclareParameterListAnimatable(type, qual, parameterName, niceName)
| See above.
#define | InitializeParameterAnimatableNoArg(parameterName) parameterName(this)
| Initializes the member variable for an animatable parameter.
#define | InitializeParameterAnimatable(parameterName,) parameterName(this, __VA_ARGS__)
| See above.
## Typedefs
typedef FCDParameterAnimatableT< float, 0 > | FCDParameterAnimatableFloat
| A floating-point value animatable parameter.
typedef FCDParameterAnimatableT< FMVector2, 0 > | FCDParameterAnimatableVector2
| A 2D vector animatable parameter.
typedef FCDParameterAnimatableT< FMVector3, 0 > | FCDParameterAnimatableVector3
| A 3D vector animatable parameter.
typedef FCDParameterAnimatableT< FMVector3, 1 > | FCDParameterAnimatableColor3
| A 3D vector animatable parameter.
typedef FCDParameterAnimatableT< FMVector4, 0 > | FCDParameterAnimatableVector4
| A 4D vector animatable parameter.
typedef FCDParameterAnimatableT< FMVector4, 1 > | FCDParameterAnimatableColor4
| A 4D color animatable parameter.
typedef FCDParameterAnimatableT< FMMatrix44, 0 > | FCDParameterAnimatableMatrix44
| A matrix animatable parameter.
typedef FCDParameterAnimatableT< FMAngleAxis, 0 > | FCDParameterAnimatableAngleAxis
| An angle-axis rotation animatable parameter.
typedef FCDParameterAnimatableT< FMLookAt, 0 > | FCDParameterAnimatableLookAt
| A look-at animatable parameter.
typedef FCDParameterAnimatableT< FMSkew, 0 > | FCDParameterAnimatableSkew
| A skew animatable parameter.
typedef FCDParameterListAnimatableT< float, 0 > | FCDParameterListAnimatableFloat
| A floating-point value animatable list parameter.
typedef FCDParameterListAnimatableT< FMVector2, 0 > | FCDParameterListAnimatableVector2
| A 2D vector animatable list parameter.
typedef FCDParameterListAnimatableT< FMVector3, 0 > | FCDParameterListAnimatableVector3
| A 3D vector animatable list parameter.
typedef FCDParameterListAnimatableT< FMVector3, 1 > | FCDParameterListAnimatableColor3
| A 3D color animatable list parameter.
typedef FCDParameterListAnimatableT< FMVector4, 0 > | FCDParameterListAnimatableVector4
| A 4D vector animatable list parameter.
typedef FCDParameterListAnimatableT< FMVector4, 1 > | FCDParameterListAnimatableColor4
| A 4D color animatable list parameter.

## Detailed Description

This file contains the FCDParameterAnimatable template and related functions.

## Define Documentation

#define DeclareParameterAnimatable | ( | type,
|  | qual,
|  | parameterName,
|  | niceName |  | ) |

| Value:
    class Parameter_##parameterName : public FCDParameterAnimatableT<type, qual> { \
        public: Parameter_##parameterName(FUParameterizable* parent) : FCDParameterAnimatableT<type, qual>(parent) {} \
        Parameter_##parameterName(FUParameterizable* parent, const type& defaultValue) : FCDParameterAnimatableT<type, qual>(parent, defaultValue) {} \
        virtual ~Parameter_##parameterName() {} \
        Parameter_##parameterName& operator= (const type& copy) { FCDParameterAnimatableT<type, qual>::operator=(copy); return *this; } \
        } parameterName;
  Declares an animatable parameter for the objects of the current class. Use this macro within a class declaration to add an animatable parameter to it. The different versions of this macro are used for different parameter types: For floats, Booleans, vectors and strings, use DeclareParameterAnimatable. For arrays of floats, Booleans, vectors and strings, use DeclareParameterListAnimatable. For tracked pointers, use DeclareParameterPtr. For contained pointers, use DeclareParameterRef. For tracked lists of objects, use DeclareParameterTrackList. For containers of objects, use DeclareParameterContainer. Parameters:
  | type | The value type of the animatable parameter. Ex: float, bool, FMVector4 or string.
  | qual | The qualifier for the animatable parameter type.
  See also: FUParameterQualifiers::Qualifiers. Parameters:
  | parameterName | The member variable name for the animatable parameter.
  | niceName | The Unicode string to identify this animatable parameter to users.

#define DeclareParameterListAnimatable | ( | type,
|  | qual,
|  | parameterName,
|  | niceName |  | ) |

| Value:
    class Parameter_##parameterName : public FCDParameterListAnimatableT<type, qual> { \
        public: Parameter_##parameterName(FUParameterizable* parent) : FCDParameterListAnimatableT<type, qual>(parent) {} \
        virtual ~Parameter_##parameterName() {} \
        } parameterName;
See above.

#define InitializeParameterAnimatableNoArg | ( | parameterName |  | ) | parameterName(this)

  | Initializes the member variable for an animatable parameter. Either one of these macros must be included for each member animatable parameter of a class, within that class' constructors. The different versions of this macro are used for different contexts: For a parameter where the default constructor is to be used, use InitializeParameterAnimatableNoArg. For a parameter where one or more values should be used in the constructor, use InitializeParameterAnimatable. Parameters:
  | parameterName | The member variable name of the parameter within the class.