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

- File List
- File Members

# FCDocument/FCDAnimationCurveTools.h

Go to the documentation of this file.

    00001 /*
    00002     Copyright (C) 2005-2007 Feeling Software Inc.
    00003     Portions of the code are:
    00004     Copyright (C) 2005-2007 Sony Computer Entertainment America
    00005
    00006     MIT License: http://www.opensource.org/licenses/mit-license.php
    00007 */
    00008
    00014 #ifndef _FCD_ANIMATION_CURVE_TOOLS_H_
    00015 #define _FCD_ANIMATION_CURVE_TOOLS_H_
    00016
    00017 class FCDAnimationCurve;
    00018 class FCDAnimationMultiCurve;
    00019
    00020 typedef fm::pvector<FCDAnimationCurve> FCDAnimationCurveList;
    00021 typedef fm::pvector<const FCDAnimationCurve> FCDAnimationCurveConstList;
    00022 typedef float (*FCDCollapsingFunction)(float* values, uint32 count);
    00025 namespace FCDAnimationCurveTools
    00026 {
    00036     FCOLLADA_EXPORT FCDAnimationMultiCurve* MergeCurves(const FCDAnimationCurveConstList& toMerge, const FloatList& defaultValues);
    00037     inline FCDAnimationMultiCurve* MergeCurves(const FCDAnimationCurveList& toMerge, const FloatList& defaultValues) { return MergeCurves(*(const FCDAnimationCurveConstList*) &toMerge, defaultValues); }
    00045     FCOLLADA_EXPORT FCDAnimationCurve* Collapse(const FCDAnimationMultiCurve* curve, FCDCollapsingFunction collapse = NULL);
    00046
    00051     float TakeFirst(float* values, uint32 count);
    00052
    00057     float Average(float* values, uint32 count);
    00058 };
    00059
    00060 #endif // _FCD_ANIMATION_CURVE_TOOLS_H_
    00061