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.
kev/Drawer/GVision/FaultStatisticsLib/FaultStatisticsCreator.h

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;
};