You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.0 KiB
C

1 month ago
#pragma once
#include "MLMicroStructureExport.h"
#include "MLPlineList.h"
class GMLDimsIter;
class MLPline;
class MLMICROSTRUCTURE_EXPORT MLMicroStructure
{
public:
MLMicroStructure();
public:
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
double m_minArea; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
int m_limitNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>
// ɾ<><C9BE><EFBFBD>ϲ<EFBFBD><CFB2>ڲ<EFBFBD>
bool m_bFaultFilter; // ɾ<><C9BE><EFBFBD>ϲ<EFBFBD><CFB2>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
double m_faultCloseDis;// <20>ϲ<EFBFBD><CFB2><EFBFBD>С<EFBFBD>վ<EFBFBD><D5BE><EFBFBD>
// <20>պ<EFBFBD>Ȧ<EFBFBD><C8A6>
bool m_bCloseShape; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɱպ<C9B1>
double m_closeDis; // <20><><EFBFBD>߱պϾ<D5BA><CFBE><EFBFBD>
// <20>ϲ<EFBFBD>Ȧ<EFBFBD><C8A6>
bool m_bFaultShape; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɶϱǺͶϲ<CDB6>
double m_extendDis; // <20><><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD>
// <20><>״Ȧ<D7B4><C8A6>
bool m_bNoseShape; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɱ<EFBFBD>״<EFBFBD>͹<EFBFBD><CDB9><EFBFBD>
double m_offsetDis; // <20><><EFBFBD><EFBFBD>ƫ<EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD>
double m_minAngle; // <20><>С<EFBFBD>Ƕ<EFBFBD>
double m_redundant; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
double m_radius; // <20><>С<EFBFBD>
bool m_smooth; // <20><EFBFBD>
double m_zoomin; // <20>Ŵ<EFBFBD>ϵ<EFBFBD><CFB5>
double m_unitSacle; // <20><>״¡<D7B4><C2A1><EFBFBD>͹<EFBFBD><CDB9><EFBFBD><EFBFBD>غϱ<D8BA>
bool m_bOutCircle = false; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ԲȦ
double m_dRadiusScale = 10.0; // <20><EFBFBD><EBBEB6>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ֮<CEA7><D6AE><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6>
double m_minDepth; // <20><>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
double m_maxDepth; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
// <20><><EFBFBD>õ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void setContourList(const MLPlineList& contourList);
// <20><><EFBFBD>öϲ<C3B6>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
void setFaultList(const MLPlineList& faultList);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//double xyRange[4]; /* Min/max x and y coordinates */
//int nxny[2]; /* nx nyNumber of columns Number of rows*/;
//double inc[2]; /* x and y increment */
//double zRange[2]; /* Minimum z value Maximum z value */
void setGridInfo(double* xyRange, int* nxny, double* inc, double*zRange);
// <20><><EFBFBD><EFBFBD><5A><D6B5><EFBFBD><EFBFBD>
// num = nx*ny
// data = z array
void setZData(long num, float* data);
// <20><><EFBFBD><EFBFBD>
bool run();
// <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
void clearMemory();
// <20><>dfg <20><><EFBFBD><EFBFBD>
int readDfgBinary(const char* file);
// <20>պ<EFBFBD>Ȧ<EFBFBD><C8A6>
MLPlineList m_closeObjPosiAry;
MLPlineList m_closeObjNegaAry;
// <20>ϲ<EFBFBD>Ȧ<EFBFBD><C8A6>
MLPlineList m_faultObjPosiAry;
MLPlineList m_faultObjNegaAry;
// <20><>״Ȧ<D7B4><C8A6>
MLPlineList m_noseObjPosiAry;
MLPlineList m_noseObjNegaAry;
private:
MLPlineList m_contourList;
MLPlineList m_faultList;
GMLDimsIter* m_dimsIter;
};