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 

Generated on Thu Feb 14 16:58:33 2008 for FCollada by  doxygen 1.4.6-NO