/************************************************************************************** 多井剖面特征类 **************************************************************************************/ #ifndef MW_SECTIONFEATURE_H #define MW_SECTIONFEATURE_H #pragma once class AFX_EXT_CLASS CMultiWellSectionFeature { public: CMultiWellSectionFeature(void); ~CMultiWellSectionFeature(void); public: //图件特征 int m_nAlcID; DWORD m_nWellLinkStyle; //井间层连接样式 0-曲线道外连接 1-曲线道内连接 2-分层道边缘连接 16-剖面不外延 enum WellLinkStyleFlags { WellLinkStyleOut = 0x0000, // 曲线道外(井外)连接 WellLinkStyleCurveIn = 0x0001, // 曲线道内连接 WellLinkStyleLayerBounds = 0x0002, // 解释分层道边缘连接 WellLinkStyleStratiBounds = 0x0004, // 地层道边缘连接 WellLinkStyleCenter = 0x0008, // 井柱中心连接 WellLinkStyleAll =WellLinkStyleOut|WellLinkStyleCurveIn|WellLinkStyleLayerBounds|WellLinkStyleStratiBounds|WellLinkStyleCenter, }; DWORD m_nBendExtendStyle; //连层延伸式样 enum BendExtendStyleFlags { BendExtendNo = 0x0000, //不延伸 BendExtendLevelLeft = 0x0001, //水平左延伸 BendExtendLevelRight = 0x0002, //水平右延伸 BendExtendTrendLeft = 0x0004, //趋势左延伸 BendExtendTrendRight = 0x0008, //趋势右延伸 BendExtendLeftAll = BendExtendLevelLeft|BendExtendTrendLeft, BendExtendRightAll = BendExtendLevelRight|BendExtendTrendRight, }; DWORD m_nLayerMarkStyle; //层标注样式 0-气泡样式标注 1-饼图样式标注 DWORD m_nBendFillStyle; //井间层填充方案 0-单色填充 1-双色填充 DWORD m_nLayerTraceStyleFlags; //分层道绘制样式 0-不绘制边线 1-绘制左边线 2-绘制上边线 4-绘制右边线 8-绘制下边线 11-仅绘制左边线 //14-仅绘制右边线 15-绘制全部边线 enum LayerTraceStyleFlags { TraceStyleFlagNoLine = 0x0000, // TraceStyleFlagLeftLine = 0x0001, // TraceStyleFlagTopLine = 0x0002, // TraceStyleFlagRightLine = 0x0004, // TraceStyleFlagBottomLine = 0x0008, TraceStyleFlagOnlyLeftLine = TraceStyleFlagBottomLine|TraceStyleFlagTopLine|TraceStyleFlagLeftLine, TraceStyleFlagOnlyRightLine = TraceStyleFlagBottomLine|TraceStyleFlagTopLine|TraceStyleFlagRightLine, TraceStyleFlagAllLine = TraceStyleFlagBottomLine|TraceStyleFlagTopLine|TraceStyleFlagLeftLine|TraceStyleFlagRightLine }; DWORD m_nDepthTraceStyleFlags; //分层道绘制样式 0-不绘制边线 1-绘制左边线 2-绘制上边线 4-绘制右边线 8-绘制下边线 11-仅绘制左边线 //14-仅绘制右边线 15-绘制全部边线 enum DepthLayerTraceStyleFlags { DepthTraceStyleFlagNoLine = 0x0000, // DepthTraceStyleFlagLeftLine = 0x0001, // DepthTraceStyleFlagTopLine = 0x0002, // DepthTraceStyleFlagRightLine = 0x0004, // DepthTraceStyleFlagBottomLine = 0x0008, DepthTraceStyleFlagOnlyLeftLine = DepthTraceStyleFlagBottomLine|DepthTraceStyleFlagTopLine|DepthTraceStyleFlagLeftLine, DepthTraceStyleFlagOnlyRightLine = DepthTraceStyleFlagBottomLine|DepthTraceStyleFlagTopLine|DepthTraceStyleFlagRightLine, DepthTraceStyleFlagAllLine = DepthTraceStyleFlagBottomLine|DepthTraceStyleFlagTopLine|DepthTraceStyleFlagLeftLine|DepthTraceStyleFlagRightLine }; DWORD m_nWellPortDepthMethod;//井口绘制方式 enum WellPortDepthMethodFlags { WellPortDepthMethodAuto = 0x0000,//自动 WellPortDepthMethodWellDepth = 0x0001,//井深 WellPortDepthMethodVerticalDepth = 0x0002,//垂深 }; DWORD m_nWellStyle; /////井绘制式样 enum WellStyleFlags { WellStyleFlagsSimple = 0x0000, //简单式样 WellStyleFlagsDividLine = 0x0001, //分割线式样 WellStyleFlagsComplete = 0x0002, //完整式样 WellStyleFlagsAll = WellStyleFlagsSimple|WellStyleFlagsDividLine|WellStyleFlagsComplete, }; BOOL m_bLayoutGrid; //页面是否显示布局网格 BOOL m_bDrawOutLayerBend; //是否绘制连层外框 BOOL m_bDepthCalcuMark; //是否按深度道计算水平距离 BOOL m_bVirtualPrint; //是否显示虚井 int m_iFillBrushScale; //充填图案比例 CRect8 m_rectMargin; //页边距范围 CRect m_rectPage; //页面范围 double m_fTrackTitlePos; //图道标题位置 double m_fWellTitleHeight; //井标题高度 double m_fBendLeftExtend; //边缘井向左延伸长度 double m_fBendRightExtend; //边缘井向右延伸长度 //Fence新增的特征 int m_nAngleRotate; //旋转角度 int m_nAngleDownLook; //俯视角度 int m_nTransCurveFill; //曲线填充透明度 int m_nSaturationBendFill; //连层填充色饱和度 public: //开关变量值 void SetWellLinkStyle(DWORD flags); void SetWellLinkOut(BOOL bFlag); void SetWellLinkCurveIn(BOOL bFlag); void SetWellLinkLayerBounds(BOOL bFlag); void SetWellLinkStratiBounds(BOOL bFlag); void SetWellLinkCenter(BOOL bFlag); DWORD GetWellLinkStyle(); BOOL IsWellLinkOut(); BOOL IsWellLinkCurveIn(); BOOL IsWellLinkLayerBounds(); BOOL IsWellLinkStratiBounds(); BOOL IsWellLinkCenter(); void SetBendExtendStyle(DWORD flags); DWORD GetBendExtendStyle(); void SetBendExtendLeftLevel(BOOL bFlag); void SetBendExtendLeftTrend(BOOL bFlag); void SetBendExtendRightLevel(BOOL bFlag); void SetBendExtendRightTrend(BOOL bFlag); BOOL IsBendExtendLeftLevel(); BOOL IsBendExtendLeftTrend(); BOOL IsBendExtendRightLevel(); BOOL IsBendExtendRightTrend(); void SetDepthTraceStyleFlags(DWORD flags); void SetDepthNoLine(BOOL bFlag); void SetDepthLeftLine(BOOL bFlag); void SetDepthTopLine(BOOL bFlag); void SetDepthRightLine(BOOL bFlag); void SetDepthBottomLine(BOOL bFlag); void SetDepthOnlyLeftLine(BOOL bFlag); void SetDepthOnlyRightLine(BOOL bFlag); void SetDepthOnlyAllLine(BOOL bFlag); DWORD GetDepthTraceStyleFlags(); BOOL IsDepthNoLine(); BOOL IsDepthLeftLine(); BOOL IsDepthTopLine(); BOOL IsDepthRightLine(); BOOL IsDepthBottomLine(); BOOL IsDepthOnlyLeftLine(); BOOL IsDepthOnlyRightLine(); BOOL IsDepthOnlyAllLine(); void SetLayerTraceStyleFlags(DWORD flags); void SetNoLine(BOOL bFlag); void SetLeftLine(BOOL bFlag); void SetTopLine(BOOL bFlag); void SetRightLine(BOOL bFlag); void SetBottomLine(BOOL bFlag); void SetOnlyLeftLine(BOOL bFlag); void SetOnlyRightLine(BOOL bFlag); void SetOnlyAllLine(BOOL bFlag); DWORD GetLayerTraceStyleFlags(); BOOL IsNoLine(); BOOL IsLeftLine(); BOOL IsTopLine(); BOOL IsRightLine(); BOOL IsBottomLine(); BOOL IsOnlyLeftLine(); BOOL IsOnlyRightLine(); BOOL IsOnlyAllLine(); void SetWellPortMethod(DWORD flags); void SetWellPortMethodAuto(BOOL bFlag); void SetWellPortMethodWellDepth(BOOL bFlag); void SetWellPortMethodVerticalDepth(BOOL bFlag); DWORD GetWellPortMethod(); BOOL IsWellPortMethodAuto(); BOOL IsWellPortMethodWellDepth(); BOOL IsWellPortMethodVerticalDepth(); void SetWellStyle(DWORD flags); void SetWellStyleSimple(BOOL bFlag); void SetWellStyleDividLine(BOOL bFlag); void SetWellStyleComplete(BOOL bFlag); DWORD GetWellStyle(); BOOL IsWellStyleSimple(); BOOL IsWellStyleDividLine(); BOOL IsWellStyleComplete(); void Serialize(CArchive& ar, const short &ver); }; #endif