| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419 | #pragma once#include "PropItem.h"#include "OTSParticle.h"namespace OTSMODEL {	using namespace OTSDATA;	typedef enum class __declspec(dllexport) DISPLAY_PICTURE_TYPE	{		INVALID = -1,		MIN = 0,		IMAGE = 0,		TABLE = 1,		CHART = 2,		MAX = 2	}RETORT_PROP_GRID_PARAM_TYPE;	typedef enum class __declspec(dllexport) DATA_SOURCE_TYPE	{		INVALID = -1,		MIN = 0,		ALL = 0,		SELECTION = 1,		MAX = 1	}DATA_SOURCE_TYPE;	typedef enum class __declspec(dllexport) IMAGE_DISPLAY_TYPE	{		INVALID = -1,		MIN = 0,		GENERAL = 0,		IMAGE_GRID = 1,		MAX = 1	}IMAGE_DISPLAY_TYPE;	typedef enum class __declspec(dllexport) MEASURE_DATA_TYPE	{		INVALID = -1,		MIN = 0,		ALL_PARTICLE = 0,		ANYLYSIS_PARTICLE = 1,		PARTICALE_SIZE_DISTRIBUTION = 2,		MAX = 2	}MEASURE_DATA_TYPE;	typedef enum class __declspec(dllexport) IMAGE_TYPE	{		INVALID = -1,		MIN = 0,		BSE = 0,		CLASSIFIED = 1,		MAX = 1	}IMAGE_TYPE;	typedef enum class __declspec(dllexport) CALCULATE_TABLE_TYPE	{		INVALID = -1,		MIN = 0,		MEASURE_INFO = 0,		PARTICALE_GENE_INFO = 1,		PARTICALE_COMP = 2,		PARTICALE_SIZE_DISTRIBUTION = 3,		AVE_ELEMENT_COMP =4,		GB_Method1 = 5,		GB_Method2 = 6,		ASTM = 7,		DIN = 8,		YB6156 = 9,		MAX = 9	}CALCULATE_TABLE_TYPE;		typedef enum class __declspec(dllexport) CALCULATE_CHART_TYPE	{		INVALID = -1,		MIN = 0,		COMMON_FIVE = 0,		PARTICALE_COMP = 1,		PARTICALE_SIZE_DISTRIBUTION = 2,		TRIO_CHART = 3,		MAX = 3	}CALCULATE_CHART_TYPE;	typedef enum class __declspec(dllexport) PARTICLE_TYPE	{		INVALID = -1,		MIN = 0,		ALL = 0,		ANALYSISED = 1,		MAX = 1	}PARTICLE_TYPE;	typedef enum class __declspec(dllexport) STD_ID_DEFUALT	{		INVALID = -1,		MIN = 0,		ALL = 0,		UMKNOWN = 1,		MAX = 1	} STD_ID_DEFUALT;	typedef enum class __declspec(dllexport) SIZE_CLASS_DEFUALT	{		INVALID = -1,		MIN = 0,		ALL = 0,		USER_DEFINDED = 1,		MAX = 1	} SIZE_CLASS_DEFUALT;	typedef enum class __declspec(dllexport) SIZE_CAL_METHOD_TYPE	{		INVALID = -1,		MIN = 0,		LENGTH = 0,		WIDTH = 1,		AREA = 2,		CIRCLE = 3,		FLTD = 4,		MAX = 4	}SIZE_CAL_METHOD_TYPE;	typedef enum class __declspec(dllexport) SIZE_GRID_CAL_METHOD_TYPE	{		INVALID = -1,		MIN = 0,		PARTICLE_NUM = 0,		PECENT = 1,		ACCUM_PERCENT = 2,		MAX = 2	}SIZE_GRID_CAL_METHOD_TYPE;	class __declspec(dllexport) CPropParam	{	public:			// constructor		CPropParam();											// constructor		CPropParam(const CPropParam&);							// copy constructor		CPropParam(CPropParam*);								// copy constructor		CPropParam& operator=(const CPropParam&);				// =operator		BOOL operator==(const CPropParam&);						// ==operator		virtual ~CPropParam();									// destructor		// type		DISPLAY_PICTURE_TYPE GetType() { return m_nType; }		void SetType(DISPLAY_PICTURE_TYPE a_nType) { m_nType = a_nType; }		// property items list		CPropItemsList& GetPropItemsList() { return m_listPropItems; }		virtual void SetPropertyItems() = 0;;		// data source id		std::vector<CString>& GetDataSourceList() { return m_listDataSource; }		BOOL SetDataSourceList(std::vector<CString> a_listDataSource);		int GetDataSourceId() { return m_nDataSourceId; }		BOOL SetDataSourceId(int a_nDataSourceId);		// data source type		DATA_SOURCE_TYPE GetDataSourceType() { return m_nDataSourceType; }		BOOL SetDataSourceType(DATA_SOURCE_TYPE a_nDataSourceType);		// image type		IMAGE_TYPE GetImageType() { return m_nImageType; }		BOOL SetImageType(IMAGE_TYPE a_nImageType);		// image display type		IMAGE_DISPLAY_TYPE GetImageDisplayType() { return  m_nImageDisplayType; }		BOOL SetImageDisplayType(IMAGE_DISPLAY_TYPE a_nImageDisplayType);		// measure data type		MEASURE_DATA_TYPE GetMeasureDataType() { return m_nMeasureDataType; }		BOOL SetMeasureDataType(MEASURE_DATA_TYPE a_nMeasureDataType);		// calculate table type		CALCULATE_TABLE_TYPE GetCalTableType() { return m_nCalTableType; }		BOOL SetCalTableType(CALCULATE_TABLE_TYPE a_nCalTableType);		// calculate chart type		CALCULATE_CHART_TYPE GetCalChartType() { return m_nCalChartType; }		BOOL SetCalChartType(CALCULATE_CHART_TYPE a_nCalChartType);		// particle type		PARTICLE_TYPE GetPartType() { return m_nPartType; }		BOOL SetPartType(PARTICLE_TYPE a_nPartType);		// grain size min		double GetGrainSizeMin() { return m_dGrainSizeMin; }		BOOL SetGrainSizeMin(double a_dGrainSizeMin);		// grain size max		double GetGrainSizeMax() { return m_dGrainSizeMax; }		BOOL SetGrainSizeMax(double a_dGrainSizeMax);		// size calculation method type		SIZE_CAL_METHOD_TYPE GetSizeCalMethodType() { return m_nSizeCalMethodType; }		BOOL SetSizeCalMethodType(SIZE_CAL_METHOD_TYPE a_nSizeCalMethodType);					// combo data		BOOL GetPropComboData(OTS_RETORT_PROP_GRID_ITEMS a_nId, int& a_nValue);		BOOL SetPropComboData(OTS_RETORT_PROP_GRID_ITEMS a_nId, int a_nValue);		// double data 		BOOL GetPropDoubleData(OTS_RETORT_PROP_GRID_ITEMS a_nId, double& a_dValue);		BOOL SetPropDoubleData(OTS_RETORT_PROP_GRID_ITEMS a_nId, double a_dValue);		// get related property item		BOOL GetRelatedPropItem(OTS_RETORT_PROP_GRID_ITEMS a_nId, OTS_RETORT_PROP_GRID_ITEMS& a_nRelatedPropId);		BOOL UpdateAll(OTS_RETORT_PROP_GRID_ITEMS a_nId);		CPropItemPtr GetPropItemById(OTS_RETORT_PROP_GRID_ITEMS a_nId);		COTSParticleList GetSelectParticle() { return m_listSelectParticle; }		void SetSelectParticle(COTSParticleList a_listSelectParticle) { m_listSelectParticle = a_listSelectParticle; };		// ternary phase diagram template.		CString GetTopName() { return m_TopName; }		BOOL SetTopName(CString a_TopName);		CString GetLeftName() { return m_LeftName; }		BOOL SetLeftName(CString a_LeftName);		CString GetRightName() { return m_RightName; }		BOOL SetRightName(CString a_RightName);		std::vector<CString>& GetTopElementName() { return m_listTopElementName; }		BOOL SetTopElementName(std::vector<CString> a_listTopElementName);		std::vector<CString>& GetLeftElementName() { return m_listLeftElementName; }		BOOL SetLeftElementName(std::vector<CString> a_listLeftElementName);		std::vector<CString>& GetRightElementName() { return m_listRightElementName; }		BOOL SetRightElementName(std::vector<CString> a_listRightElementName);	protected:		// cleanup		void Cleanup();		// initialization		void Init();		// duplication 		void Duplicate(const CPropParam& a_oSource);			// Normalize grain size values		void NormalizeGrainSizeValue();		// type		DISPLAY_PICTURE_TYPE m_nType;		// property items list		CPropItemsList m_listPropItems;		// data source id		std::vector<CString> m_listDataSource;		int m_nDataSourceId;		// data source type		DATA_SOURCE_TYPE m_nDataSourceType;		// image display type		IMAGE_DISPLAY_TYPE m_nImageDisplayType;		// image type		IMAGE_TYPE m_nImageType;		// measure data type		MEASURE_DATA_TYPE m_nMeasureDataType;		// calculate table type		CALCULATE_TABLE_TYPE m_nCalTableType;		// calculate chart type		CALCULATE_CHART_TYPE m_nCalChartType;		// particle type		PARTICLE_TYPE m_nPartType;				int m_nSizeItemId;		int m_nSizeClassTableId;		// grain size min		double m_dGrainSizeMin;		// grain size max		double m_dGrainSizeMax;		// size calculation method type		SIZE_CAL_METHOD_TYPE m_nSizeCalMethodType;		// trio chart name		CString m_strTrioChartName;		int m_TrioChartType;		CString m_strSizeClassTableFileFolder;//indicate the sizeClassFile directory,so we can get the sizeClass file list.		// selected particle list		COTSParticleList m_listSelectParticle;		//CustomTemplate: Top Left Right Name		CString m_TopName;		CString m_LeftName;		CString m_RightName;			//Top Left Right ElementName is vector		std::vector<CString> m_listTopElementName;		std::vector<CString> m_listLeftElementName;		std::vector<CString> m_listRightElementName;	};	typedef std::shared_ptr<CPropParam> __declspec(dllexport) CPropParamPtr;	typedef std::vector<CPropParamPtr> __declspec(dllexport) CPropParamsList;	class __declspec(dllexport) CPropParamImage : public CPropParam	{	public:		// constructor		CPropParamImage();											// constructor		CPropParamImage(const CPropParamImage&);					// copy constructor		CPropParamImage(CPropParamImage*);							// copy constructor		CPropParamImage& operator=(const CPropParamImage&);			// =operator		BOOL operator==(const CPropParamImage&);					// ==operator		virtual ~CPropParamImage();									// destructor		// property items list		virtual void SetPropertyItems();	protected:		// cleanup		virtual void Cleanup();		// initialization		virtual void Init();		// duplication 		virtual void Duplicate(const CPropParamImage& a_oSource);	};	typedef std::shared_ptr<CPropParamImage> __declspec(dllexport) CPropParamImagePtr;	class __declspec(dllexport) CPropParamGrid : public CPropParam	{	public:		// constructor		CPropParamGrid();											// constructor		CPropParamGrid(const CPropParamGrid&);						// copy constructor		CPropParamGrid(CPropParamGrid*);							// copy constructor		CPropParamGrid& operator=(const CPropParamGrid&);			// =operator		BOOL operator==(const CPropParamGrid&);						// ==operator		virtual ~CPropParamGrid();									// destructor		// property items list		virtual void SetPropertyItems();	protected:		// cleanup		virtual void Cleanup();		// initialization		virtual void Init();		// duplication 		virtual void Duplicate(const CPropParamGrid& a_oSource);	};	typedef std::shared_ptr<CPropParamGrid> __declspec(dllexport) CPropParamGridPtr;	class __declspec(dllexport) CPropParamChart : public CPropParam	{	public:		// constructor		CPropParamChart();											// constructor		CPropParamChart(const CPropParamChart&);					// copy constructor		CPropParamChart(CPropParamChart*);							// copy constructor		CPropParamChart& operator=(const CPropParamChart&);			// =operator		BOOL operator==(const CPropParamChart&);					// ==operator		virtual ~CPropParamChart();					// destructor			// property items list		virtual void SetPropertyItems();	protected:		// cleanup		virtual void Cleanup();		// initialization		virtual void Init();		// duplication 		virtual void Duplicate(const CPropParamChart& a_oSource);	};	typedef std::shared_ptr<CPropParamChart> __declspec(dllexport) CPropParamChartPtr;}
 |