|
|
|
|
|
#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>Zֵ<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;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
};
|