123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- #pragma once
- #include <GBFieldData.h>
- using namespace OTSDATA;
- namespace OTSGBCalculate
- {
- enum class GBIncCategory
- {
- AT = 1,//A thin
- AW=2,//A wide
- AS=3,//A super
- BT = 4,
- BW=5,
- BS=6,
- CT = 7,
- CW=8,
- CS=9,
- DT=10,
- DW= 11,
- DS = 12,
- DSulfideT = 13,
- DSulfideW=14,
- DSulfideS=15
- };
- class __declspec(dllexport) GBGradeCell
- {
- public:
- int nFldNum = 0;
- CGBFieldList GBFlds;
- void AddFld(CGBFieldDataPtr fld)
- {
- GBFlds.push_back(fld);
- nFldNum += 1;
- }
- };
- class __declspec(dllexport) CGBGradeData
- {
- public:
- static CONST int LEVEL_LENGTH = 11;
- CGBGradeData(CGBFieldList listCGBField)
- {
- GBMeasureArea = listCGBField;
- for (CGBFieldDataPtr GBFld : listCGBField)
- {
- //update the A class grid data
- GB_GRADE_TYPE levelt = GBFld->GetALevel()->GetThinGrade();
- GB_GRADE_TYPE levelw = GBFld->GetALevel()->GetWideGrade();
- GB_GRADE_TYPE levels = GBFld->GetALevel()->GetSuperGrade();
- ALevel[(int)levelt].AddFld(GBFld);
- ALevel_w[(int)levelw].AddFld(GBFld);
- ALevel_s[(int)levels].AddFld(GBFld);
- //update the B class grid data
- levelt = GBFld->GetBLevel()->GetThinGrade();
- levelw = GBFld->GetBLevel()->GetWideGrade();
- levels = GBFld->GetBLevel()->GetSuperGrade();
- BLevel[(int)levelt].AddFld(GBFld);
- BLevel_w[(int)levelw].AddFld(GBFld);
- BLevel_s[(int)levels].AddFld(GBFld);
- //update the C class grid data
- levelt = GBFld->GetCLevel()->GetThinGrade();
- levelw = GBFld->GetCLevel()->GetWideGrade();
- levels = GBFld->GetCLevel()->GetSuperGrade();
- CLevel[(int)levelt].AddFld(GBFld);
- CLevel_w[(int)levelw].AddFld(GBFld);
- CLevel_s[(int)levels].AddFld(GBFld);
- //update the D class grid data
- levelt = GBFld->GetDLevel()->GetThinGrade();
- levelw = GBFld->GetDLevel()->GetWideGrade();
- levels = GBFld->GetDLevel()->GetSuperGrade();
- DLevel[(int)levelt].AddFld(GBFld);
- DLevel_w[(int)levelw].AddFld(GBFld);
- DLevel_s[(int)levels].AddFld(GBFld);
- //update the DSulfide class grid data
- levelt = GBFld->GetDSulfideLevel()->GetThinGrade();
- levelw = GBFld->GetDSulfideLevel()->GetWideGrade();
- levels = GBFld->GetDSulfideLevel()->GetSuperGrade();
- DSulfideLevel[(int)levelt].AddFld(GBFld);
- DSulfideLevel_w[(int)levelw].AddFld(GBFld);
- DSulfideLevel_s[(int)levels].AddFld(GBFld);
- }
- for (CGBFieldDataPtr frame : listCGBField)
- {
- auto dsparticles = frame->listDSParticles;
- for (auto part : dsparticles)
- {
- allDSParts.push_back(part);
- }
- }
- }
- //Definition numbers
- //use the nXLevel array to memory how many fields in each level.
- GBGradeCell ALevel[LEVEL_LENGTH]; //nALevelZero, nALevel_0_5, nALevel_1_0, nALevel_1_5, nALevel_2_0, nALevel_2_5, nALevel_3_0, nALevel_3_5, nALevel_4_0, nALevel_4_5, nALevel_5_0 ;
- GBGradeCell ALevel_w[LEVEL_LENGTH]; //nALevelZero_f, nALevel_0_5_f, nALevel_1_0_f, nALevel_1_5_f, nALevel_2_0_f, nALevel_2_5_f, nALevel_3_0_f, nALevel_3_5_f, nALevel_4_0_f, nALevel_4_5_f, nALevel_5_0_f;
- GBGradeCell ALevel_s[LEVEL_LENGTH];
- GBGradeCell BLevel[LEVEL_LENGTH]; //nBLevelZero, nBLevel_0_5, nBLevel_1_0, nBLevel_1_5, nBLevel_2_0, nBLevel_2_5, nBLevel_3_0, nBLevel_3_5, nBLevel_4_0, nBLevel_4_5, nBLevel_5_0;
- GBGradeCell BLevel_w[LEVEL_LENGTH]; //nBLevelZero_f, nBLevel_0_5_f, nBLevel_1_0_f, nBLevel_1_5_f, nBLevel_2_0_f, nBLevel_2_5_f, nBLevel_3_0_f, nBLevel_3_5_f, nBLevel_4_0_f, nBLevel_4_5_f, nBLevel_5_0_f;
- GBGradeCell BLevel_s[LEVEL_LENGTH];
- GBGradeCell CLevel[LEVEL_LENGTH]; //nCLevelZero, nCLevel_0_5, nCLevel_1_0, nCLevel_1_5, nCLevel_2_0, nCLevel_2_5, nCLevel_3_0, nCLevel_3_5, nCLevel_4_0, nCLevel_4_5, nCLevel_5_0;
- GBGradeCell CLevel_w[LEVEL_LENGTH]; //nCLevelZero_f, nCLevel_0_5_f, nCLevel_1_0_f, nCLevel_1_5_f, nCLevel_2_0_f, nCLevel_2_5_f, nCLevel_3_0_f, nCLevel_3_5_f, nCLevel_4_0_f, nCLevel_4_5_f, nCLevel_5_0_f;
- GBGradeCell CLevel_s[LEVEL_LENGTH];
- GBGradeCell DLevel[LEVEL_LENGTH];// nDLevelZero, nDLevel_0_5, nDLevel_1_0, nDLevel_1_5, nDLevel_2_0, nDLevel_2_5, nDLevel_3_0, nDLevel_3_5, nDLevel_4_0, nDLevel_4_5, nDLevel_5_0;
- GBGradeCell DLevel_w[LEVEL_LENGTH]; //nDLevelZero_f, nDLevel_0_5_f, nDLevel_1_0_f, nDLevel_1_5_f, nDLevel_2_0_f, nDLevel_2_5_f, nDLevel_3_0_f, nDLevel_3_5_f, nDLevel_4_0_f, nDLevel_4_5_f, nDLevel_5_0_f;
- GBGradeCell DLevel_s[LEVEL_LENGTH];
- GBGradeCell DSulfideLevel[LEVEL_LENGTH];// nDLevelZero, nDLevel_0_5, nDLevel_1_0, nDLevel_1_5, nDLevel_2_0, nDLevel_2_5, nDLevel_3_0, nDLevel_3_5, nDLevel_4_0, nDLevel_4_5, nDLevel_5_0;
- GBGradeCell DSulfideLevel_w[LEVEL_LENGTH]; //nDLevelZero_f, nDLevel_0_5_f, nDLevel_1_0_f, nDLevel_1_5_f, nDLevel_2_0_f, nDLevel_2_5_f, nDLevel_3_0_f, nDLevel_3_5_f, nDLevel_4_0_f, nDLevel_4_5_f, nDLevel_5_0_f;
- GBGradeCell DSulfideLevel_s[LEVEL_LENGTH];
- CGBParticleList allDSParts;
-
- private:
- CGBFieldList GBMeasureArea;
- };
- }
|