00001 // rdGCVSplineSet.cpp 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // Copyright 2002 Realistic Dynamics, Inc. 00004 // All rights reserved. 00005 // 00006 // Please do not read, copy, distribute, or use without permission. 00007 // Contact: Frank C. Anderson, fca@RealisticDynamics.com 00008 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00009 00010 #ifndef __rdGCVSplineSet_h__ 00011 #define __rdGCVSplineSet_h__ 00012 00013 00014 // INCLUDES 00015 #include "rdTools.h" 00016 #include "rdObject.h" 00017 #include "rdFunctionSet.h" 00018 #include "rdGCVSpline.h" 00019 #include "rdStorage.h" 00020 00021 00022 //============================================================================= 00023 //============================================================================= 00030 class RDTOOLS_API rdGCVSplineSet : public rdFunctionSet 00031 { 00032 //============================================================================= 00033 // DATA 00034 //============================================================================= 00035 protected: 00036 00037 //============================================================================= 00038 // METHODS 00039 //============================================================================= 00040 public: 00041 //-------------------------------------------------------------------------- 00042 // CONSTRUCTION 00043 //-------------------------------------------------------------------------- 00044 rdGCVSplineSet(); 00045 rdGCVSplineSet(const char *aFileName); 00046 rdGCVSplineSet(int aDegree,rdStorage *aStore,double aErrorVariance=0.0); 00047 virtual ~rdGCVSplineSet(); 00048 private: 00049 void setNull(); 00050 void construct(int aDegree,rdStorage *aStore,double aErrorVariance); 00051 00052 //-------------------------------------------------------------------------- 00053 // SET AND GET 00054 //-------------------------------------------------------------------------- 00055 public: 00056 rdGCVSpline* getGCVSpline(int aIndex); 00057 00058 //-------------------------------------------------------------------------- 00059 // UTILITY 00060 //-------------------------------------------------------------------------- 00061 rdStorage* constructStorage(int aDerivOrder,double aDX=-1); 00062 00063 //============================================================================= 00064 }; // END class rdGCVSplineSet 00065 //============================================================================= 00066 //============================================================================= 00067 00068 #endif // __rdGCVSplineSet_h__
1.3