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

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

# FCDTransform Class Reference
[COLLADA Document Object Model.]

A COLLADA transform. More...

`#include <FCDTransform.h>`

Inheritance diagram for FCDTransform:

List of all members.

## Public Types
enum | Type { TRANSLATION, ROTATION, SCALE, MATRIX, LOOKAT, SKEW, TYPE_COUNT }
| The COLLADA transform types. More...
## Public Member Functions
| FCDTransform (FCDocument *document, FCDSceneNode *parent)
| Constructor: do not use directly.
virtual | ~FCDTransform ()
| Destructor.
FCDSceneNode * | GetParent ()
| Retrieves the visual scene node that contains this transformation.
const FCDSceneNode * | GetParent () const
| See above.
void | SetTransformsDirtyFlag ()
| [DEPRECATED] Sets on a scene node parent, the transform dirty flag.
virtual FCDTransform * | Clone (FCDTransform *clone=NULL) const =0
| Creates a copy of a transformation.
virtual Type | GetType () const =0
| Retrieves the class type of the transformation.
virtual FMMatrix44 | ToMatrix () const =0
| Converts the transformation into a matrix.
FUParameterString & | GetSubId ()
| Retrieves the wanted sub-id for this transform.
const FUParameterString & | GetSubId () const
| See above.
void | SetSubId (const fm::string &subId)
| Sets the wanted sub-id for this transform.
virtual bool | IsAnimated () const =0
| Retrieves whether this transformation has an animation tied to its values.
FCDAnimated * | GetAnimated ()
| Retrieves the animated element for the transformation.
virtual const FCDAnimated * | GetAnimated () const =0
| See above.
virtual bool | IsInverse (const FCDTransform *transform) const
| Retrieves whether a given transformation is the exact opposite of this transformation.
virtual void | SetValueChange ()
| Set Value changed flag.

## Detailed Description

A COLLADA transform.

COLLADA supports six transformation types: translations(FCDTTranslation), rotations(FCDTRotation), scales(FCDTScale), matrices(FCDTMatrix), skews(FCDTSkew) and the 'look-at' transform(FCDTLookAt).

## Member Enumeration Documentation

enum FCDTransform::Type

  | The COLLADA transform types. Enumerator:
  TRANSLATION | A translation(FCDTTranslation).
  ROTATION | A rotation(FCDTRotation).
  SCALE | A non-uniform scale(FCDTScale).
  MATRIX | A matrix multiplication(FCDTMatrix).
  LOOKAT | A targeted, 'look-at' transformation(FCDTLookAt).
  SKEW | A skew(FCDTSkew).

## Constructor & Destructor Documentation

FCDTransform::FCDTransform | ( | FCDocument * | document,
|  | FCDSceneNode * | parent
| ) |

  | Constructor: do not use directly. Instead, use the FCDSceneNode::AddTransform function. Parameters:
  | document | The COLLADA document that owns the transform.
  | parent | The visual scene node that contains the transform. Set this pointer to NULL if this transform is not owned by a visual scene node.

## Member Function Documentation

virtual FCDTransform* FCDTransform::Clone | ( | FCDTransform * | clone = `NULL` | ) | const`[pure virtual]`

  | Creates a copy of a transformation. Parameters:
  | clone | The transform that will be the clone.
Returns: The cloned transformation. Implemented in FCDTTranslation, FCDTScale, FCDTRotation, FCDTMatrix, FCDTLookAt, and FCDTSkew.

FCDAnimated* FCDTransform::GetAnimated | ( |  | ) | `[inline]`

| Retrieves the animated element for the transformation. Returns: The animated element. This pointer will be NULL if the transformation is not animated. Reimplemented in FCDTTranslation, FCDTScale, FCDTRotation, FCDTMatrix, FCDTLookAt, and FCDTSkew.

FCDSceneNode* FCDTransform::GetParent | ( |  | ) | `[inline]`

| Retrieves the visual scene node that contains this transformation. Returns: The parent visual scene node. This pointer will be NULL if the transformation is not contained by a visual scene node.

FUParameterString& FCDTransform::GetSubId | ( |  | ) | `[inline]`

| Retrieves the wanted sub-id for this transform. A wanted sub-id will always be exported, even if the transform is not animated. But the wanted sub-id may be modified if it isn't unique within the scope. Returns: The sub-id.

virtual Type FCDTransform::GetType | ( |  | ) | const`[pure virtual]`

| Retrieves the class type of the transformation. The class type should be used to up-case the transformation pointer. Returns: The class type. Implemented in FCDTTranslation, FCDTScale, FCDTRotation, FCDTMatrix, FCDTLookAt, and FCDTSkew.

virtual bool FCDTransform::IsAnimated | ( |  | ) | const`[pure virtual]`

| Retrieves whether this transformation has an animation tied to its values. Returns: Whether the transformation is animated. Implemented in FCDTTranslation, FCDTScale, FCDTRotation, FCDTMatrix, FCDTLookAt, and FCDTSkew.

virtual bool FCDTransform::IsInverse | ( | const FCDTransform * | transform | ) | const`[virtual]`

  | Retrieves whether a given transformation is the exact opposite of this transformation. Executing two opposite transformations, one after the other will not give any resulting transformation. This function is useful to detect pivots within the transform stack. Parameters:
  | transform | A second transformation.
Returns: Whether the two transformations are opposites. Reimplemented in FCDTTranslation, and FCDTRotation.

void FCDTransform::SetSubId | ( | const fm::string & | subId | ) |

  | Sets the wanted sub-id for this transform. A wanted sub-id will always be exported, even if the transform is not animated. But the wanted sub-id may be modified if it isn't unique within the scope. Parameters:
  | subId | The wanted sub-id.

virtual void FCDTransform::SetValueChange | ( |  | ) | `[virtual]`

| Set Value changed flag. When this happens, notify our parent Reimplemented from FCDObject.

virtual FMMatrix44 FCDTransform::ToMatrix | ( |  | ) | const`[pure virtual]`

| Converts the transformation into a matrix. Useful for visual scene nodes with a weird transformation stack. Returns: A matrix equivalent of the transformation. Implemented in FCDTTranslation, FCDTScale, FCDTRotation, FCDTMatrix, FCDTLookAt, and FCDTSkew.

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

- FCDocument/FCDTransform.h