#pragma once #include "Element.h" namespace OTSDATA { class __declspec(dllexport) CPosXrayInfo /*: public xmls::ISlo*/ { public: CPosXrayInfo(); // constructor CPosXrayInfo(const CPosXrayInfo&); // copy constructor CPosXrayInfo(CPosXrayInfo*); // copy constructor CPosXrayInfo& operator=(const CPosXrayInfo&); // =operator BOOL operator==(const CPosXrayInfo&); // ==operator virtual ~CPosXrayInfo(); // detractor // serialization //void Serialize(bool isStoring,tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // position CPoint GetPosition() const { return m_poiPosition; } void SetPosition(const CPoint& a_poiPosition) { m_poiPosition = a_poiPosition; } // index long GetIndex() const { return m_nIndex; } void SetIndex(const long a_nIndex) { m_nIndex = a_nIndex; } // field id long GetScanFieldId() const { return m_nFieldId; } void SetScanFieldId(const long a_nScanfieldId) { m_nFieldId = a_nScanfieldId; } // particle tag id long GetPartTagId() const { return m_nPartTagId; } void SetPartTagId(const long a_nPartTagId) { m_nPartTagId = a_nPartTagId; } // feature id long GetFeatureId() const { return m_nFeatureId; } void SetFeatureId(const long a_nFeatureId) { m_nFeatureId = a_nFeatureId; } // element quantify data CElementChemistriesList& GetElementQuantifyData() { return m_listElementQuantifyData; } void AddQuantifyElement(CElementChemistryPtr che) { m_listElementQuantifyData.push_back(che); } void SetElementQuantifyData(CElementChemistriesList& a_listElementQuantifyData); void NormalizeXrayQuantifyData(); // record this only for DB long GetElementNum() { return m_nElementNum; } void SetElementNum(long a_nElementNum) { m_nElementNum = a_nElementNum; } protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CPosXrayInfo& a_oSource); // position CPoint m_poiPosition; // index long m_nIndex; // field id long m_nFieldId; // particle tag id long m_nPartTagId; // feature id long m_nFeatureId; // element quantify data CElementChemistriesList m_listElementQuantifyData; // record this only for DB long m_nElementNum; }; typedef std::shared_ptr __declspec(dllexport) CPosXrayInfoPtr; typedef std::vector __declspec(dllexport) CPosXrayInfoList; }