OTSPeak.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "IntRange.h"
  3. namespace OTSDATA
  4. {
  5. class __declspec(dllexport) COTSPeak /*: public xmls::ISlo*/
  6. {
  7. public:
  8. COTSPeak(); // constructor
  9. COTSPeak(const COTSPeak&); // copy constructor
  10. COTSPeak(COTSPeak*); // copy constructor
  11. COTSPeak& operator=(const COTSPeak&); // =operator
  12. BOOL operator==(const COTSPeak&); // =operator
  13. virtual ~COTSPeak(); // detractor
  14. // serialization
  15. //void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  16. // peak position
  17. long GetPosition() { return m_nPosition; }
  18. void SetPosition(long a_nPosition) { m_nPosition = a_nPosition; }
  19. // peak height
  20. long GetHeight() { return m_nHeight; }
  21. void SetHeight(long a_nHeight) { m_nHeight = a_nHeight; }
  22. // peak range
  23. CIntRange GetRange() { return m_oRange; }
  24. void SetRange(CIntRange a_oRange) { m_oRange = a_oRange; }
  25. protected:
  26. // cleanup
  27. void Cleanup();
  28. // initialization
  29. void Init();
  30. // duplication
  31. void Duplicate(const COTSPeak& a_oSource);
  32. // peak position
  33. long m_nPosition;
  34. // peak height
  35. long m_nHeight;
  36. // peak range
  37. CIntRange m_oRange;
  38. };
  39. typedef std::shared_ptr<COTSPeak> __declspec(dllexport) COTSPeakPtr;
  40. typedef std::vector<COTSPeakPtr> __declspec(dllexport) COTSPeakList;
  41. }