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/SSBase/WellPoleLib/MultiWellSectionFeature.h

197 lines
6.8 KiB
C++

/**************************************************************************************
多井剖面特征类
**************************************************************************************/
#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