#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 m_ampResults; }; public: //设置其他参数后执行execute virtual bool Execute(); bool CalcFltInfo(GPline* pFlt, FltInfo& finfo); bool WriteResult(void); std::list 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 m_lstFltInfo; };