12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #pragma once
- #include "afx.h"
- #include "OTSSegment.h"
- #include "XMLSerialization.h"
- namespace OTSDATA {
- class __declspec(dllexport) COTSFeature : public xmls::ISlo
- {
-
- public:
- // constructor
- COTSFeature(); // constructor
- COTSFeature(const COTSFeature&); // copy constructor
- COTSFeature(COTSFeature*); // copy constructor
- COTSFeature& operator=(const COTSFeature&); // =operator
- BOOL operator==(const COTSFeature&); // ==operator
- virtual ~COTSFeature(); // destructor
- //void Serialize(CArchive& ar); // serialization
- void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
- // segments list
- COTSSegmentsList& GetSegmentsList() { return m_listSegments; }
- void SetSegmentsList(COTSSegmentsList& a_plistSegment, BOOL a_bClear = TRUE);
- COTSSegmentPtr GetSegmentByIndex(int a_nIndex);
- void AddSegment(COTSSegmentPtr seg);
- protected:
- // cleanup
- void Cleanup();
- // initialization
- void Init();
- // duplication
- void Duplicate(const COTSFeature& a_oSource);
- // segments list
- COTSSegmentsList m_listSegments;
- };
- typedef std::shared_ptr<COTSFeature> COTSFeaturePtr;
- typedef std::vector<COTSFeaturePtr> COTSFeatureList;
- }
|