三图一表属性数据保存,需要重新编译DrawBase

This commit is contained in:
zhaolei 2026-03-23 11:52:13 +08:00
parent 5e750f0529
commit 40d908dbaa
9 changed files with 953 additions and 177 deletions

View File

@ -127,6 +127,10 @@ signals:
//绘制对称曲线
void sig_ChangeDrawSymmetry(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, bool bDrawSymmetry);
//斜井三图一表
void sig_ChangeTvdProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QObject *pTvd);
//斜井三图一表
void sig_ChangeTvdProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QString strGroup, QString strProperty, QVariant variant);

View File

@ -60,7 +60,7 @@ struct DRAWBASE_EXPORT WaveMessage
ColorMessage m_ColorMessage;
};
class DRAWBASE_EXPORT CDrawBase/*:public CQtWellLogTrackNode*/
class DRAWBASE_EXPORT CDrawBase : public QObject/*:public CQtWellLogTrackNode*/
{
// Q_OBJECT
public:

View File

@ -694,8 +694,6 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
return;
}
}
}
}
@ -3117,117 +3115,121 @@ void PropertyWidget::initGeoLithProperty(FormInfo *formInfo)
// 斜井三图一表属性
void PropertyWidget::initTvdProperty(FormInfo *formInfo)
{
if (!formInfo->m_pTvd)
return;
_CreateVariantPropertyItem("通常", "选择井斜数据", m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("通常", "显示名称", formInfo->m_strAliasName, QVariant::String);
_CreateVariantPropertyItem("通常", "显示井名", formInfo->m_strWellName, QVariant::String);
_CreateVariantPropertyItem("绘制图形对象", "靶心", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "靶心参数表", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "井斜数据表", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "俯视图", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图深度在左边", false, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(水平位移)", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(向东)", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(向北)", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(侧视角)", false, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "立体轨迹图", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "绘制标注信息", true, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "靶心", formInfo->m_pTvd->objViewInfo->m_IsDrawBX, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "靶心参数表", formInfo->m_pTvd->objViewInfo->m_IsDrawBxcs, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "井斜数据表", formInfo->m_pTvd->objViewInfo->m_IsDrawTable, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "俯视图", formInfo->m_pTvd->objViewInfo->m_IsDrawFst, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图深度在左边", formInfo->m_pTvd->objViewInfo->m_DepthLeft, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(水平位移)", formInfo->m_pTvd->objViewInfo->m_IsDrawCst1, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(向东)", formInfo->m_pTvd->objViewInfo->m_IsDrawCst2, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(向北)", formInfo->m_pTvd->objViewInfo->m_IsDrawCst3, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "侧视图(侧视角)", formInfo->m_pTvd->objViewInfo->m_IsDrawCst, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "立体轨迹图", formInfo->m_pTvd->objViewInfo->m_IsDrawLtgjt, QVariant::Bool);
_CreateVariantPropertyItem("绘制图形对象", "绘制标注信息", formInfo->m_pTvd->objViewInfo->m_isDrawNote, QVariant::Bool);
_CreateVariantPropertyItem("边框线型", "线宽", 3, QVariant::Int);
_CreateVariantPropertyItem("边框线型", "颜色", QColor(0, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("格线线型", "线宽", 3, QVariant::Int);
_CreateVariantPropertyItem("格线线型", "颜色", QColor(127, 127, 127), QVariant::Color);
_CreateVariantPropertyItem("轨迹线型", "线宽", 3, QVariant::Int);
_CreateVariantPropertyItem("轨迹线型", "颜色", QColor(0, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("靶心半径线型", "线宽", 3, QVariant::Int);
_CreateVariantPropertyItem("靶心半径线型", "颜色", QColor(255, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("靶心连线线型", "线宽", 3, QVariant::Int);
_CreateVariantPropertyItem("靶心连线线型", "颜色", QColor(255, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("边框线型", "线宽", formInfo->m_pTvd->m_FrameWidth, QVariant::Int);
_CreateVariantPropertyItem("边框线型", "颜色", formInfo->m_pTvd->m_FrameColor, QVariant::Color);
_CreateVariantPropertyItem("格线线型", "线宽", formInfo->m_pTvd->m_GridWidth, QVariant::Int);
_CreateVariantPropertyItem("格线线型", "颜色", formInfo->m_pTvd->m_GridColor, QVariant::Color);
_CreateVariantPropertyItem("轨迹线型", "线宽", formInfo->m_pTvd->m_GuijiWidth, QVariant::Int);
_CreateVariantPropertyItem("轨迹线型", "颜色", formInfo->m_pTvd->m_GuijiColor, QVariant::Color);
_CreateVariantPropertyItem("靶心半径线型", "线宽", formInfo->m_pTvd->m_BxbjWidth, QVariant::Int);
_CreateVariantPropertyItem("靶心半径线型", "颜色", formInfo->m_pTvd->m_BxbjColor, QVariant::Color);
_CreateVariantPropertyItem("靶心连线线型", "线宽", formInfo->m_pTvd->m_BxlxWidth, QVariant::Int);
_CreateVariantPropertyItem("靶心连线线型", "颜色", formInfo->m_pTvd->m_BxlxColor, QVariant::Color);
_CreateVariantPropertyItem("字体", "道头字体", QFont(), QVariant::Font);
_CreateVariantPropertyItem("字体", "道头颜色", QColor(0, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("字体", "道头字体", formInfo->m_pTvd->objViewInfo->m_HeadFont, QVariant::Font);
_CreateVariantPropertyItem("字体", "道头颜色", formInfo->m_pTvd->objViewInfo->m_HeadColor, QVariant::Color);
_CreateVariantPropertyItem("字体", "标题字体", QFont(), QVariant::Font);
_CreateVariantPropertyItem("字体", "标题颜色", QColor(0, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("字体", "标题字体", formInfo->m_pTvd->objViewInfo->m_TitleFont, QVariant::Font);
_CreateVariantPropertyItem("字体", "标题颜色", formInfo->m_pTvd->objViewInfo->m_TitleColor, QVariant::Color);
_CreateVariantPropertyItem("字体", "数据表字体", QFont(), QVariant::Font);
_CreateVariantPropertyItem("字体", "数据表颜色", QColor(0, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("字体", "数据表字体", formInfo->m_pTvd->objViewInfo->m_TableFont, QVariant::Font);
_CreateVariantPropertyItem("字体", "数据表颜色", formInfo->m_pTvd->objViewInfo->m_TableColor, QVariant::Color);
_CreateVariantPropertyItem("字体", "刻度字体", QFont(), QVariant::Font);
_CreateVariantPropertyItem("字体", "刻度颜色", QColor(0, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("字体", "刻度字体", formInfo->m_pTvd->objViewInfo->m_ScaleFont, QVariant::Font);
_CreateVariantPropertyItem("字体", "刻度颜色", formInfo->m_pTvd->objViewInfo->m_ScaleColor, QVariant::Color);
_CreateVariantPropertyItem("字体", "注释字体", QFont(), QVariant::Font);
_CreateVariantPropertyItem("字体", "注释颜色", QColor(0, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("字体", "注释字体", formInfo->m_pTvd->objViewInfo->m_NoteFont, QVariant::Font);
_CreateVariantPropertyItem("字体", "注释颜色", formInfo->m_pTvd->objViewInfo->m_NoteColor, QVariant::Color);
_CreateVariantPropertyItem("井斜数据表参数", "标题名", "井连续井斜仪测量数据表", QVariant::String);
_CreateVariantPropertyItem("井斜数据表参数", "头记录高度(cm)", 1.6, QVariant::Double);
_CreateVariantPropertyItem("井斜数据表参数", "数据记录高度(cm)", 0.8, QVariant::Double);
_CreateVariantPropertyItem("井斜数据表参数", "标题名", formInfo->m_pTvd->m_Title_table, QVariant::String);
_CreateVariantPropertyItem("井斜数据表参数", "头记录高度(cm)", formInfo->m_pTvd->objViewInfo->m_Head_Height, QVariant::Double);
_CreateVariantPropertyItem("井斜数据表参数", "数据记录高度(cm)", formInfo->m_pTvd->objViewInfo->m_Rec_Height, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "标题名", "井井眼俯视图", QVariant::String);
_CreateVariantPropertyItem("俯视图参数", "东西位移最小刻度", -100, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "东西位移最大刻度", 100, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "南北位移最小刻度", -100, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "南北位移最大刻度", 100, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "是否绘制闭合线", false, QVariant::Bool);
_CreateVariantPropertyItem("俯视图参数", "标题名", formInfo->m_pTvd->objViewInfo->m_Title_fst, QVariant::String);
_CreateVariantPropertyItem("俯视图参数", "东西位移最小刻度", formInfo->m_pTvd->objViewInfo->m_MinXe, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "东西位移最大刻度", formInfo->m_pTvd->objViewInfo->m_MaxXe, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "南北位移最小刻度", formInfo->m_pTvd->objViewInfo->m_MinYn, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "南北位移最大刻度", formInfo->m_pTvd->objViewInfo->m_MaxYn, QVariant::Double);
_CreateVariantPropertyItem("俯视图参数", "是否绘制闭合线", formInfo->m_pTvd->objViewInfo->m_bPlotBhx, QVariant::Bool);
_CreateVariantPropertyItem("侧视图参数", "标题名", "井井眼侧视图", QVariant::String);
_CreateVariantPropertyItem("侧视图参数", "高宽相同", false, QVariant::Bool);
_CreateVariantPropertyItem("侧视图参数", "标题名", formInfo->m_pTvd->objViewInfo->m_Title_cst, QVariant::String);
_CreateVariantPropertyItem("侧视图参数", "高宽相同", formInfo->m_pTvd->objViewInfo->m_heqw, QVariant::Bool);
_CreateVariantPropertyItem("侧视图(水平位移)", "最大侧视位移(m)", 100, QVariant::Double);
_CreateVariantPropertyItem("侧视图(水平位移)", "最小侧视位移(m)", -100, QVariant::Double);
_CreateVariantPropertyItem("侧视图(水平位移)", "最大垂深(m)", 10000, QVariant::Double);
_CreateVariantPropertyItem("侧视图(水平位移)", "最小垂深(m)", 0, QVariant::Double);
_CreateVariantPropertyItem("侧视图(水平位移)", "最大侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MaxWy_HOFF, QVariant::Double);
_CreateVariantPropertyItem("侧视图(水平位移)", "最小侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MinWy_HOFF, QVariant::Double);
_CreateVariantPropertyItem("侧视图(水平位移)", "最大垂深(m)", formInfo->m_pTvd->objViewInfo->m_MaxTVD_HOFF, QVariant::Double);
_CreateVariantPropertyItem("侧视图(水平位移)", "最小垂深(m)", formInfo->m_pTvd->objViewInfo->m_MinTVD_HOFF, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最大侧视位移(m)", 100, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最小侧视位移(m)", -100, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最大垂深(m)", 10000, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最小垂深(m)", 0, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最大侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MaxWy_XE, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最小侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MinWy_XE, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最大垂深(m)", formInfo->m_pTvd->objViewInfo->m_MaxTVD_XE, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向东)", "最小垂深(m)", formInfo->m_pTvd->objViewInfo->m_MinTVD_XE, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最大侧视位移(m)", 100, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最小侧视位移(m)", -100, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最大垂深(m)", 10000, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最小垂深(m)", 0, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "深度间隔(m)", 100, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "等分个数(=0按深度间隔)", 0, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "侧视角(度)", 90, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向北)", "最大侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MaxWy_YN, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向北)", "最小侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MinWy_YN, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向北)", "最大垂深(m)", formInfo->m_pTvd->objViewInfo->m_MaxTVD_YN, QVariant::Double);
_CreateVariantPropertyItem("侧视图(向北)", "最小垂深(m)", formInfo->m_pTvd->objViewInfo->m_MinTVD_YN, QVariant::Double);
//
_CreateVariantPropertyItem("立体轨迹图参数", "标题名", "", QVariant::String);
_CreateVariantPropertyItem("立体轨迹图参数", "最大位移(m)", 100, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "起始垂深(m)", 0, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "垂深间隔(m)", 100, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "是否绘制立体框", formInfo->m_is3DFrame, QVariant::Bool);
_CreateVariantPropertyItem("立体轨迹图参数", "俯视角(度)", 10, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "侧视角(度)", 45, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "倾斜角(度)", 0, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "竖线间隔", 5, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "俯视南北间隔数", 20, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "俯视东西间隔数", 20, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最大侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MaxWy, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最小侧视位移(m)", formInfo->m_pTvd->objViewInfo->m_MinWy, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最大垂深(m)", formInfo->m_pTvd->objViewInfo->m_MaxTVD, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "最小垂深(m)", formInfo->m_pTvd->objViewInfo->m_MinTVD, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "深度间隔(m)", formInfo->m_pTvd->objViewInfo->m_DepSpace, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "等分个数(=0按深度间隔)", formInfo->m_pTvd->objViewInfo->m_DepSpaceN, QVariant::Double);
_CreateVariantPropertyItem("侧视图(侧视角)", "侧视角(度)", formInfo->m_pTvd->objViewInfo->m_CsAngle, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "标题名", formInfo->m_pTvd->m_Title_ltgj, QVariant::String);
_CreateVariantPropertyItem("立体轨迹图参数", "最大位移(m)", formInfo->m_pTvd->objViewInfo->m_MaxWy1, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "起始垂深(m)", formInfo->m_pTvd->objViewInfo->m_LTTTVD, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "垂深间隔(m)", formInfo->m_pTvd->objViewInfo->m_DepSpace1, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "是否绘制立体框", formInfo->m_pTvd->objViewInfo->m_is3DFrame, QVariant::Bool);
_CreateVariantPropertyItem("立体轨迹图参数", "俯视角(度)", formInfo->m_pTvd->objViewInfo->m_LttAngle_X, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "侧视角(度)", formInfo->m_pTvd->objViewInfo->m_LttAngle, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "倾斜角(度)", formInfo->m_pTvd->objViewInfo->m_LttAngle_Z, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "竖线间隔", formInfo->m_pTvd->objViewInfo->m_LTTTVD, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "俯视南北间隔数", formInfo->m_pTvd->objViewInfo->m_YD, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "俯视东西间隔数", formInfo->m_pTvd->objViewInfo->m_XD, QVariant::Double);
QStringList listType;
listType.append("NONE");
listType.append("狗腿度");
listType.append("井经");
listType.append("成像");
_CreateEnumPropertyItem("立体轨迹图参数", "附加属性类型", listType.indexOf("NONE"), listType);
_CreateVariantPropertyItem("立体轨迹图参数", "选择井曲线1", "", QVariant::String);
_CreateVariantPropertyItem("立体轨迹图参数", "选择井曲线2", "", QVariant::String);
_CreateVariantPropertyItem("立体轨迹图参数", "调色板参数设置",0, QVariant::Int);
_CreateVariantPropertyItem("立体轨迹图参数", "直径放大系数", 1, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "波形基值", 0, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "波形最大值", 500, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "连续填充", false, QVariant::Bool);
_CreateEnumPropertyItem("立体轨迹图参数", "附加属性类型", formInfo->m_pTvd->objViewInfo->m_IsDrawProperty, listType);
_CreateVariantPropertyItem("立体轨迹图参数", "选择井曲线1", formInfo->m_pTvd->objViewInfo->m_CurveName1, QVariant::String);
_CreateVariantPropertyItem("立体轨迹图参数", "选择井曲线2", formInfo->m_pTvd->objViewInfo->m_CurveName2, QVariant::String);
_CreateVariantPropertyItem("立体轨迹图参数", "调色板参数设置",0, QVariant::Int);//formInfo->m_pTvd->objViewInfo->m_ColorTableIndex
_CreateVariantPropertyItem("立体轨迹图参数", "直径放大系数", formInfo->m_pTvd->objViewInfo->m_calscale, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "波形基值", formInfo->m_pTvd->objViewInfo->m_baseval, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "波形最大值", formInfo->m_pTvd->objViewInfo->m_maxval, QVariant::Double);
_CreateVariantPropertyItem("立体轨迹图参数", "连续填充", formInfo->m_pTvd->objViewInfo->m_isBlock, QVariant::Bool);
_CreateVariantPropertyItem("立体闭合方位线型", "线宽", 1, QVariant::Int);
_CreateVariantPropertyItem("立体闭合方位线型", "颜色", QColor(255, 0, 0), QVariant::Color);
_CreateVariantPropertyItem("绘图参数", "最小深度间隔(m)", 5, QVariant::Double);
_CreateVariantPropertyItem("绘图参数", "最小深度间隔(m)", formInfo->m_pTvd->objViewInfo->m_Rlev, QVariant::Double);
_CreateVariantPropertyItem("立体闭合方位线型", "线宽", 3, QVariant::Int);
_CreateVariantPropertyItem("立体闭合方位线型", "颜色", QColor(255, 0, 0), QVariant::Color);
//当前属性类型
m_strCurrentProperty = Tvd_Property;
}

View File

@ -325,6 +325,11 @@ void FormDraw::DisplayLines(QJsonArray linesArray)
//套管组件
DisplayTubing_One(lineObjInfo);
}
else if (strType == "SantuyibiaoObject")
{
// 斜井三图一表属性
DisplayTvd_One(lineObjInfo);
}
else
{
DisplayType_One(lineObjInfo);
@ -1009,6 +1014,695 @@ void FormDraw::DisplayTubing_One(QJsonObject lineObjInfo)
}
}
//斜井三图一表
void FormDraw::DisplayTvd_One(QJsonObject lineObjInfo)
{
QString strSlfName = "";
QString strWellName = "";
QString strLineName = "";
QString strAliasName = "";//显示名称
QFont curveNameFont("微软雅黑", 10); // 名称字体
QColor lineColor = QColor(0, 0, 0);//颜色
if (lineObjInfo.contains("SlfName"))
{
QJsonValue value = lineObjInfo.value("SlfName");
if (value.isString()) {
strSlfName = value.toString();
//qDebug() << "SlfName:" << strSlfName;
//
QString slffilename = QString("");
int ind = strSlfName.lastIndexOf('\\');
int ind2 = strSlfName.lastIndexOf('/');
if (ind2 > ind) ind = ind2;
if (ind > -1) {
slffilename = strSlfName.mid(ind + 1);
strSlfName = slffilename;
}
}
}
if (lineObjInfo.contains("WellName"))
{
QJsonValue value = lineObjInfo.value("WellName");
if (value.isString()) {
strWellName = value.toString();
//qDebug() << "WellName:" << strWellName;
}
}
if (lineObjInfo.contains("LineName"))
{
QJsonValue value = lineObjInfo.value("LineName");
if (value.isString()) {
strLineName = value.toString();
//qDebug() << "LineName:" << strLineName;
}
}
if (lineObjInfo.contains("AliasName"))
{
QJsonValue value = lineObjInfo.value("AliasName");
if (value.isString()) {
strAliasName = value.toString();
//qDebug() << "strAliasName:" << strAliasName;
}
}
//字体
if (lineObjInfo.contains("curveNameFont"))
{
QJsonValue value = lineObjInfo.value("curveNameFont");
if (value.isString()) {
curveNameFont.fromString(value.toString());
//qDebug() << "strUnit:" << strUnit;
}
}
//
if (lineObjInfo.contains("lineColor"))
{
lineColor.setNamedColor(lineObjInfo.value("lineColor").toString());
}
QString folderPath = GetLogdataPath();
folderPath = folderPath + g_prjname;
strSlfName = folderPath + "/" + "#" + strWellName + "/" + strSlfName;
if (strLineName != "")
{
FormLine* pFormL = this->s_addSantuyibiao(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, 0);
if (pFormL && pFormL->m_drawTvd)
{
GetTvdProperty(pFormL->m_drawTvd, lineObjInfo);
emit CallManage::getInstance()->sig_ChangeTvdProperty(m_strUuid, m_strSlfName, m_strWellName, m_strTrackName, "Santuyibiao",
(QObject *)(pFormL->m_drawTvd));
}
}
}
void FormDraw::GetTvdProperty(CDrawTvd *drawTvd, QJsonObject lineObjInfo)
{
if (lineObjInfo.contains("AliasWellName")) // 通常-显示井名
{
QJsonValue value = lineObjInfo.value("AliasWellName");
if (value.isString()) {
drawTvd->m_AliasWellName = value.toString();
}
}
// 绘制图形对象
if (lineObjInfo.contains("IsDrawBX")) // 绘制图形对象-靶心
{
QJsonValue value = lineObjInfo.value("IsDrawBX");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawBX = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawBxcs")) // 绘制图形对象-靶心参数表
{
QJsonValue value = lineObjInfo.value("IsDrawBxcs");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawBxcs = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawTable")) // 绘制图形对象-井斜数据表
{
QJsonValue value = lineObjInfo.value("IsDrawTable");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawTable = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawFst")) // 绘制图形对象-俯视图
{
QJsonValue value = lineObjInfo.value("IsDrawFst");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawFst = value.toBool();
}
}
if (lineObjInfo.contains("DepthLeft")) // 绘制图形对象-侧视图深度在左边
{
QJsonValue value = lineObjInfo.value("DepthLeft");
if (value.isBool()) {
drawTvd->objViewInfo->m_DepthLeft = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawCst1")) // 绘制图形对象-侧视图(水平位移)
{
QJsonValue value = lineObjInfo.value("IsDrawCst1");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawCst1 = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawCst2")) // 绘制图形对象-侧视图(向东)
{
QJsonValue value = lineObjInfo.value("IsDrawCst2");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawCst2 = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawCst3")) // 绘制图形对象-侧视图(向北)
{
QJsonValue value = lineObjInfo.value("IsDrawCst3");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawCst3 = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawCst")) // 绘制图形对象-侧视图(侧视角)
{
QJsonValue value = lineObjInfo.value("IsDrawCst");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawCst = value.toBool();
}
}
if (lineObjInfo.contains("IsDrawLtgjt")) // 绘制图形对象-立体轨迹图
{
QJsonValue value = lineObjInfo.value("IsDrawLtgjt");
if (value.isBool()) {
drawTvd->objViewInfo->m_IsDrawLtgjt = value.toBool();
}
}
if (lineObjInfo.contains("isDrawNote")) // 绘制图形对象-绘制标注信息
{
QJsonValue value = lineObjInfo.value("isDrawNote");
if (value.isBool()) {
drawTvd->objViewInfo->m_isDrawNote = value.toBool();
}
}
// 边框线型
if (lineObjInfo.contains("FrameWidth")) // 边框线型-线宽
{
QJsonValue value = lineObjInfo.value("FrameWidth");
if (value.isDouble()) {
drawTvd->m_FrameWidth = value.toInt();
}
}
if (lineObjInfo.contains("FrameColor")) // 边框线型-颜色
{
QJsonValue value = lineObjInfo.value("FrameColor");
if (value.isString()) {
drawTvd->m_FrameColor.setNamedColor(value.toString());
}
}
// 格线线型
if (lineObjInfo.contains("GridWidth")) // 格线线型-线宽
{
QJsonValue value = lineObjInfo.value("GridWidth");
if (value.isDouble()) {
drawTvd->m_GridWidth = value.toInt();
}
}
if (lineObjInfo.contains("GridColor")) // 格线线型-颜色
{
QJsonValue value = lineObjInfo.value("GridColor");
if (value.isString()) {
drawTvd->m_GridColor.setNamedColor(value.toString());
}
}
// 轨迹线型
if (lineObjInfo.contains("GuijiWidth")) // 轨迹线型-线宽
{
QJsonValue value = lineObjInfo.value("GuijiWidth");
if (value.isDouble()) {
drawTvd->m_GuijiWidth = value.toInt();
}
}
if (lineObjInfo.contains("GuijiColor")) // 轨迹线型-颜色
{
QJsonValue value = lineObjInfo.value("GuijiColor");
if (value.isString()) {
drawTvd->m_GuijiColor.setNamedColor(value.toString());
}
}
// 靶心半径线型
if (lineObjInfo.contains("BxbjWidth")) // 靶心半径线型-线宽
{
QJsonValue value = lineObjInfo.value("BxbjWidth");
if (value.isDouble()) {
drawTvd->m_BxbjWidth = value.toInt();
}
}
if (lineObjInfo.contains("BxbjColor")) // 靶心半径线型-颜色
{
QJsonValue value = lineObjInfo.value("BxbjColor");
if (value.isString()) {
drawTvd->m_BxbjColor.setNamedColor(value.toString());
}
}
// 靶心连线线型
if (lineObjInfo.contains("BxlxWidth")) // 靶心连线线型-线宽
{
QJsonValue value = lineObjInfo.value("BxlxWidth");
if (value.isDouble()) {
drawTvd->m_BxlxWidth = value.toInt();
}
}
if (lineObjInfo.contains("BxlxColor")) // 靶心连线线型-颜色
{
QJsonValue value = lineObjInfo.value("BxlxColor");
if (value.isString()) {
drawTvd->m_BxlxColor.setNamedColor(value.toString());
}
}
// 字体
if (lineObjInfo.contains("HeadFont")) // 字体-道头字体
{
QJsonValue value = lineObjInfo.value("HeadFont");
if (value.isString()) {
drawTvd->objViewInfo->m_HeadFont.fromString(value.toString());
}
}
if (lineObjInfo.contains("HeadColor")) // 字体-道头颜色
{
QJsonValue value = lineObjInfo.value("HeadColor");
if (value.isString()) {
drawTvd->objViewInfo->m_HeadColor.setNamedColor(value.toString());
}
}
if (lineObjInfo.contains("TitleFont")) // 字体-标题字体
{
QJsonValue value = lineObjInfo.value("TitleFont");
if (value.isString()) {
drawTvd->objViewInfo->m_TitleFont.fromString(value.toString());
}
}
if (lineObjInfo.contains("TitleColor")) // 字体-标题颜色
{
QJsonValue value = lineObjInfo.value("TitleColor");
if (value.isString()) {
drawTvd->objViewInfo->m_TitleColor.setNamedColor(value.toString());
}
}
if (lineObjInfo.contains("TableFont")) // 字体-数据表字体
{
QJsonValue value = lineObjInfo.value("TableFont");
if (value.isString()) {
drawTvd->objViewInfo->m_TableFont.fromString(value.toString());
}
}
if (lineObjInfo.contains("TableColor")) // 字体-数据表颜色
{
QJsonValue value = lineObjInfo.value("TableColor");
if (value.isString()) {
drawTvd->objViewInfo->m_TableColor.setNamedColor(value.toString());
}
}
if (lineObjInfo.contains("ScaleFont")) // 字体-刻度字体
{
QJsonValue value = lineObjInfo.value("ScaleFont");
if (value.isString()) {
drawTvd->objViewInfo->m_ScaleFont.fromString(value.toString());
}
}
if (lineObjInfo.contains("ScaleColor")) // 字体-刻度颜色
{
QJsonValue value = lineObjInfo.value("ScaleColor");
if (value.isString()) {
drawTvd->objViewInfo->m_ScaleColor.setNamedColor(value.toString());
}
}
if (lineObjInfo.contains("NoteFont")) // 字体-注释字体
{
QJsonValue value = lineObjInfo.value("NoteFont");
if (value.isString()) {
drawTvd->objViewInfo->m_NoteFont.fromString(value.toString());
}
}
if (lineObjInfo.contains("NoteColor")) // 字体-注释颜色
{
QJsonValue value = lineObjInfo.value("NoteColor");
if (value.isString()) {
drawTvd->objViewInfo->m_NoteColor.setNamedColor(value.toString());
}
}
// 井斜数据表参数
if (lineObjInfo.contains("Title_table")) // 井斜数据表参数-标题名
{
QJsonValue value = lineObjInfo.value("Title_table");
if (value.isString()) {
drawTvd->m_Title_table = value.toString();
}
}
if (lineObjInfo.contains("Head_Height")) // 井斜数据表参数-头记录高度(cm)
{
QJsonValue value = lineObjInfo.value("Head_Height");
if (value.isDouble()) {
drawTvd->objViewInfo->m_Head_Height = value.toDouble();
}
}
if (lineObjInfo.contains("Rec_Height")) // 井斜数据表参数-数据记录高度(cm)
{
QJsonValue value = lineObjInfo.value("Rec_Height");
if (value.isDouble()) {
drawTvd->objViewInfo->m_Rec_Height = value.toDouble();
}
}
// 俯视图参数
if (lineObjInfo.contains("Title_fst")) // 俯视图参数-标题名
{
QJsonValue value = lineObjInfo.value("Title_fst");
if (value.isString()) {
drawTvd->objViewInfo->m_Title_fst = value.toString();
}
}
if (lineObjInfo.contains("MinXe")) // 俯视图参数-东西位移最小刻度
{
QJsonValue value = lineObjInfo.value("MinXe");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinXe = value.toDouble();
}
}
if (lineObjInfo.contains("MaxXe")) // 俯视图参数-东西位移最大刻度
{
QJsonValue value = lineObjInfo.value("MaxXe");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxXe = value.toDouble();
}
}
if (lineObjInfo.contains("MinYn")) // 俯视图参数-南北位移最小刻度
{
QJsonValue value = lineObjInfo.value("MinYn");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinYn = value.toDouble();
}
}
if (lineObjInfo.contains("MaxYn")) // 俯视图参数-南北位移最大刻度
{
QJsonValue value = lineObjInfo.value("MaxYn");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxYn = value.toDouble();
}
}
if (lineObjInfo.contains("bPlotBhx")) // 俯视图参数-是否绘制闭合线
{
QJsonValue value = lineObjInfo.value("bPlotBhx");
if (value.isBool()) {
drawTvd->objViewInfo->m_bPlotBhx = value.toBool();
}
}
// 侧视图参数
if (lineObjInfo.contains("Title_cst")) // 侧视图参数-标题名
{
QJsonValue value = lineObjInfo.value("Title_cst");
if (value.isString()) {
drawTvd->objViewInfo->m_Title_cst = value.toString();
}
}
if (lineObjInfo.contains("heqw")) // 侧视图参数-高宽相同
{
QJsonValue value = lineObjInfo.value("heqw");
if (value.isBool()) {
drawTvd->objViewInfo->m_heqw = value.toBool();
}
}
// 侧视图(水平位移)
if (lineObjInfo.contains("MaxWy_HOFF")) // 侧视图(水平位移)-最大侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MaxWy_HOFF");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxWy_HOFF = value.toDouble();
}
}
if (lineObjInfo.contains("MinWy_HOFF")) // 侧视图(水平位移)-最小侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MinWy_HOFF");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinWy_HOFF = value.toDouble();
}
}
if (lineObjInfo.contains("MaxTVD_HOFF")) // 侧视图(水平位移)-最大垂深(m)
{
QJsonValue value = lineObjInfo.value("MaxTVD_HOFF");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxTVD_HOFF = value.toDouble();
}
}
if (lineObjInfo.contains("MinTVD_HOFF")) // 侧视图(水平位移)-最小垂深(m)
{
QJsonValue value = lineObjInfo.value("MinTVD_HOFF");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinTVD_HOFF = value.toDouble();
}
}
// 侧视图(向东)
if (lineObjInfo.contains("MaxWy_XE")) // 侧视图(向东)-最大侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MaxWy_XE");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxWy_XE = value.toDouble();
}
}
if (lineObjInfo.contains("MinWy_XE")) // 侧视图(向东)-最小侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MinWy_XE");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinWy_XE = value.toDouble();
}
}
if (lineObjInfo.contains("MaxTVD_XE")) // 侧视图(向东)-最大垂深(m)
{
QJsonValue value = lineObjInfo.value("MaxTVD_XE");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxTVD_XE = value.toDouble();
}
}
if (lineObjInfo.contains("MinTVD_XE")) // 侧视图(向东)-最小垂深(m)
{
QJsonValue value = lineObjInfo.value("MinTVD_XE");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinTVD_XE = value.toDouble();
}
}
// 侧视图(向北)
if (lineObjInfo.contains("MaxWy_YN")) // 侧视图(向北)-最大侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MaxWy_YN");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxWy_YN = value.toDouble();
}
}
if (lineObjInfo.contains("MinWy_YN")) // 侧视图(向北)-最小侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MinWy_YN");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinWy_YN = value.toDouble();
}
}
if (lineObjInfo.contains("MaxTVD_YN")) // 侧视图(向北)-最大垂深(m)
{
QJsonValue value = lineObjInfo.value("MaxTVD_YN");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxTVD_YN = value.toDouble();
}
}
if (lineObjInfo.contains("MinTVD_YN")) // 侧视图(向北)-最小垂深(m)
{
QJsonValue value = lineObjInfo.value("MinTVD_YN");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinTVD_YN = value.toDouble();
}
}
// 侧视图(侧视角)
if (lineObjInfo.contains("MaxWy")) // 侧视图(侧视角)-最大侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MaxWy");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxWy = value.toDouble();
}
}
if (lineObjInfo.contains("MinWy")) // 侧视图(侧视角)-最小侧视位移(m)
{
QJsonValue value = lineObjInfo.value("MinWy");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinWy = value.toDouble();
}
}
if (lineObjInfo.contains("MaxTVD")) // 侧视图(侧视角)-最大垂深(m)
{
QJsonValue value = lineObjInfo.value("MaxTVD");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxTVD = value.toDouble();
}
}
if (lineObjInfo.contains("MinTVD")) // 侧视图(侧视角)-最小垂深(m)
{
QJsonValue value = lineObjInfo.value("MinTVD");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MinTVD = value.toDouble();
}
}
if (lineObjInfo.contains("DepSpace")) // 侧视图(侧视角)-深度间隔(m)
{
QJsonValue value = lineObjInfo.value("DepSpace");
if (value.isDouble()) {
drawTvd->objViewInfo->m_DepSpace = value.toDouble();
}
}
if (lineObjInfo.contains("DepSpaceN")) // 侧视图(侧视角)-等分个数(=0按深度间隔)
{
QJsonValue value = lineObjInfo.value("DepSpaceN");
if (value.isDouble()) {
drawTvd->objViewInfo->m_DepSpaceN = value.toDouble();
}
}
if (lineObjInfo.contains("CsAngle")) // 侧视图(侧视角)-侧视角(度)
{
QJsonValue value = lineObjInfo.value("CsAngle");
if (value.isDouble()) {
drawTvd->objViewInfo->m_CsAngle = value.toDouble();
}
}
// 立体轨迹图参数
if (lineObjInfo.contains("Title_ltgj")) // 立体轨迹图参数-标题名
{
QJsonValue value = lineObjInfo.value("Title_ltgj");
if (value.isString()) {
drawTvd->m_Title_ltgj = value.toString();
}
}
if (lineObjInfo.contains("MaxWy1")) // 立体轨迹图参数-最大位移(m)
{
QJsonValue value = lineObjInfo.value("MaxWy1");
if (value.isDouble()) {
drawTvd->objViewInfo->m_MaxWy1 = value.toDouble();
}
}
if (lineObjInfo.contains("LTTTVD")) // 立体轨迹图参数-起始垂深(m)
{
QJsonValue value = lineObjInfo.value("LTTTVD");
if (value.isDouble()) {
drawTvd->objViewInfo->m_LTTTVD = value.toDouble();
}
}
if (lineObjInfo.contains("DepSpace1")) // 立体轨迹图参数-垂深间隔(m)
{
QJsonValue value = lineObjInfo.value("DepSpace1");
if (value.isDouble()) {
drawTvd->objViewInfo->m_DepSpace1 = value.toDouble();
}
}
if (lineObjInfo.contains("is3DFrame")) // 立体轨迹图参数-是否绘制立体框
{
QJsonValue value = lineObjInfo.value("is3DFrame");
if (value.isBool()) {
drawTvd->objViewInfo->m_is3DFrame = value.toBool();
}
}
if (lineObjInfo.contains("LttAngle_X")) // 立体轨迹图参数-俯视角(度)
{
QJsonValue value = lineObjInfo.value("LttAngle_X");
if (value.isDouble()) {
drawTvd->objViewInfo->m_LttAngle_X = value.toDouble();
}
}
if (lineObjInfo.contains("LttAngle")) // 立体轨迹图参数-侧视角(度)
{
QJsonValue value = lineObjInfo.value("LttAngle");
if (value.isDouble()) {
drawTvd->objViewInfo->m_LttAngle = value.toDouble();
}
}
if (lineObjInfo.contains("LttAngle_Z")) // 立体轨迹图参数-倾斜角(度)
{
QJsonValue value = lineObjInfo.value("LttAngle_Z");
if (value.isDouble()) {
drawTvd->objViewInfo->m_LttAngle_Z = value.toDouble();
}
}
if (lineObjInfo.contains("LTTTVD")) // 立体轨迹图参数-竖线间隔
{
QJsonValue value = lineObjInfo.value("LTTTVD");
if (value.isDouble()) {
drawTvd->objViewInfo->m_LTTTVD = value.toDouble();
}
}
if (lineObjInfo.contains("YD")) // 立体轨迹图参数-俯视南北间隔数
{
QJsonValue value = lineObjInfo.value("YD");
if (value.isDouble()) {
drawTvd->objViewInfo->m_YD = value.toDouble();
}
}
if (lineObjInfo.contains("XD")) // 立体轨迹图参数-俯视东西间隔数
{
QJsonValue value = lineObjInfo.value("XD");
if (value.isDouble()) {
drawTvd->objViewInfo->m_XD = value.toDouble();
}
}
if (lineObjInfo.contains("IsDrawProperty")) // 立体轨迹图参数-附加属性类型
{
QJsonValue value = lineObjInfo.value("IsDrawProperty");
if (value.isDouble()) {
drawTvd->objViewInfo->m_IsDrawProperty = value.toInt();
}
}
if (lineObjInfo.contains("CurveName1")) // 立体轨迹图参数-选择井曲线1
{
QJsonValue value = lineObjInfo.value("CurveName1");
if (value.isString()) {
drawTvd->objViewInfo->m_CurveName1 = value.toString();
}
}
if (lineObjInfo.contains("CurveName2")) // 立体轨迹图参数-选择井曲线2
{
QJsonValue value = lineObjInfo.value("CurveName2");
if (value.isString()) {
drawTvd->objViewInfo->m_CurveName2 = value.toString();
}
}
if (lineObjInfo.contains("ColorTableIndex")) // 立体轨迹图参数-调色板参数设置
{
QJsonValue value = lineObjInfo.value("ColorTableIndex");
if (value.isDouble()) {
drawTvd->objViewInfo->m_ColorTableIndex = value.toInt();
}
}
if (lineObjInfo.contains("calscale")) // 立体轨迹图参数-直径放大系数
{
QJsonValue value = lineObjInfo.value("calscale");
if (value.isDouble()) {
drawTvd->objViewInfo->m_calscale = value.toDouble();
}
}
if (lineObjInfo.contains("baseval")) // 立体轨迹图参数-波形基值
{
QJsonValue value = lineObjInfo.value("baseval");
if (value.isDouble()) {
drawTvd->objViewInfo->m_baseval = value.toDouble();
}
}
if (lineObjInfo.contains("maxval")) // 立体轨迹图参数-波形最大值
{
QJsonValue value = lineObjInfo.value("maxval");
if (value.isDouble()) {
drawTvd->objViewInfo->m_maxval = value.toDouble();
}
}
if (lineObjInfo.contains("isBlock")) // 立体轨迹图参数-连续填充
{
QJsonValue value = lineObjInfo.value("isBlock");
if (value.isBool()) {
drawTvd->objViewInfo->m_isBlock = value.toBool();
}
}
// 立体闭合方位线型
// rootObj["linewidth"] = m_pTvd->objViewInfo->m_linewidth; // 立体闭合方位线型-线宽
// rootObj["linecolor"] = m_pTvd->objViewInfo->m_linecolor; // 立体闭合方位线型-颜色
// 立体轨迹图参数
if (lineObjInfo.contains("Rlev")) // 侧视图(侧视角)-最小深度间隔(m)
{
QJsonValue value = lineObjInfo.value("Rlev");
if (value.isDouble()) {
drawTvd->objViewInfo->m_Rlev = value.toDouble();
}
}
// 立体井径线型
// rootObj["linewidth"] = m_pTvd->objViewInfo->m_linewidth; // 立体井径线型-线宽
// rootObj["linecolor"] = m_pTvd->objViewInfo->m_linecolor; // 立体井径线型-颜色
}
void FormDraw::DisplayLine_One(QJsonObject lineObjInfo)
{
QString strSlfName = "";
@ -2608,7 +3302,7 @@ void FormDraw::s_addDrawImage(QString strUuid, QString strSlfName, QString strWe
}
//斜井三图一表
void FormDraw::s_addSantuyibiao(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW)
FormLine* FormDraw::s_addSantuyibiao(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW)
{
//井名&道名不一致
if(strUuid == m_strUuid && m_strWellName == strWellName && m_strTrackName == strTrackName)
@ -2616,13 +3310,13 @@ void FormDraw::s_addSantuyibiao(QString strUuid, QString strSlfName, QString str
}
else
{
return;
return NULL;
}
if(m_listTableName.contains(strLineName))
{
qDebug() << "FormDraw strLineName already exist! " << strLineName;
return;
return NULL;
}
//
FormLine *curv = new FormLine(this, strSlfName, strWellName, strTrackName, strLineName);
@ -2663,8 +3357,10 @@ void FormDraw::s_addSantuyibiao(QString strUuid, QString strSlfName, QString str
double width=2;
QString strScaleType = "";
//道-对象
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strWaveName, strAliasName, strUnit, newlineColor, width, _nSamples, 0, strScaleType, "SantuyibiaoObject");
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, _nSamples, 0, strScaleType, "SantuyibiaoObject");
emit CallManage::getInstance()->sig_ChangeTvdProperty(m_strUuid, m_strSlfName, m_strWellName, m_strTrackName, "Santuyibiao",
(QObject *)(curv->m_drawTvd));
return curv;
}
//裂痕

View File

@ -9,6 +9,7 @@
#include "formtrack.h"
#include "LogIO.h"
#include "MemRdWt.h"
#include "FormLine.h"
#pragma execution_character_set("utf-8")
@ -72,6 +73,11 @@ public:
//套管組件
void DisplayTubing_One(QJsonObject lineObjInfo);
//斜井三图一表
void DisplayTvd_One(QJsonObject lineObjInfo);
//获取斜井三图一表属性
void GetTvdProperty(CDrawTvd *drawTvd, QJsonObject lineObjInfo);
// 跨道设置
void crossTrackSetting();
@ -252,7 +258,7 @@ public slots:
//图像 成像
void s_addDrawImage(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW);
//斜井三图一表
void s_addSantuyibiao(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW);
FormLine* s_addSantuyibiao(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW);
//裂缝
void s_addCrack(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW);

View File

@ -20,6 +20,7 @@ FormInfo::FormInfo(QWidget *parent, QString strSlfName, QString strWellName, QSt
//
setAcceptDrops(true);
m_pTvd = NULL;
m_strSlfName = strSlfName;
m_strWellName = strWellName;
m_strTrackName = strTrackName;
@ -64,8 +65,8 @@ FormInfo::FormInfo(QWidget *parent, QString strSlfName, QString strWellName, QSt
connect(CallManage::getInstance(), SIGNAL(sig_ChangeDrawSymmetry(QString, QString, QString, QString, QString, bool)), this, SLOT(s_ChangeDrawSymmetry(QString, QString, QString, QString, QString, bool)));
//斜井三图一表
connect(CallManage::getInstance(), SIGNAL(sig_ChangeTvdProperty(QString, QString, QString, QString, QString, QString, QString, QVariant)),
this, SLOT(s_ChangeTvdProperty(QString, QString, QString, QString, QString, QString, QString, QVariant)));
connect(CallManage::getInstance(), SIGNAL(sig_ChangeTvdProperty(QString, QString, QString, QString, QString, QObject *)),
this, SLOT(s_ChangeTvdProperty(QString, QString, QString, QString, QString, QObject *)));
//岩性填充-不填充
connect(CallManage::getInstance(), SIGNAL(sig_ClearFillMode(QString, QString, QString, QString, QString)), this, SLOT(s_ClearFillMode(QString, QString, QString, QString, QString)));
@ -249,10 +250,135 @@ QJsonObject FormInfo::makeJson()
rootObj["SchemeIndex"] = m_nSchemeIndex;
rootObj["ColorNum"] = m_nColorNum;
}
else if(m_strType == "SantuyibiaoObject")
{
makeTvdJson(rootObj);
}
return rootObj;
}
void FormInfo::makeTvdJson(QJsonObject& rootObj)
{
if(!m_pTvd)
{
return;
}
rootObj["AliasWellName"] = m_pTvd->m_AliasWellName;;// 通常-显示井名
// 绘制图形对象
rootObj["IsDrawBX"] = m_pTvd->objViewInfo->m_IsDrawBX; // 绘制图形对象-靶心
rootObj["IsDrawBxcs"] = m_pTvd->objViewInfo->m_IsDrawBxcs; // 绘制图形对象-靶心参数表
rootObj["IsDrawTable"] = m_pTvd->objViewInfo->m_IsDrawTable; // 绘制图形对象-井斜数据表
rootObj["IsDrawFst"] = m_pTvd->objViewInfo->m_IsDrawFst; // 绘制图形对象-俯视图
rootObj["DepthLeft"] = m_pTvd->objViewInfo->m_DepthLeft; // 绘制图形对象-侧视图深度在左边
rootObj["IsDrawCst1"] = m_pTvd->objViewInfo->m_IsDrawCst1; // 绘制图形对象-侧视图(水平位移)
rootObj["IsDrawCst2"] = m_pTvd->objViewInfo->m_IsDrawCst2; // 绘制图形对象-侧视图(向东)
rootObj["IsDrawCst3"] = m_pTvd->objViewInfo->m_IsDrawCst3; // 绘制图形对象-侧视图(向北)
rootObj["IsDrawCst"] = m_pTvd->objViewInfo->m_IsDrawCst; // 绘制图形对象-侧视图(侧视角)
rootObj["IsDrawLtgjt"] = m_pTvd->objViewInfo->m_IsDrawLtgjt; // 绘制图形对象-立体轨迹图
rootObj["isDrawNote"] = m_pTvd->objViewInfo->m_isDrawNote; // 绘制图形对象-绘制标注信息
// 边框线型
rootObj["FrameWidth"] = m_pTvd->m_FrameWidth; // 边框线型-线宽
rootObj["FrameColor"] = m_pTvd->m_FrameColor.name(); // 边框线型-颜色
// 格线线型
rootObj["GridWidth"] = m_pTvd->m_GridWidth; // 格线线型-线宽
rootObj["GridColor"] = m_pTvd->m_GridColor.name();// 格线线型-颜色
// 轨迹线型
rootObj["GuijiWidth"] = m_pTvd->m_GuijiWidth;// 轨迹线型-线宽
rootObj["GuijiColor"] = m_pTvd->m_GuijiColor.name();// 轨迹线型-颜色
// 靶心半径线型
rootObj["BxbjWidth"] = m_pTvd->m_BxbjWidth; // 靶心半径线型-线宽
rootObj["BxbjColor"] = m_pTvd->m_BxbjColor.name(); // 靶心半径线型-颜色
// 靶心连线线型
rootObj["BxlxWidth"] = m_pTvd->m_BxlxWidth; // 靶心连线线型-线宽
rootObj["BxlxColor"] = m_pTvd->m_BxlxColor.name(); // 靶心连线线型-颜色
// 字体
rootObj["HeadFont"] = m_pTvd->objViewInfo->m_HeadFont.toString(); // 字体-道头字体
rootObj["HeadColor"] = m_pTvd->objViewInfo->m_HeadColor.name(); // 字体-道头颜色
rootObj["TitleFont"] = m_pTvd->objViewInfo->m_TitleFont.toString(); // 字体-标题字体
rootObj["TitleColor"] = m_pTvd->objViewInfo->m_TitleColor.name(); // 字体-标题颜色
rootObj["TableFont"] = m_pTvd->objViewInfo->m_TableFont.toString(); // 字体-数据表字体
rootObj["TableColor"] = m_pTvd->objViewInfo->m_TableColor.name(); // 字体-数据表颜色
rootObj["ScaleFont"] = m_pTvd->objViewInfo->m_ScaleFont.toString(); // 字体-刻度字体
rootObj["ScaleColor"] = m_pTvd->objViewInfo->m_ScaleColor.name(); // 字体-刻度颜色
rootObj["NoteFont"] = m_pTvd->objViewInfo->m_NoteFont.toString(); // 字体-注释字体
rootObj["NoteColor"] = m_pTvd->objViewInfo->m_NoteColor.name(); // 字体-注释颜色
// 井斜数据表参数
rootObj["Title_table"] = m_pTvd->m_Title_table;// 井斜数据表参数-标题名
rootObj["Head_Height"] = m_pTvd->objViewInfo->m_Head_Height;// 井斜数据表参数-头记录高度(cm)
rootObj["Rec_Height"] = m_pTvd->objViewInfo->m_Rec_Height;// 井斜数据表参数-数据记录高度(cm)
// 俯视图参数
rootObj["Title_fst"] = m_pTvd->objViewInfo->m_Title_fst;// 俯视图参数-标题名
rootObj["MinXe"] = m_pTvd->objViewInfo->m_MinXe; // 俯视图参数-东西位移最小刻度
rootObj["MaxXe"] = m_pTvd->objViewInfo->m_MaxXe; // 俯视图参数-东西位移最大刻度
rootObj["MinYn"] = m_pTvd->objViewInfo->m_MinYn; // 俯视图参数-南北位移最小刻度
rootObj["MaxYn"] = m_pTvd->objViewInfo->m_MaxYn; // 俯视图参数-南北位移最大刻度
rootObj["bPlotBhx"] = m_pTvd->objViewInfo->m_bPlotBhx; // 俯视图参数-是否绘制闭合线
// 侧视图参数
rootObj["Title_cst"] = m_pTvd->objViewInfo->m_Title_cst; // 侧视图参数-标题名
rootObj["heqw"] = m_pTvd->objViewInfo->m_heqw; // 侧视图参数-高宽相同
// 侧视图(水平位移)
rootObj["MaxWy_HOFF"] = m_pTvd->objViewInfo->m_MaxWy_HOFF; // 侧视图(水平位移)-最大侧视位移(m)
rootObj["MinWy_HOFF"] = m_pTvd->objViewInfo->m_MinWy_HOFF; // 侧视图(水平位移)-最小侧视位移(m)
rootObj["MaxTVD_HOFF"] = m_pTvd->objViewInfo->m_MaxTVD_HOFF;// 侧视图(水平位移)-最大垂深(m)
rootObj["MinTVD_HOFF"] = m_pTvd->objViewInfo->m_MinTVD_HOFF;// 侧视图(水平位移)-最小垂深(m)
// 侧视图(向东)
rootObj["MaxWy_XE"] = m_pTvd->objViewInfo->m_MaxWy_XE; // 侧视图(向东)-最大侧视位移(m)
rootObj["MinWy_XE"] = m_pTvd->objViewInfo->m_MinWy_XE; // 侧视图(向东)-最小侧视位移(m)
rootObj["MaxTVD_XE"] = m_pTvd->objViewInfo->m_MaxTVD_XE; // 侧视图(向东)-最大垂深(m)
rootObj["MinTVD_XE"] = m_pTvd->objViewInfo->m_MinTVD_XE; // 侧视图(向东)-最小垂深(m)
// 侧视图(向北)
rootObj["MaxWy_YN"] = m_pTvd->objViewInfo->m_MaxWy_YN; // 侧视图(向北)-最大侧视位移(m)
rootObj["MinWy_YN"] = m_pTvd->objViewInfo->m_MinWy_YN; // 侧视图(向北)-最小侧视位移(m)
rootObj["MaxTVD_YN"] = m_pTvd->objViewInfo->m_MaxTVD_YN; // 侧视图(向北)-最大垂深(m)
rootObj["MinTVD_YN"] = m_pTvd->objViewInfo->m_MinTVD_YN; // 侧视图(向北)-最小垂深(m)
// 侧视图(侧视角)
rootObj["MaxWy"] = m_pTvd->objViewInfo->m_MaxWy; // 侧视图(侧视角)-最大侧视位移(m)
rootObj["MinWy"] = m_pTvd->objViewInfo->m_MinWy; // 侧视图(侧视角)-最小侧视位移(m)
rootObj["MaxTVD"] = m_pTvd->objViewInfo->m_MaxTVD; // 侧视图(侧视角)-最大垂深(m)
rootObj["MinTVD"] = m_pTvd->objViewInfo->m_MinTVD; // 侧视图(侧视角)-最小垂深(m)
rootObj["DepSpace"] = m_pTvd->objViewInfo->m_DepSpace; // 侧视图(侧视角)-深度间隔(m)
rootObj["DepSpaceN"] = m_pTvd->objViewInfo->m_DepSpaceN; // 侧视图(侧视角)-等分个数(=0按深度间隔)
rootObj["CsAngle"] = m_pTvd->objViewInfo->m_CsAngle; // 侧视图(侧视角)-侧视角(度)
// 立体轨迹图参数
rootObj["Title_ltgj"] = m_pTvd->m_Title_ltgj; // 立体轨迹图参数-标题名
rootObj["MaxWy1"] = m_pTvd->objViewInfo->m_MaxWy1; // 立体轨迹图参数-最大位移(m)
rootObj["LTTTVD"] = m_pTvd->objViewInfo->m_LTTTVD; // 立体轨迹图参数-起始垂深(m)
rootObj["DepSpace1"] = m_pTvd->objViewInfo->m_DepSpace1; // 立体轨迹图参数-垂深间隔(m)
rootObj["is3DFrame"] = m_pTvd->objViewInfo->m_is3DFrame; // 立体轨迹图参数-是否绘制立体框
rootObj["LttAngle_X"] = m_pTvd->objViewInfo->m_LttAngle_X; // 立体轨迹图参数-俯视角(度)
rootObj["LttAngle"] = m_pTvd->objViewInfo->m_LttAngle; // 立体轨迹图参数-侧视角(度)
rootObj["LttAngle_Z"] = m_pTvd->objViewInfo->m_LttAngle_Z; // 立体轨迹图参数-倾斜角(度)
rootObj["LTTTVD"] = m_pTvd->objViewInfo->m_LTTTVD; // 立体轨迹图参数-竖线间隔
rootObj["YD"] = m_pTvd->objViewInfo->m_YD; // 立体轨迹图参数-俯视南北间隔数
rootObj["XD"] = m_pTvd->objViewInfo->m_XD; // 立体轨迹图参数-俯视东西间隔数
rootObj["IsDrawProperty"] = m_pTvd->objViewInfo->m_IsDrawProperty; // 立体轨迹图参数-附加属性类型
rootObj["CurveName1"] = m_pTvd->objViewInfo->m_CurveName1; // 立体轨迹图参数-选择井曲线1
rootObj["CurveName2"] = m_pTvd->objViewInfo->m_CurveName2; // 立体轨迹图参数-选择井曲线2
rootObj["ColorTableIndex"] = m_pTvd->objViewInfo->m_ColorTableIndex; // 立体轨迹图参数-调色板参数设置
rootObj["calscale"] = m_pTvd->objViewInfo->m_calscale; // 立体轨迹图参数-直径放大系数
rootObj["baseval"] = m_pTvd->objViewInfo->m_baseval; // 立体轨迹图参数-波形基值
rootObj["maxval"] = m_pTvd->objViewInfo->m_maxval; // 立体轨迹图参数-波形最大值
rootObj["isBlock"] = m_pTvd->objViewInfo->m_isBlock; // 立体轨迹图参数-连续填充
// 立体闭合方位线型
// rootObj["linewidth"] = m_pTvd->objViewInfo->m_linewidth; // 立体闭合方位线型-线宽
// rootObj["linecolor"] = m_pTvd->objViewInfo->m_linecolor; // 立体闭合方位线型-颜色
// 立体轨迹图参数
rootObj["Rlev"] = m_pTvd->objViewInfo->m_Rlev; // 立体轨迹图参数-最小深度间隔(m)
// 立体井径线型
// rootObj["linewidth"] = m_pTvd->objViewInfo->m_linewidth; // 立体井径线型-线宽
// rootObj["linecolor"] = m_pTvd->objViewInfo->m_linecolor; // 立体井径线型-颜色
}
void FormInfo::paintEvent(QPaintEvent* event)
{
QPainter painter(this);
@ -981,62 +1107,19 @@ void FormInfo::s_ChangeDrawSymmetry(QString strUuid, QString strSlfName, QString
}
void FormInfo::s_ChangeTvdProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QString strGroup, QString strProperty, QVariant variant)
QObject *pTvd)
{
if("井斜数据表参数" == strGroup)
if(m_strUuid == strUuid &&
m_strSlfName == strSlfName &&
m_strWellName == strWellName &&
m_strTrackName == strTrackName &&
m_strLineName == strLineName)
{
if("标题名" == strProperty)
m_Title_table = variant.value<QString>();
else if("头记录高度(cm)" == strProperty)
m_Head_Height = variant.value<double>();
else if("数据记录高度(cm)" == strProperty)
m_Rec_Height = variant.value<double>();
}
else if("立体轨迹图参数" == strGroup)
{
if("标题名" == strProperty)
m_Title_ltgj = variant.value<QString>();
else if("最大位移(m)" == strProperty)
m_MaxWy1 = variant.value<double>();
else if("起始垂深(m)" == strProperty)
m_LTTTVD = variant.value<double>();
else if("垂深间隔(m)" == strProperty)
m_DepSpace1 = variant.value<double>();
else if("是否绘制立体框" == strProperty)
m_is3DFrame = variant.value<bool>();
else if("俯视角(度)" == strProperty)
m_LttAngle_X = variant.value<double>();
else if("侧视角(度)" == strProperty)
m_LttAngle = variant.value<double>();
else if("倾斜角(度)" == strProperty)
m_LttAngle_Z = variant.value<double>();
else if("竖线间隔" == strProperty)
m_LTTTVD = variant.value<double>();
else if("俯视南北间隔数" == strProperty)
m_YD = variant.value<double>();
else if("俯视东西间隔数" == strProperty)
m_XD = variant.value<double>();
else if("附加属性类型" == strProperty)
m_IsDrawProperty = variant.value<int>();
else if("选择井曲线1" == strProperty)
m_CurveName1 = variant.value<QString>();
else if("选择井曲线2" == strProperty)
m_CurveName2 = variant.value<QString>();
else if("调色板参数设置" == strProperty)
m_ColorTableIndex = variant.value<int>();
else if("直径放大系数" == strProperty)
m_calscale = variant.value<double>();
else if("波形基值" == strProperty)
m_baseval = variant.value<double>();
else if("波形最大值" == strProperty)
m_maxval = variant.value<double>();
else if("连续填充" == strProperty)
m_isBlock = variant.value<bool>();
}
else if("立体轨迹图参数" == strGroup)
{
if("最小深度间隔(m)" == strProperty)
m_Rlev = variant.value<bool>();
m_pTvd = dynamic_cast<CDrawTvd*>(pTvd);
if (m_pTvd)
{
m_pTvd->m_AliasWellName = m_strWellName;
}
}
}

View File

@ -8,6 +8,7 @@
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include "DrawTvd.h"
#pragma execution_character_set("utf-8")
@ -58,10 +59,9 @@ public slots:
void s_ChangeDrawPoint(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, bool bDrawPoint);
//绘制对称曲线
void s_ChangeDrawSymmetry(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, bool bDrawSymmetry);
//斜井三图一表
void s_ChangeTvdProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QString strGroup, QString strProperty, QVariant variant);
QObject *pTvd);
//岩性填充-不填充
void s_ClearFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName);
@ -192,35 +192,8 @@ public:
float m_inD_Tubing = 121.36; //套管内径
float m_OutD_Tubing = 139.7; //套管外径
//tvd
//斜井三图一表(井斜数据表参数)
QString m_Title_table;
float m_Head_Height;
float m_Rec_Height;
//斜井三图一表(立体轨迹图参数)
QString m_Title_ltgj;
double m_MaxWy1;
double m_LTTTVD;
double m_DepSpace1;
double m_LttAngle;
double m_LttAngle_X;
double m_LttAngle_Z;
bool m_is3DFrame;
double m_LttxDela;
double m_XD;
double m_YD;
int m_IsDrawProperty;
QString m_CurveName1;
QString m_CurveName2;
int m_ColorTableIndex;
double m_calscale;
double m_baseval;
double m_maxval;
double m_Rlev;
bool m_isBlock;
//tvd
CDrawTvd *m_pTvd;
// 深度
// ---------------- 基础配置 ----------------
@ -265,6 +238,7 @@ public:
int getFillTypeIndex();
QJsonObject makeJson();
void makeTvdJson(QJsonObject& rootObj);
//右键菜单响应函数
virtual void contextMenuEvent(QContextMenuEvent *event);

View File

@ -16,7 +16,8 @@ FormLine::FormLine(QWidget *parent, QString strSlfName, QString strWellName, QSt
m_strTrackName = strTrackName;
m_strLineName = strLineName;
m_drawTvd = NULL;
m_drawTvd = new CDrawTvd();
m_parent = parent;
//斜井三图一表
connect(CallManage::getInstance(), SIGNAL(sig_ChangeTvdProperty(QString, QString, QString, QString, QString, QString, QString, QVariant)),
this, SLOT(s_ChangeTvdProperty(QString, QString, QString, QString, QString, QString, QString, QVariant)));
@ -45,6 +46,7 @@ void FormLine::paintEvent(QPaintEvent*)
//
QPainter painter(this);
QRect rect = this->rect();
// QRect rect = m_parent->rect();
//背景透明
painter.fillRect(rect.left(), rect.top(), rect.width(), rect.height(), QColor(0, 0, 0, 0)); //QColor(67, 67, 67, 100)
@ -75,6 +77,14 @@ void FormLine::paintEvent(QPaintEvent*)
void FormLine::s_ChangeTvdProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QString strGroup, QString strProperty, QVariant variant)
{
if(m_strUuid != strUuid ||
m_strSlfName != strSlfName ||
m_strWellName != strWellName ||
m_strTrackName != strTrackName ||
m_strLineName != strLineName)
{
return;
}
if("通常" == strGroup)
{
// if("选择井斜数据" == strProperty)
@ -192,7 +202,7 @@ void FormLine::s_ChangeTvdProperty(QString strUuid, QString strSlfName, QString
else if("立体轨迹图参数" == strGroup)
{
if("标题名" == strProperty)
m_drawTvd->objViewInfo->m_Title_ltgj = variant.value<QString>();
m_drawTvd->m_Title_ltgj = variant.value<QString>();
else if("最大位移(m)" == strProperty)
m_drawTvd->objViewInfo->m_MaxWy1 = variant.value<double>();
else if("起始垂深(m)" == strProperty)

View File

@ -30,6 +30,7 @@ public:
QString m_strTrackName;
QString m_strLineName;
CDrawTvd *m_drawTvd;
QWidget *m_parent;
public:
void DrawTvd();