#pragma once #include "GDFLOGPEN.h" class CCurveEx; class CXyDC; class CFaultLineConMgr; /* @brief 断层线 */ class AFX_EXT_CLASS CFaultLine : public CBaseObject { public: CFaultLine(void); ~CFaultLine(void); /// 重载CBaseObject函数 virtual void Serialize(CArchive& ar, const short &ver); virtual int Read(CFile& fr, const short& ver); virtual void Write(CFile& fw, const short& ver); virtual CRect8 GetRect(void); virtual void GetRange(CRect8& range); virtual BOOL IsInRange(CRect8& range); virtual void Offset(double dx, double dy); virtual void ScaleCoor(double xs, double ys, double dx, double dy); virtual void Rotate(double xs, double ys, double angle); /* @brief 根据曲线生成断层线 */ void Create(vector &curves); void Draw(CXyDC &dc); void SetLeftFault(double dValue); double GetLeftFault(); void SetRightFault(double dValue); double GetRightFault(); BOOL IsBlocked(); void SetBlocked(BOOL bValue); NGraph::GDFLOGPEN &GetLinePen(); void SetLinePen(NGraph::GDFLOGPEN &pen); CCurveEx *GetCurveImp(); protected: double m_dLeftFault; double m_dRightFault; BOOL m_IsBlocked; ///< 是否为封堵断层 CCurveEx *m_pCurveImp; ///< 用于保存断层上点的对象 GDFLOGPEN m_penLine; CFaultLineConMgr *m_pFaultLineConMgr; ///< 与断层关联的曲线关系管理器 };