#pragma once // CDoubleRange command target #include "XMLSerialization.h" namespace OTSDATA { class __declspec(dllexport) CDoubleRange : public xmls::ISlo { public: CDoubleRange(); // constructor CDoubleRange(double a_dStart, double a_dEnd); // constructor CDoubleRange(const CDoubleRange&); // copy constructor CDoubleRange(CDoubleRange*); // copy constructor CDoubleRange& operator=(const CDoubleRange&); // =operator BOOL operator==(const CDoubleRange&); // =operator virtual ~CDoubleRange(); // detractor // serialization //void Serialize(CArchive& ar); void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // data in range BOOL DataInRange(double a_nData); // start double GetStart() const { return m_dStart; } void SetStart(double a_nStart); // end double GetEnd() const { return m_dEnd; } void SetEnd(double a_nEnd); // double Get protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CDoubleRange& a_oSource); // normalize void Normalise(); private: // start double m_dStart; // end double m_dEnd; }; typedef std::shared_ptr __declspec(dllexport) CDoubleRangePtr; typedef std::vector __declspec(dllexport) CDoubleRangeList; }