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.
54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
#pragma once
|
|
#include "../FaultAmplitudeLib/FaultAmplitudeCreator.h"
|
|
class AFX_EXT_CLASS CFaultStatisticsCreator: public CFaultAmplitudeCreator
|
|
{
|
|
public:
|
|
CFaultStatisticsCreator();
|
|
~CFaultStatisticsCreator();
|
|
|
|
class AFX_EXT_CLASS FltInfo
|
|
{
|
|
public:
|
|
FltInfo(void);
|
|
~FltInfo(void);
|
|
bool GetParameters(void);
|
|
void WriteInfo(FILE* fw);
|
|
void SetPosition(const char* pos);
|
|
GPline* m_pFlt;
|
|
CString fltName;
|
|
CString layerName;
|
|
CString fltMode;
|
|
float fltLength;
|
|
float fltStrike; //断层走向
|
|
float fltTendency; //断层倾向
|
|
float dipAngle; //倾角
|
|
float MaxHDist; //最大水平断距
|
|
float AveHDist; //平均水平断距
|
|
float MaxVDist; //最大垂直断距
|
|
float AveVDist; //平均垂直断距
|
|
CString position;
|
|
std::vector<FAmplitudeInfo> m_ampResults;
|
|
};
|
|
|
|
|
|
public:
|
|
//设置其他参数后执行execute
|
|
virtual bool Execute();
|
|
bool CalcFltInfo(GPline* pFlt, FltInfo& finfo);
|
|
bool WriteResult(void);
|
|
std::list<FltInfo> GetFltInfo() { return m_lstFltInfo; }
|
|
//写出dfd
|
|
virtual bool WriteDfd(void) override;
|
|
//写出csv
|
|
virtual bool WriteCsv(void) override;
|
|
virtual void WriteLayers(FILE* fw) override;
|
|
virtual void WriteTextPoints(FILE* fw) override;
|
|
|
|
COLORREF m_clrMark; //标注颜色
|
|
int m_iMarkType; //标注类型 0= 垂直断距 1=水平断距 2=倾角
|
|
CString m_strLayerMark; //标记层
|
|
protected:
|
|
std::list<FltInfo> m_lstFltInfo;
|
|
};
|
|
|