FCDTransform Class Reference
[COLLADA Document Object Model.]

A COLLADA transform. More...

#include <FCDTransform.h>

Inheritance diagram for FCDTransform:

FCDObject FUParameterizable FUTrackable FUObject FCDTLookAt FCDTMatrix FCDTRotation FCDTScale FCDTSkew FCDTTranslation 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.
FCDSceneNodeGetParent ()
 Retrieves the visual scene node that contains this transformation.
const FCDSceneNodeGetParent () const
 See above.
void SetTransformsDirtyFlag ()
 [DEPRECATED] Sets on a scene node parent, the transform dirty flag.
virtual FCDTransformClone (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.
FUParameterStringGetSubId ()
 Retrieves the wanted sub-id for this transform.
const FUParameterStringGetSubId () 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.
FCDAnimatedGetAnimated ()
 Retrieves the animated element for the transformation.
virtual const FCDAnimatedGetAnimated () 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:
Generated on Thu Feb 14 16:58:40 2008 for FCollada by  doxygen 1.4.6-NO