1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #pragma once
- #include "otsdataconst.h"
- #include "OTSFieldData.h"
- namespace OTSGBCalculate
- {
- using namespace OTSDATA;
- class __declspec(dllexport) CGBFieldData;
- class __declspec(dllexport) CGBLevel
- {
- public:
- CGBLevel();
- // constructor
- CGBLevel(CGBFieldData * GBField, GB_LEVEL_TYPE a_nLevel);
- CGBLevel(const CGBLevel&); // copy constructor
- CGBLevel(CGBLevel*); // copy constructor
- CGBLevel& operator=(const CGBLevel&); // =operator
- BOOL operator==(const CGBLevel&); // =operator
- virtual ~CGBLevel(); // detractor
- //获得细系颗粒的级别(非DS下同)
- GB_GRADE_TYPE GetThinGrade();
- //获得粗系颗粒的级别
- GB_GRADE_TYPE GetWideGrade();
- //获得超尺寸颗粒的级别
- GB_GRADE_TYPE GetSuperGrade();
-
- double GetMaxFeretDiameter();
- protected:
- // cleanup
- void Cleanup();
- // initialization
- void Init();
- // duplication
- void Duplicate(const CGBLevel& a_oSource);
- private:
- //视场各类的分级数:A / B / C / D / DS
- GB_LEVEL_TYPE m_nLevel;
- CGBFieldData* m_GBField;
- double m_FeretDiameterMax;
- };
- typedef std::shared_ptr<CGBLevel> __declspec(dllexport) CGBLevelPtr;
- GB_GRADE_TYPE __declspec(dllexport) GetAGrade(double dLengthAll);
- GB_GRADE_TYPE __declspec(dllexport) GetBGrade(double dLengthAll);
- GB_GRADE_TYPE __declspec(dllexport) GetCGrade(double dLengthAll);
- GB_GRADE_TYPE __declspec(dllexport) GetDGrade(int nSize);
- CString __declspec(dllexport) GetDSGrade(double dFeretDiameterMax);
- }
|