#pragma once #include "PosXray.h" #include "ElementChemistryClr.h" namespace OTSCLRINTERFACE { using namespace System; using namespace System::Drawing; using namespace OTSDATA; public ref class CPosXrayClr { public: CPosXrayClr(); // constructor // copy constructor CPosXrayClr(CPosXrayPtr); // copy constructor CPosXrayPtr GetPosXrayPtr(); CPosXrayClr(CPosXray*); CPosXrayClr(CPosXrayClr^); ~CPosXrayClr(); !CPosXrayClr(); // channels long GetChannelsNum() { return m_PosXray->get()->GetChannelsNum (); } // x-ray data cli::array^ GetXrayData(); CElementChemistryListClr ^ GetElementQuantifyData(); String^ GetQuantifiedElementsStr(); // { return m_nXrayData; } void SetXrayData(cli::array^ a_pnXrayData); DWORD GetTotalCount(); void GetMaxHeightPosition(long % a_nMaxHeight, long % a_nPosition); // clear the x-ray data // if start position is [0, GENERALXRAYCHANNELS - 1], will do the clear void ClearXrayData(long a_nStartPos); // set x-ray data at channel void SetXrayDataAtChannel(DWORD a_nXray, long a_nChannel); System::Drawing::Point^ GetPosition(); void SetPosition(System::Drawing::Point^ a_poiPosition); // index long GetIndex(); void SetIndex(long a_nIndex); // field id long GetScanFieldId(); void SetScanFieldId(long a_nScanfieldId); // particle tag id long GetPartTagId(); void SetPartTagId(long a_nPartTagId); // feature id long GetFeatureId(); void SetFeatureId(long a_nFeatureId); void SetElementQuantifyData(CElementChemistryListClr^ a_listElementQuantifyData); void AddQuantifyElement(CElementChemistryClr^); void NormalizeXrayQuantifyData(); void SetElementNum(int num); int GetElementNum(); protected: CPosXrayPtr* m_PosXray; }; typedef System::Collections::Generic::List CPosXrayListClr; }