Hole.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include "domain.h"
  3. namespace OTSDATA {
  4. const int __declspec(dllexport) HOLE_ITEM_NUMBER = 6;
  5. class __declspec(dllexport) CHole : public CDomain
  6. {
  7. /*protected:
  8. DECLARE_SERIAL(CHole)*/
  9. public:
  10. CHole(); // constructor
  11. CHole(CString a_strName, DOMAIN_SHAPE a_nShape, CRect a_rectRegion); // constructor
  12. CHole(const CHole&); // copy constructor
  13. CHole(CHole*); // copy constructor
  14. CHole& operator=(const CHole&); // =operator
  15. BOOL operator==(const CHole&); // ==operator
  16. virtual ~CHole(); // destructor
  17. // serialization
  18. //void Serialize(CArchive& ar);
  19. virtual void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  20. // hole name
  21. CString GetName() { return m_strName; }
  22. void SetName(CString a_strName) { m_strName = a_strName; }
  23. //void Deserialize(Slo * classItem, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  24. protected:
  25. // cleanup
  26. void Cleanup();
  27. // initialization
  28. void Init();
  29. // duplication
  30. void Duplicate(const CHole& a_oSource);
  31. private:
  32. // hole name
  33. CString m_strName;
  34. };
  35. typedef std::shared_ptr<CHole> __declspec(dllexport) CHolePtr;
  36. typedef std::vector<CHolePtr> __declspec(dllexport) CHolesList;
  37. }