12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #pragma once
- #include "afx.h"
- #include "PosXrayInfo.h"
- namespace OTSDATA
- {
- class __declspec(dllexport) CPosXray : public CPosXrayInfo
- {
-
- public:
- CPosXray(); // constructor
- CPosXray(const CPoint); // constructor
- CPosXray(CPosXrayInfo*); // constructor
- CPosXray(const CPosXray&); // copy constructor
- CPosXray(CPosXray*); // copy constructor
- CPosXray& operator=(const CPosXray&); // =operator
- virtual ~CPosXray(); // destructor
- // serialization
- //void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
- // channels
- long GetChannelsNo() const { return GENERALXRAYCHANNELS; }
- // x-ray data
- DWORD* GetXrayData() const { return (DWORD*)m_nXrayData; }
- void SetXrayData(DWORD* a_pnXrayData);
- DWORD GetTotalCount() const;
- void GetMaxHeightPosition(long& a_nMaxHeight, long& a_nPosition) const;
- // clear the x-ray data
- // if start position is [0, GENERALXRAYCHANNELS - 1], will do the clear
- void ClearXrayData(const long a_nStartPos = -1);
- // set x-ray data at channel
- void SetXrayDataAtChannel(DWORD a_nXray, const long a_nChannel);
- static CElementChemistriesList RemoveFe(CElementChemistriesList a_listElementChemistries);
- static CElementChemistriesList RemoveC(CElementChemistriesList a_listElementChemistries);
- protected:
- // cleanup
- void Cleanup();
- // initialization
- void Init();
- // duplication
- void Duplicate(const CPosXray& a_oSource);
- // x-ray data
- DWORD m_nXrayData[GENERALXRAYCHANNELS];
- };
- typedef std::shared_ptr<CPosXray> __declspec(dllexport) CPosXrayPtr;
- typedef std::vector<CPosXrayPtr> __declspec(dllexport) CPosXraysList;
- }
|