00001 #ifndef __AICurveFittingSuite__
00002 #define __AICurveFittingSuite__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __AITypes__
00028 #include "AITypes.h"
00029 #endif
00030
00031 #ifndef __AIPath__
00032 #include "AIPath.h"
00033 #endif
00034
00035 #include "AIHeaderBegin.h"
00036
00037
00038
00039
00040
00041
00042
00043 #define kAICurveFittingSuite "AI Curve Fitting Suite"
00044 #define kAICurveFittingSuiteVersion AIAPI_VERSION(11)
00045 #define kAICurveFittingVersion kAICurveFittingSuiteVersion
00046
00048 enum AICurveFittingPreset {
00050 kAICurveFittingAccuraterPreset,
00051
00053 kAICurveFittingAccuratePreset,
00054 kAICurveFittingDefaultPreset,
00055 kAICurveFittingSmoothPreset,
00056
00058 kAICurveFittingSmootherPreset,
00059
00061 kAICurveFittingNoOfPresets
00062 };
00063
00067 enum AICurveFittingCutType {
00068 kAICurveFittingNoCut,
00069 kAICurveFittingSmoothCut,
00070 kAICurveFittingCornerCut
00071 };
00072
00073
00074
00075
00076
00077
00078
00080 struct AICurveFittingTrajectorySample {
00081 AICurveFittingCutType cut;
00082 AIReal x;
00083 AIReal y;
00084 };
00085
00087 struct AICurveFittingTrajectorySampleVector {
00088 ai::int32 size;
00089 AICurveFittingTrajectorySample* first;
00090 };
00091
00093 struct AICurveFittingPathSegmentVector {
00094 AIBoolean open;
00095 ai::int32 size;
00096 AIPathSegment* first;
00097 };
00098
00099
00100
00101
00102
00103
00104
00113 struct AICurveFittingSuite {
00135 AIAPI AIErr (*FitTrajectoryWithPreset)(
00136 AICurveFittingTrajectorySampleVector* trajectory,
00137 AICurveFittingPreset preset,
00138 AIBoolean close,
00139 AIBoolean zoomAware,
00140 AICurveFittingPathSegmentVector* path
00141 );
00142
00168 AIAPI AIErr (*FitTrajectory)(
00169 AICurveFittingTrajectorySampleVector* trajectory,
00170 ai::int32 noiseFilterDegree,
00171 AIReal cornerAngleTolerance,
00172 AIReal smoothnessTolerance,
00173 AIReal fidelityTolerance,
00174 AICurveFittingPathSegmentVector* path
00175 );
00176 };
00177
00178 #include "AIHeaderEnd.h"
00179
00180 #endif