MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00010 // 00011 // Classes: 00012 // - CurveList: A list of CurveData object pointers (legacy). 00013 // - CurveDataBaseList: A list of CurveData object pointers implemented via a BaseList (recommended). 00014 //---------------------------------------------------------------------------------- 00015 00016 #ifndef __mlCurveList_H 00017 #define __mlCurveList_H 00018 00019 00020 // ML includes 00021 #include "mlBase.h" 00022 #include "mlModuleIncludes.h" 00023 #include "mlTreeNode.h" 00024 #include "mlBaseInit.h" 00025 00026 // Local includes 00027 #include "mlCurveData.h" 00028 00029 00030 ML_START_NAMESPACE 00031 00032 00033 // ------------------------------------------------------------------ 00034 // Base object class CurveList 00035 00040 // ------------------------------------------------------------------ 00041 class MLBASEEXPORT CurveList : public Base 00042 { 00043 public: 00044 00045 // -------------------------------------------- 00047 // -------------------------------------------- 00049 00051 CurveList (); 00053 CurveList (const CurveList &curveList, bool deepCopyArg = false); 00054 00056 virtual ~CurveList () {} 00057 00059 virtual CurveList &operator = (const CurveList &srcCurveList); 00060 00062 virtual void clear (); 00063 00065 00066 00067 // -------------------------------------------- 00069 // -------------------------------------------- 00071 00073 virtual std::vector<CurveData*> &getCurveList (); 00075 virtual CurveData *getCurveData (MLssize_t iCurve); 00076 00078 00079 00080 // -------------------------------------------- 00082 // -------------------------------------------- 00084 00086 virtual MLssize_t getNumCurves (); 00087 00089 virtual double getXMin (); 00091 virtual double getXMax (); 00093 virtual double getYMin (); 00095 virtual double getYMax (); 00097 virtual void getXYRange (double *xMin, double *xMax, double *yMin, double *yMax); 00098 00100 00102 00103 virtual void addStateToTree(TreeNode* parent) const; 00104 // Set current version number 00105 ML_SET_ADDSTATE_VERSION(1); 00107 virtual void readStateFromTree(TreeNode* parent); 00109 00110 virtual CurveList* deepCopy() const { return new CurveList(*this, /*deepCopy=*/true); }; 00111 00112 #ifdef ML_DEPRECATED 00113 00114 00115 00118 ML_DEPRECATED void getXYRange (float *xMin, float *xMax, float *yMin, float *yMax); 00119 00121 #endif 00122 00123 protected: 00124 00126 std::vector<CurveData*> _curveList; 00127 00128 private: 00130 ML_CLASS_HEADER(CurveList) 00131 }; 00132 00133 00134 00135 // ------------------------------------------------------------------ 00136 // Class CurveDataBaseList 00137 00140 // ------------------------------------------------------------------ 00141 class MLBASEEXPORT CurveDataBaseList : public BaseList 00142 { 00143 00144 private: 00146 ML_CLASS_HEADER(CurveDataBaseList); 00147 }; 00148 00149 00150 ML_END_NAMESPACE 00151 00152 00153 #endif 00154 // __mlCurveList_H 00155 00156