From 137a2e15c350d1eb0c54fe0d4bd782b5932b3228 Mon Sep 17 00:00:00 2001 From: jiayulong Date: Thu, 23 Apr 2026 11:57:08 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BA=95=E6=96=9C=E6=96=B9=E4=BD=8D=E5=9B=BE?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E5=B1=9E=E6=80=A7=202.=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=BB=8Ejson=E5=8A=A0=E8=BD=BD=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CallManage/CallManage.h | 3 + logPlus/PropertyWidget.cpp | 122 +++++++++++++++++++- logPlus/PropertyWidget.h | 5 + logPlus/formdraw.cpp | 222 +++++++++++++++--------------------- logPlus/formdraw.h | 7 +- logPlus/forminfo.cpp | 92 +++++++++++++-- logPlus/forminfo.h | 8 +- logPlus/formtrack.cpp | 207 ++------------------------------- logPlus/formtrack.h | 9 +- logPlus/mainwindowcurve.cpp | 53 ++------- logPlus/qmycustomplot.cpp | 122 ++++++++++++++++++++ logPlus/qmycustomplot.h | 12 +- 12 files changed, 466 insertions(+), 396 deletions(-) diff --git a/CallManage/CallManage.h b/CallManage/CallManage.h index ca5c73e..0a4bd07 100644 --- a/CallManage/CallManage.h +++ b/CallManage/CallManage.h @@ -272,6 +272,9 @@ signals: //改变井眼垮塌矢量图属性 void sig_changeJyktProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); + //改变井斜方位图属性 + void sig_changeDenvProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); + // //void sig_addImageToPlot(QMyCustomPlot* customPlot, double left_Low, double right_Hight, QString imagePath); diff --git a/logPlus/PropertyWidget.cpp b/logPlus/PropertyWidget.cpp index a126f75..dfd9840 100644 --- a/logPlus/PropertyWidget.cpp +++ b/logPlus/PropertyWidget.cpp @@ -2385,6 +2385,13 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant // changedJyktProperty(m_propertyData[pProperty], variant); } + else if (m_strCurrentProperty == Denv_Property)//井斜方位图 + { + //先处理通用属性 + CommonPropertyChanged(pProperty, variant); + // + changedDenvProperty(m_propertyData[pProperty], variant); + } } void PropertyWidget::SlotPropertyChanged(QtProperty *property, const int &val, bool islinestyle) @@ -3220,6 +3227,11 @@ void PropertyWidget::initProperty(FormInfo *formInfo) //井眼垮塌矢量图 this->initJyktProperty(formInfo); } + else if (m_strLineName == "XIEFANGWEI.LINE") + { + //井斜方位图 + this->initDenvProperty(formInfo); + } else { this->initTableProperty(formInfo); @@ -5582,12 +5594,12 @@ void PropertyWidget::initJyktProperty(FormInfo *formInfo) _CreateVariantPropertyItem("崩落设置", "显示单位", formInfo->m_strUnit, QVariant::String); // _CreateVariantPropertyItem("蝌蚪设置", "圆半径", formInfo->m_nRadius, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪设置", "圆填充色", formInfo->m_crPointFill, QVariant::Color); _CreateVariantPropertyItem("蝌蚪设置", "圆线宽度", formInfo->m_nCircleWidth, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪设置", "圆线颜色", formInfo->m_crCircle, QVariant::Color); _CreateVariantPropertyItem("蝌蚪设置", "尾线长度", formInfo->m_nTailLen, QVariant::Double); _CreateVariantPropertyItem("蝌蚪设置", "尾线宽度", formInfo->m_nTailWidth, QVariant::Double); - _CreateVariantPropertyItem("蝌蚪设置", "圆线颜色", formInfo->m_crCircle, QVariant::Color); _CreateVariantPropertyItem("蝌蚪设置", "尾线颜色", formInfo->m_crTail, QVariant::Color); - _CreateVariantPropertyItem("蝌蚪设置", "圆填充色", formInfo->m_crPointFill, QVariant::Color); m_strCurrentProperty = Jykt_Property; } @@ -5676,3 +5688,109 @@ void PropertyWidget::changedJyktProperty(QString strProperty, QVariant varVal) emit CallManage::getInstance()->sig_changeJyktProperty(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName); } } + + +void PropertyWidget::initDenvProperty(FormInfo *formInfo) +{ + _CreateVariantPropertyItem("曲线图名", "显示名称", formInfo->m_strAliasName, QVariant::String); + _CreateVariantPropertyItem("井文件名", "井文件名称", m_strSlfName, QVariant::String); + // + _CreateVariantPropertyItem("曲线选择", "方位曲线", formInfo->m_pl_azimuthCurve, QVariant::String); + _CreateVariantPropertyItem("曲线选择", "井斜曲线", formInfo->m_pl_deviCurve, QVariant::String); + // + _CreateVariantPropertyItem("曲线单位", "显示单位", formInfo->m_strUnit, QVariant::String); + // + _CreateVariantPropertyItem("蝌蚪符号", "左刻度", formInfo->m_vmin, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪符号", "右刻度", formInfo->m_vmax, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪符号", "深度间隔", formInfo->m_flStep, QVariant::Double); + // + _CreateVariantPropertyItem("蝌蚪符号", "圆半径", formInfo->m_nRadius, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪符号", "圆填充色", formInfo->m_crPointFill, QVariant::Color); + _CreateVariantPropertyItem("蝌蚪符号", "圆线宽度", formInfo->m_nCircleWidth, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪符号", "圆线颜色", formInfo->m_crCircle, QVariant::Color); + _CreateVariantPropertyItem("蝌蚪符号", "尾线长度", formInfo->m_nTailLen, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪符号", "尾线宽度", formInfo->m_nTailWidth, QVariant::Double); + _CreateVariantPropertyItem("蝌蚪符号", "尾线颜色", formInfo->m_crTail, QVariant::Color); + + m_strCurrentProperty = Denv_Property; +} + +void PropertyWidget::changedDenvProperty(QString strProperty, QVariant varVal) +{ + bool flag = false; + // 字体 + if ("方位曲线" == strProperty) + { + this->m_formInfo->m_pl_azimuthCurve = varVal.toString(); + flag = true; + } + else if ("井斜曲线" == strProperty) + { + this->m_formInfo->m_pl_deviCurve = varVal.toString(); + flag = true; + } + // 蝌蚪符号 + else if ("圆半径" == strProperty) + { + this->m_formInfo->m_nRadius = varVal.toDouble(); + flag = true; + } + else if ("圆线宽度" == strProperty) + { + this->m_formInfo->m_nCircleWidth = varVal.toDouble(); + flag = true; + } + else if ("尾线长度" == strProperty) + { + this->m_formInfo->m_nTailLen = varVal.toDouble(); + flag = true; + } + else if ("尾线宽度" == strProperty) + { + this->m_formInfo->m_nTailWidth = varVal.toDouble(); + flag = true; + } + else if ("圆线颜色" == strProperty) + { + this->m_formInfo->m_crCircle = varVal.value(); + flag = true; + } + else if ("尾线颜色" == strProperty) + { + this->m_formInfo->m_crTail = varVal.value(); + flag = true; + } + else if ("圆填充色" == strProperty) + { + this->m_formInfo->m_crPointFill = varVal.value(); + flag = true; + } + // + else if ("左刻度" == strProperty) + { + this->m_formInfo->m_vmin = varVal.toDouble(); + this->m_formInfo->repaint(); + flag = true; + } + else if ("右刻度" == strProperty) + { + this->m_formInfo->m_vmax = varVal.toDouble(); + this->m_formInfo->repaint(); + flag = true; + } + else if ("深度间隔" == strProperty) + { + this->m_formInfo->m_flStep = varVal.toDouble(); + flag = true; + } + else if ("显示单位" == strProperty) + { + this->m_formInfo->m_strUnit = varVal.toString(); + this->m_formInfo->repaint(); + } + + if(flag) + { + emit CallManage::getInstance()->sig_changeDenvProperty(m_formInfo->m_strUuid, m_formInfo->m_strSlfName, m_formInfo->m_strWellName, m_formInfo->m_strTrackName, m_formInfo->m_strLineName); + } +} diff --git a/logPlus/PropertyWidget.h b/logPlus/PropertyWidget.h index 8e461c9..85daec9 100644 --- a/logPlus/PropertyWidget.h +++ b/logPlus/PropertyWidget.h @@ -80,6 +80,7 @@ #define Kedou_Property "Kedou_Property" //蝌蚪图 #define Ganzhuang_Property "Ganzhuang_Property" //杆状图 #define Jykt_Property "Jykt_Property" //井眼垮塌矢量图 +#define Denv_Property "Denv_Property" //井斜方位图 #pragma execution_character_set("utf-8") @@ -272,6 +273,10 @@ public: void initJyktProperty(FormInfo *formInfo); void changedJyktProperty(QString strProName, QVariant val); + //井斜方位图 + void initDenvProperty(FormInfo *formInfo); + void changedDenvProperty(QString strProName, QVariant val); + public slots: void SlotPropertyChanged(QtProperty *property, const QVariant &variant); void SlotPropertyChanged(QtProperty *property, const int &val, bool islinestyle); diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index c0f6837..15341f2 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -536,10 +536,10 @@ void FormDraw::DisplayLines(QJsonArray linesArray) // 岩心照片 displayImageData(lineObjInfo); } - else if (strLineName == "FRAC_HOLE.TABLE" || strLineName == "GANZHUANG.LINE" || strLineName == "JINGYANKUATA.LINE") + else if (strLineName == "FRAC_HOLE.TABLE" || strLineName == "GANZHUANG.LINE" || strLineName == "JINGYANKUATA.LINE" || strLineName == "XIEFANGWEI.LINE") { - // 蝌蚪图、杆状图 - DisplayKedou_One(lineObjInfo); + // 蝌蚪图、杆状图、井眼垮塌矢量图、井斜方位图 + DisplayKedouAndOthers_One(lineObjInfo); } } else if (strType == "JiegutextObject") @@ -1127,7 +1127,7 @@ void FormDraw::DisplayTable_One(QJsonObject lineObjInfo) } //蝌蚪图 -void FormDraw::DisplayKedou_One(QJsonObject lineObjInfo) +void FormDraw::DisplayKedouAndOthers_One(QJsonObject lineObjInfo) { QString strSlfName = ""; QString strWellName = ""; @@ -1194,8 +1194,8 @@ void FormDraw::DisplayKedou_One(QJsonObject lineObjInfo) if (strLineName != "") { - //蝌蚪图、杆状、井眼垮塌矢量图 - this->addKedou(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, lineObjInfo); + //蝌蚪图、杆状、井眼垮塌矢量图、井斜方位图 + this->addKedouAndOthers(m_strUuid, strSlfName, strWellName, m_strTrackName, strLineName, lineObjInfo); } } @@ -3018,10 +3018,10 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri return curv; } -QMyCustomPlot* FormDraw::addKedou(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QJsonObject listOtherProperty) +QMyCustomPlot* FormDraw::addKedouAndOthers(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QJsonObject listOtherProperty) { - //蝌蚪、杆状、井眼垮塌矢量图 - if (strLineName == "FRAC_HOLE.TABLE" || strLineName == "GANZHUANG.LINE" || strLineName == "JINGYANKUATA.LINE") + //蝌蚪、杆状、井眼垮塌矢量图、井斜方位图 + if (strLineName == "FRAC_HOLE.TABLE" || strLineName == "GANZHUANG.LINE" || strLineName == "JINGYANKUATA.LINE" || strLineName == "XIEFANGWEI.LINE") { } else @@ -3100,7 +3100,22 @@ QMyCustomPlot* FormDraw::addKedou(QString strUuid, QString strSlfName, QString s // initJykt(curv, strSlfName, strLineName, strAliasName, newlineColor, listOtherProperty); } - + else if(strLineName == "XIEFANGWEI.LINE") + { + QString strAliasName = "井斜方位图"; + QColor newlineColor=QColor(0,0,0); + // 显示名称 + // 显示名称 + if (listOtherProperty.contains("AliasName")) + { + QJsonValue value = listOtherProperty.value("AliasName"); + if (value.isString()) { + strAliasName = value.toString(); + } + } + // + initDenv(curv, strSlfName, strLineName, strAliasName, newlineColor, listOtherProperty); + } connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); // m_listLineName.push_back(strLineName); @@ -3759,7 +3774,7 @@ void FormDraw::s_addGanZhuangTu(QString strUuid, QString strSlfName, QString str m_listLineName.push_back(strLineName); } - +//井眼垮塌矢量图 void FormDraw::s_addJykt(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW) { //井名&道名不一致 @@ -3785,8 +3800,8 @@ void FormDraw::s_addJykt(QString strUuid, QString strSlfName, QString strWellNam curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->show(); - initJykt(curv, strSlfName, strLineName); - + //井眼垮塌矢量图 + initJykt(curv, strSlfName, strLineName); // connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); @@ -3795,6 +3810,7 @@ void FormDraw::s_addJykt(QString strUuid, QString strSlfName, QString strWellNam m_listLineName.push_back(strLineName); } +//井斜方位图 void FormDraw::s_addDenv(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int nW) { //井名&道名不一致 @@ -3818,21 +3834,11 @@ void FormDraw::s_addDenv(QString strUuid, QString strSlfName, QString strWellNam curv->m_formTrack = m_formTrack; curv->setDepthY(m_iY1, m_iY2); curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); - curv->show(); //井斜方位图 - DrawDenv(curv, strSlfName); + initDenv(curv, strSlfName, strLineName); - //道-对象 - QString strAliasName = "井斜方位图"; - QString strUnit = "(°)"; - QColor newlineColor=QColor(0,0,0); - double width=2; - QString strScaleType = ""; - //道-对象 - m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "DenvObject"); - // connect(curv, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); // @@ -5111,7 +5117,7 @@ void FormDraw::initKedou(QMyCustomPlot *widget, QString strSlfName, QString strL double width=2; QString strScaleType = ""; //道-对象 - FormInfo* pInfo = m_formTrack->AddKedou(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); + FormInfo* pInfo = m_formTrack->AddKedouAndOthers(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); //蝌蚪图 widget->Draw_Kedou(); @@ -5164,13 +5170,12 @@ void FormDraw::initGanzhuang(QMyCustomPlot *widget, QString strSlfName, QString strUnit = listOtherProperty["Unit"].toString(); // 单位 } //道-对象 - FormInfo* pInfo = m_formTrack->AddGanzhuang(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); + FormInfo* pInfo = m_formTrack->AddKedouAndOthers(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); //杆状图 widget->Draw_Ganzhuang(); } - //井眼垮塌矢量图 void FormDraw::initJykt(QMyCustomPlot *widget, QString strSlfName, QString strLineName, QString strAliasName, QColor newlineColor, QJsonObject listOtherProperty) { @@ -5223,12 +5228,70 @@ void FormDraw::initJykt(QMyCustomPlot *widget, QString strSlfName, QString strLi strUnit = listOtherProperty["Unit"].toString(); // 单位 } //道-对象 - FormInfo* pInfo = m_formTrack->AddJykt(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); + FormInfo* pInfo = m_formTrack->AddKedouAndOthers(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); //杆状图 widget->Draw_Jykt(); } +//井斜方位图 +void FormDraw::initDenv(QMyCustomPlot *widget, QString strSlfName, QString strLineName, QString strAliasName, QColor newlineColor, QJsonObject listOtherProperty) +{ + //隐藏网格 + widget->xAxis->grid()->setVisible(false); + widget->yAxis->grid()->setVisible(false); + // + widget->m_bRowGridVisible = false; + widget->m_bColGridVisible = false; + + //------------------- + m_LeftVal = 0; + m_RightVal = 90; + if(!listOtherProperty.isEmpty()) + { + m_LeftVal = listOtherProperty["vmin"].toDouble(); + m_RightVal = listOtherProperty["vmax"].toDouble(); + } + + float vmax = m_RightVal; + float vmin = m_LeftVal; + widget->setScaleX(vmin, vmax); + widget->axisRect()->setupFullAxesBox(); + // + widget->xAxis->ticker()->setTickCount(10);//x个主刻度 + widget->yAxis->ticker()->setTickCount(60);//y个主刻度 + + //对调XY轴,在最前面设置 + QCPAxis *yAxis = widget->yAxis; + QCPAxis *xAxis = widget->xAxis; + widget->xAxis = yAxis; + widget->yAxis = xAxis; + + //隐藏刻度 + widget->xAxis->setTicks(false); + widget->yAxis->setTicks(false); + widget->xAxis2->setTicks(false); + widget->yAxis2->setTicks(false); + widget->xAxis->setVisible(false); + widget->xAxis2->setVisible(false); + widget->yAxis->setVisible(false); + widget->yAxis2->setVisible(false); + + //----------------------------------- + QString strUnit = "(°)"; + double width=2; + QString strScaleType = ""; + if(!listOtherProperty.isEmpty()) + { + strUnit = listOtherProperty["Unit"].toString(); // 单位 + } + //道-对象 + FormInfo* pInfo = m_formTrack->AddKedouAndOthers(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, m_RightVal, m_LeftVal, strScaleType, "tableObject", listOtherProperty); + + //杆状图 + widget->Draw_Denv(); +} + void FormDraw::initWords(QMyCustomPlot *widget, QString strSlfName, QString strLineName, QString strAliasName, QColor newlineColor, QStringList listOtherProperty) { int iMyWidth = widget->axisRect(0)->width(); @@ -6603,109 +6666,6 @@ void FormDraw::CalcDipWidth(int nColumn,float *flWidth,float factor,int x1,int x } } -void FormDraw::DrawDenv(QMyCustomPlot *widget, QString strSlfName) -{ - //初始化数据 - m_csCurveAZIM=("AZIM"); - m_csCurveDEVI=("DEVI"); - - m_nCircleLineWidth = 2 ; - m_nTailWidth=2; - m_TailColor=qRgb(255,0,0); - m_crPointFillDenv=qRgb(0,0,0); - m_crCirCleColor = qRgb(0,0,255); - m_nRadius = 4; - m_nTailLen=8; - m_flStep=1; - - //读取曲线数据 - this->ReadData(strSlfName, m_csCurveAZIM, 0, &m_Curve); - this->ReadData(strSlfName, m_csCurveDEVI, 1, &m_Curve2); - - //------------------- - m_LeftVal = 0; - m_RightVal = 90; - - float vmax = m_RightVal; - float vmin = m_LeftVal; - widget->setScaleX(vmin, vmax); - widget->axisRect()->setupFullAxesBox(); - // - widget->xAxis->ticker()->setTickCount(10);//x个主刻度 - widget->yAxis->ticker()->setTickCount(60);//y个主刻度 - - //对调XY轴,在最前面设置 - QCPAxis *yAxis = widget->yAxis; - QCPAxis *xAxis = widget->xAxis; - widget->xAxis = yAxis; - widget->yAxis = xAxis; - - //隐藏刻度 - widget->xAxis->setTicks(false); - widget->yAxis->setTicks(false); - widget->xAxis2->setTicks(false); - widget->yAxis2->setTicks(false); - widget->xAxis->setVisible(false); - widget->xAxis2->setVisible(false); - widget->yAxis->setVisible(false); - widget->yAxis2->setVisible(false); - - // - QPen pPen(m_TailColor,m_nTailWidth); - QPen pPen2(m_crCirCleColor,m_nCircleLineWidth); - QBrush cBrush(m_crPointFillDenv); - - float tempf,flVal; - int i,j,nPointNum=0,tempi; - QRectF rt,rtRect; - float x,y; - float dgtord,dr; - - if ( m_Value==0 || m_Value2==0 ) - return ; - - // 计算显示深度 - tempf = (m_EDep - m_SDep)/m_Rlev + 0.5; - nPointNum = tempf+1; - if ( nPointNum <= 1 ) return ; - dgtord=3.14159265/180.; - - QBrush brush2(QColor(qRgb(0,0,0))); - { - for (float dep=m_SDep; depsetPen(pPen2); - qcpItemEllipse->m_bCustom = true; - qcpItemEllipse->m_nRadius = m_nRadius; - qcpItemEllipse->topLeft->setCoords(y, x);//圆心位置 - qcpItemEllipse->bottomRight->setCoords(y, x);//圆心位置 - qcpItemEllipse->setBrush(cBrush);//填充圆的颜色 - - // - flVal = GetData(m_Curve.RepCode,(char *)&m_Value[i*m_Curve.CodeLen]); - dr=flVal*dgtord; - - QCPItemLine *qcpItemLine = new QCPItemLine(widget); - qcpItemLine->start->setCoords(y, x);//圆心位置 - qcpItemLine->end->setCoords(y, x);//圆心位置 - qcpItemLine->setPen(pPen); - qcpItemLine->m_bCustom = true; - qcpItemLine->m_nTailLen = m_nTailLen; //尾长 - qcpItemLine->m_nRadius = m_nRadius; //半径 - qcpItemLine->m_dr = dr; - } - } -} - //read config file: FRAC.CFG,save info into m_FracDef void FormDraw::ReadFracDef() diff --git a/logPlus/formdraw.h b/logPlus/formdraw.h index 43fc6c5..b085966 100644 --- a/logPlus/formdraw.h +++ b/logPlus/formdraw.h @@ -47,7 +47,7 @@ public: //表格:固井结论等 void DisplayTable_One(QJsonObject lineObjInfo); //蝌蚪图 - void DisplayKedou_One(QJsonObject lineObjInfo); + void DisplayKedouAndOthers_One(QJsonObject lineObjInfo); //气测/FMT/射孔/文本 void DisplayJiegutext_One(QJsonObject lineObjInfo); @@ -91,7 +91,7 @@ protected: QMyCustomPlot* addTableLine(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QStringList listOtherProperty={}); - QMyCustomPlot* addKedou(QString strUuid, QString strSlfName, QString strWellName, + QMyCustomPlot* addKedouAndOthers(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QJsonObject listOtherProperty={}); public slots: @@ -154,6 +154,8 @@ public: void initGanzhuang(QMyCustomPlot *widget, QString strSlfName, QString strLineName, QString strAliasName = "杆状图", QColor newlineColor=QColor(0,0,0), QJsonObject listOtherProperty={}); //井眼垮塌矢量图 void initJykt(QMyCustomPlot *widget, QString strSlfName, QString strLineName, QString strAliasName = "井眼崩落矢量图", QColor newlineColor=QColor(0,0,0), QJsonObject listOtherProperty={}); + //井斜方位图 + void initDenv(QMyCustomPlot *widget, QString strSlfName, QString strLineName, QString strAliasName = "井斜方位图", QColor newlineColor=QColor(0,0,0), QJsonObject listOtherProperty={}); void ReadFracDef(); void ReadData(QString strSlfName, QString strLineName);//表格 @@ -161,7 +163,6 @@ public: void CalcDipWidth(int nColumn,float *flWidth,float factor,int x1,int x2,float flHoriRatio); void Refurbish(); - void DrawDenv(QMyCustomPlot *widget, QString strSlfName); int m_PointNum; // diff --git a/logPlus/forminfo.cpp b/logPlus/forminfo.cpp index 07fb488..cf1614c 100644 --- a/logPlus/forminfo.cpp +++ b/logPlus/forminfo.cpp @@ -330,6 +330,65 @@ void FormInfo::initProperty_Jykt(QJsonObject obj) } } +void FormInfo::initProperty_Denv(QJsonObject obj) +{ + if(obj.isEmpty()) + { + // 字体 + + // 曲线选择 + this->m_pl_azimuthCurve = "AZIM"; // 方位曲线 + this->m_pl_deviCurve = "DEVI"; // 井斜曲线 + + //蝌蚪符号 + this->m_nRadius = 6; // 圆半径 + this->m_nCircleWidth = 1; // 圆线宽度 + this->m_nTailLen = 10; // 尾线长度 + this->m_nTailWidth = 2; // 尾线宽度 + + // 显示控制 + this->m_vmin = 0; // 左刻度 + this->m_vmax = 90; // 右刻度 + this->m_flStep = 1; // 深度间隔 + // + this->m_strUnit = "(°)"; + } + else + { + QString strType = obj.value("Type").toString(); + if ("tableObject" == strType) + { + // 字体 + // 名称 + this->m_curveNameFont.fromString(obj["curveNameFont"].toString()); + // 单位 + this->m_strUnitFont.fromString(obj["m_strUnitFont"].toString()); + // 刻度 + this->m_pl_fontScale.fromString(obj["m_pl_fontScale"].toString()); + + // 曲线选择 + this->m_pl_azimuthCurve = obj["m_pl_azimuthCurve"].toString(); // 方位曲线 + this->m_pl_deviCurve = obj["m_pl_deviCurve"].toString(); // 井斜曲线 + + //蝌蚪符号 + this->m_nRadius = obj["m_nRadius"].toDouble(); // 圆半径 + this->m_nCircleWidth = obj["m_nCircleWidth"].toDouble();// 圆线宽度 + this->m_nTailLen = obj["m_nTailLen"].toDouble(); // 尾线长度 + this->m_nTailWidth = obj["m_nTailWidth"].toDouble(); // 尾线宽度 + this->m_crCircle.setNamedColor(obj["m_crCircle"].toString());// 圆线颜色 + this->m_crTail.setNamedColor(obj["m_crTail"].toString());// 尾线颜色 + this->m_crPointFill.setNamedColor(obj["m_crPointFill"].toString());// 圆填充色 + + // 刻度 + this->m_vmin = obj["vmin"].toDouble(); // 左刻度 + this->m_vmax = obj["vmax"].toDouble(); // 右刻度 + this->m_flStep = obj["m_flStep"].toDouble(); // 深度间隔 + // + this->m_strUnit = obj["Unit"].toString(); // 单位 + } + } +} + void FormInfo::initProperty(QJsonObject obj) { m_vmin = obj.value("vmin").toDouble(); @@ -697,6 +756,31 @@ QJsonObject FormInfo::makeJson() rootObj["Unit"] = m_strUnit; return rootObj; } + else if (m_strLineName == "XIEFANGWEI.LINE") + { + //井斜方位图 + // 字体 + rootObj["m_strUnitFont"] = this->m_strUnitFont.toString(); // 单位 + rootObj["m_pl_fontScale"] = this->m_pl_fontScale.toString(); // 刻度 + // 曲线选择 + rootObj["m_pl_azimuthCurve"] = this->m_pl_azimuthCurve; // 方位曲线 + rootObj["m_pl_deviCurve"] = this->m_pl_deviCurve; // 井斜曲线 + //蝌蚪符号 + rootObj["m_nRadius"] = this->m_nRadius; // 圆半径 + rootObj["m_nCircleWidth"] = this->m_nCircleWidth; // 圆线宽度 + rootObj["m_nTailLen"] = this->m_nTailLen; // 尾线长度 + rootObj["m_nTailWidth"] = this->m_nTailWidth; // 尾线宽度 + rootObj["m_crCircle"] = this->m_crCircle.name(); // 圆线颜色 + rootObj["m_crTail"] = this->m_crTail.name(); // 尾线颜色 + rootObj["m_crPointFill"] = this->m_crPointFill.name(); // 圆填充色 + // + rootObj["vmax"] = m_vmax;//右刻度 + rootObj["vmin"] = m_vmin;//左刻度 + rootObj["m_flStep"] = m_flStep;//深度间隔 + //单位 + rootObj["Unit"] = m_strUnit; + return rootObj; + } } else if (m_strType == "JiegutextObject") { @@ -1389,12 +1473,6 @@ void FormInfo::paintEvent(QPaintEvent* event) } } - if(m_strLineName=="井斜方位图") - { - painter.drawText(rect.left(), rect.top()+rect.height()/3, rect.width(), rect.height()/3, Qt::AlignCenter, m_strUnit); - painter.drawText(rect.left(), rect.top()+rect.height()*2/3, rect.width(), rect.height()/3 ,Qt::AlignCenter, QString::number(m_vmin)+" ~ "+QString::number(m_vmax)); - } - //蝌蚪图、杆状图 if(m_strLineName == "FRAC_HOLE.TABLE" || m_strLineName=="GANZHUANG.LINE") { @@ -1411,7 +1489,7 @@ void FormInfo::paintEvent(QPaintEvent* event) } //井眼垮塌矢量图 - if(m_strLineName=="JINGYANKUATA.LINE") + if(m_strLineName=="JINGYANKUATA.LINE" || m_strLineName=="XIEFANGWEI.LINE") { int nbay = rect.height() - 5; diff --git a/logPlus/forminfo.h b/logPlus/forminfo.h index b66a375..e928c14 100644 --- a/logPlus/forminfo.h +++ b/logPlus/forminfo.h @@ -29,6 +29,7 @@ public: void initProperty_Kedou(QJsonObject obj); void initProperty_Ganzhuang(QJsonObject obj); void initProperty_Jykt(QJsonObject obj); + void initProperty_Denv(QJsonObject obj); void paintClassify(QPainter &painter, int compassCenterY); private: @@ -380,8 +381,11 @@ public: //井眼垮塌矢量图 QString m_pl_deltaCurve = "CALM"; // 井径差曲线 - float m_flStep;// 增加深度间隔 - float m_nOffset; // 角度偏移=0,主应力方向,=90,长轴方向 + float m_flStep; // 增加深度间隔 + float m_nOffset; // 角度偏移=0,主应力方向,=90,长轴方向 + + //井斜方位图 + QString m_pl_deviCurve = "DEVI"; // 井斜曲线 public: void setLineWidth(double dWidth); diff --git a/logPlus/formtrack.cpp b/logPlus/formtrack.cpp index 10c1496..bd3d077 100644 --- a/logPlus/formtrack.cpp +++ b/logPlus/formtrack.cpp @@ -71,17 +71,6 @@ FormTrack::FormTrack(QWidget *parent, QString strSlfName, QString strWellName, Q // 深度 connect(this, SIGNAL(sig_AddDepth(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)), this, SLOT(s_addDepth(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString))); - // 杆状图 - connect(this, SIGNAL(sig_AddGanZhuangTu(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)), - this, SLOT(s_addGanZhuangTu(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString))); - - // 井眼垮塌矢量图 - connect(this, SIGNAL(sig_AddJykt(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)), - this, SLOT(s_addJykt(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString))); - - // 井斜方位图 - connect(this, SIGNAL(sig_AddDenv(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)), - this, SLOT(s_addDenv(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString))); //岩心图片 connect(this, SIGNAL(sig_AddYanXinImage(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)), @@ -265,19 +254,7 @@ void FormTrack::Add(QString strSlfName, QString strWellName, QString strTrackNam else if(strType=="depthObject") { emit sig_AddDepth(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType); - } - else if(strType=="ganzhuangtuObject") - { - emit sig_AddGanZhuangTu(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType); - } - else if(strType=="JyktObject") - { - emit sig_AddJykt(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType); - } - else if(strType=="DenvObject") - { - emit sig_AddDenv(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType); - } + } // else if(strType=="yanxinImageObject") // { // emit sig_AddYanXinImage(strSlfName, strWellName, m_strTrackName, strLineName, strAliasName, strUnit, lineColor, dWidth, vmax, vmin, strScaleType); @@ -312,9 +289,10 @@ void FormTrack::Add(QString strSlfName, QString strWellName, QString strTrackNam } } -FormInfo* FormTrack::AddKedou(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty) +FormInfo* FormTrack::AddKedouAndOthers(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty) { - if(strLineName == "FRAC_HOLE.TABLE") + //蝌蚪图、杆状图、井眼垮塌矢量图、井斜方位图 + if(strLineName == "FRAC_HOLE.TABLE" || strLineName == "GANZHUANG.LINE" || strLineName == "JINGYANKUATA.LINE" || strLineName == "XIEFANGWEI.LINE") { } @@ -332,83 +310,22 @@ FormInfo* FormTrack::AddKedou(QString strSlfName, QString strWellName, QString s //曲线信息栏 FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor); formInfo->m_strUuid = m_strUuid; - formInfo->initProperty_Kedou(listOtherProperty); - formInfo->m_strAliasName = strAliasName; - formInfo->m_strUnit = strUnit; - formInfo->m_strScaleType = strScaleType; - formInfo->m_strType = "tableObject"; - formInfo->setLineWidth(dWidth); - formInfo->setVMax(vmax); - formInfo->setVMin(vmin); - formInfo->setFrontColor(QColor(0,0,0)); - formInfo->setBackColor(QColor(255,255,255)); - - //设置高度 - ui->tableWidget->setRowHeight(row, 100); - // - ui->tableWidget->setCellWidget(row, 0, formInfo); - return formInfo; -} - -FormInfo* FormTrack::AddGanzhuang(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty) -{ - if(strLineName == "GANZHUANG.LINE") + if(strLineName == "FRAC_HOLE.TABLE") { - + formInfo->initProperty_Kedou(listOtherProperty); } - else + else if(strLineName == "GANZHUANG.LINE") { - return nullptr; + formInfo->initProperty_Ganzhuang(listOtherProperty); } - - qDebug() << "FormTrack AddGanzhuang"; - - ui->tableWidget->m_strUuid = m_strUuid; - int row = ui->tableWidget->rowCount(); - ui->tableWidget->setRowCount(row + 1); - - //曲线信息栏 - FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor); - formInfo->m_strUuid = m_strUuid; - formInfo->initProperty_Ganzhuang(listOtherProperty); - formInfo->m_strAliasName = strAliasName; - formInfo->m_strUnit = strUnit; - formInfo->m_strScaleType = strScaleType; - formInfo->m_strType = "tableObject"; - formInfo->setLineWidth(dWidth); - formInfo->setVMax(vmax); - formInfo->setVMin(vmin); - formInfo->setFrontColor(QColor(0,0,0)); - formInfo->setBackColor(QColor(255,255,255)); - - //设置高度 - ui->tableWidget->setRowHeight(row, 100); - // - ui->tableWidget->setCellWidget(row, 0, formInfo); - return formInfo; -} - -FormInfo* FormTrack::AddJykt(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty) -{ - if(strLineName == "JINGYANKUATA.LINE") + else if(strLineName == "JINGYANKUATA.LINE") { - + formInfo->initProperty_Jykt(listOtherProperty); } - else + else if(strLineName == "XIEFANGWEI.LINE") { - return nullptr; + formInfo->initProperty_Denv(listOtherProperty); } - - qDebug() << "FormTrack AddJykt"; - - ui->tableWidget->m_strUuid = m_strUuid; - int row = ui->tableWidget->rowCount(); - ui->tableWidget->setRowCount(row + 1); - - //曲线信息栏 - FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor); - formInfo->m_strUuid = m_strUuid; - formInfo->initProperty_Jykt(listOtherProperty); formInfo->m_strAliasName = strAliasName; formInfo->m_strUnit = strUnit; formInfo->m_strScaleType = strScaleType; @@ -1029,106 +946,6 @@ void FormTrack::s_addDepth(QString strSlfName, QString strWellName, QString strT ui->tableWidget->setCellWidget(row, 0, formInfo); } -void FormTrack::s_addGanZhuangTu(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType) -{ - qDebug() << "FormTrack s_addGanZhuangTu"; - - ui->tableWidget->m_strUuid = m_strUuid; - int row = ui->tableWidget->rowCount(); - ui->tableWidget->setRowCount(row + 1); - - //避免出现小滚动条 - //ui->tableWidget->resize(g_iOneWidth, 100*(row + 1)+10); - //this->resize(g_iOneWidth, 100*(row + 1)+30); - - //曲线信息栏 - FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor); - formInfo->m_strUuid = m_strUuid; - formInfo->m_strAliasName = strAliasName; - formInfo->m_strUnit = strUnit; - formInfo->m_strScaleType = strScaleType; - formInfo->m_strType = "ganzhuangtuObject"; - formInfo->m_nJg = 2; - formInfo->setLineWidth(dWidth); - formInfo->setVMax(vmax); - formInfo->setVMin(vmin); - formInfo->setFrontColor(QColor(0,0,0)); - formInfo->setBackColor(QColor(255,255,255)); - //设置高度 - ui->tableWidget->setRowHeight(row, 100); - //单元格委托 - //ui->tableWidget->setItemDelegateForRow(row, m_delegate); - // - ui->tableWidget->setCellWidget(row, 0, formInfo); -} - -void FormTrack::s_addJykt(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType) -{ - qDebug() << "FormTrack s_addJykt"; - - ui->tableWidget->m_strUuid = m_strUuid; - int row = ui->tableWidget->rowCount(); - ui->tableWidget->setRowCount(row + 1); - - //避免出现小滚动条 - //ui->tableWidget->resize(g_iOneWidth, 100*(row + 1)+10); - //this->resize(g_iOneWidth, 100*(row + 1)+30); - - //曲线信息栏 - FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor); - formInfo->m_strUuid = m_strUuid; - formInfo->m_strAliasName = strAliasName; - formInfo->m_strUnit = strUnit; - formInfo->m_strScaleType = strScaleType; - formInfo->m_strType = "JyktObject"; - formInfo->m_nJg = 2; - formInfo->setLineWidth(dWidth); - formInfo->setVMax(vmax); - formInfo->setVMin(vmin); - formInfo->setFrontColor(QColor(0,0,0)); - formInfo->setBackColor(QColor(255,255,255)); - //设置高度 - ui->tableWidget->setRowHeight(row, 100); - //单元格委托 - //ui->tableWidget->setItemDelegateForRow(row, m_delegate); - // - ui->tableWidget->setCellWidget(row, 0, formInfo); -} - - -void FormTrack::s_addDenv(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType) -{ - qDebug() << "FormTrack s_addDenv"; - - ui->tableWidget->m_strUuid = m_strUuid; - int row = ui->tableWidget->rowCount(); - ui->tableWidget->setRowCount(row + 1); - - //避免出现小滚动条 - //ui->tableWidget->resize(g_iOneWidth, 100*(row + 1)+10); - //this->resize(g_iOneWidth, 100*(row + 1)+30); - - //曲线信息栏 - FormInfo *formInfo = new FormInfo(this, strSlfName, strWellName, strTrackName, strLineName, lineColor); - formInfo->m_strUuid = m_strUuid; - formInfo->m_strAliasName = strAliasName; - formInfo->m_strUnit = strUnit; - formInfo->m_strScaleType = strScaleType; - formInfo->m_strType = "JyktObject"; - formInfo->m_nJg = 2; - formInfo->setLineWidth(dWidth); - formInfo->setVMax(vmax); - formInfo->setVMin(vmin); - formInfo->setFrontColor(QColor(0,0,0)); - formInfo->setBackColor(QColor(255,255,255)); - //设置高度 - ui->tableWidget->setRowHeight(row, 100); - //单元格委托 - //ui->tableWidget->setItemDelegateForRow(row, m_delegate); - // - ui->tableWidget->setCellWidget(row, 0, formInfo); -} - void FormTrack::s_addYanXinImage(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType) { qDebug() << "FormTrack s_addYanXinImage"; diff --git a/logPlus/formtrack.h b/logPlus/formtrack.h index 94649ed..14d606a 100644 --- a/logPlus/formtrack.h +++ b/logPlus/formtrack.h @@ -45,11 +45,7 @@ public: public: void Add(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QStringList listOtherProperty={}); //蝌蚪图 - FormInfo* AddKedou(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty={}); - //杆状图 - FormInfo* AddGanzhuang(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty={}); - //井眼垮塌矢量图 - FormInfo* AddJykt(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty={}); + FormInfo* AddKedouAndOthers(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType, QString strType, QJsonObject listOtherProperty={}); FormInfo* setDrawDt(QStringList listdt, QJsonObject obj); @@ -85,9 +81,6 @@ public slots: void s_delTableLine(QString strUuid, QString strWellName, QString strTrackName, QString strLineName); // 深度 void s_addDepth(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); - void s_addGanZhuangTu(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); - void s_addJykt(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); - void s_addDenv(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void s_addYanXinImage(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void s_addDrawImage(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); void s_addSantuyibiao(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType); diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index acb86eb..b49ba47 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -3724,55 +3724,16 @@ void MainWindowCurve::s_Jykt() //井斜方位图 void MainWindowCurve::s_Denv() { -// QString strSlfName = ""; -// QString strLeft = m_leftWidgets->getLeftTreeString(); -// if(strLeft.length() > 0) -// { -// QStringList list = strLeft.split("#@@#");//QString字符串分割函数 -// if (list.size() > 3) -// { -// strSlfName = list[0]; -// } -// } - - if(ui->tableWidget_2->columnCount()==0) - { - return; - } - - int column = ui->tableWidget_2->currentColumn();//列编号从0开始 - if(column<0) - { - //当前没有选中井 - QMessageBox::warning(this, "提示", "当前没有选中井", "确定"); - return; - } - - if(column%2==0) - { - } - else - { - //空白列 - QMessageBox::warning(this, "提示", "当前没有选中井", "确定"); - return; - } - - QStringList sret = this->getSelectWell_New(); - if (sret.length() <= 0) - return; - QString strWellName = sret.at(0); - //直接从选中的井获取,data记录slf路径 - QString strSlfName = sret.at(1); - - int iWidth = ui->tableWidget_2->columnWidth(column); - int nW = 4; - //设置列宽 - ui->tableWidget_2->setColumnWidth(column, iWidth+nW*g_dPixelPerCm+8); + QStringList sret = this->insertCol(nW); + if (sret.length() <= 0) + return; + QString strWellName = sret.at(0); + //直接从选中的井获取,data记录slf路径 + QString strSlfName = sret.at(1); //新建道 - emit CallManage::getInstance()->sig_NewTrack(m_strUuid, strWellName, strSlfName, "井斜方位图", "DenvObject", nW); + emit CallManage::getInstance()->sig_NewTrack(m_strUuid, strWellName, strSlfName, "XIEFANGWEI.LINE", "DenvObject", nW); } //图像 成图 diff --git a/logPlus/qmycustomplot.cpp b/logPlus/qmycustomplot.cpp index 0b26f55..bfee1d7 100644 --- a/logPlus/qmycustomplot.cpp +++ b/logPlus/qmycustomplot.cpp @@ -219,6 +219,8 @@ QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWel connect(CallManage::getInstance(), SIGNAL(sig_changeGanzhuangProperty(QString, QString, QString, QString, QString)), this, SLOT(s_changeGanzhuangProperty(QString, QString, QString, QString, QString))); //改变井眼垮塌矢量图属性 connect(CallManage::getInstance(), SIGNAL(sig_changeJyktProperty(QString, QString, QString, QString, QString)), this, SLOT(s_changeJyktProperty(QString, QString, QString, QString, QString))); + //改变井斜方位图属性 + connect(CallManage::getInstance(), SIGNAL(sig_changeDenvProperty(QString, QString, QString, QString, QString)), this, SLOT(s_changeDenvProperty(QString, QString, QString, QString, QString))); } void QMyCustomPlot::initGeometry(QString strUuid, int nscale, double fW) @@ -12670,3 +12672,123 @@ void QMyCustomPlot::Draw_Jykt() } this->replot(); } + +//改变井斜方位图属性 +void QMyCustomPlot::s_changeDenvProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName) +{ + if(m_strUuid == strUuid && + m_strSlfName == strSlfName && + m_strWellName == strWellName && + m_strTrackName == strTrackName && + m_strLineName == strLineName) + { + + } + else + { + return; + } + //绘制井斜方位图 + Draw_Denv(); +} + +//井斜方位图 +void QMyCustomPlot::Draw_Denv() +{ + //this->clearGraphs(); + this->clearItems(); + + // + FormInfo* pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, m_strWellName, m_strTrackName, m_strLineName); + if (pInfo == NULL) + { + return; + } + + //----------------------------------- + this->m_Value=NULL; + this->m_Value2=NULL; + this->m_Value3=NULL; + // 曲线选择 + this->m_csCurveAZIM = pInfo->m_pl_azimuthCurve; // 方位 曲线名 + this->m_csCurveDEVI = pInfo->m_pl_deviCurve; // 井斜曲线 + //蝌蚪符号 + this->m_nRadius = pInfo->m_nRadius; // 圆半径 + this->m_nCircleWidth = pInfo->m_nCircleWidth; // 圆线宽度 + this->m_nTailLen = pInfo->m_nTailLen; // 尾线长度 + this->m_nTailWidth = pInfo->m_nTailWidth; // 尾线宽度 + this->m_crCircle = pInfo->m_crCircle; // 圆线颜色 + this->m_crTail = pInfo->m_crTail; // 尾线颜色 + this->m_crPointFill=pInfo->m_crPointFill; //圆填充色 + + //读数据 + this->ReadData(m_strSlfName, m_csCurveAZIM, 0, &m_Curve); + this->ReadData(m_strSlfName, m_csCurveDEVI, 1, &m_Curve2); + if ( m_Value==0 || m_Value2==0 ) + { + this->replot(); + return ; + } + + // + m_flStep = pInfo->m_flStep; // 深度间隔--读数据的间隔 + + // + float vmax = pInfo->m_vmax; + float vmin = pInfo->m_vmin; + //this->setScaleX(vmin, vmax); + this->yAxis->setRange(vmin, vmax); + + // + QPen pPenTail(m_crTail,m_nTailWidth); + QPen pPenCircle(m_crCircle,m_nCircleWidth); + QBrush cBrush(m_crPointFill); + + float tempf,flVal; + int i,j,nPointNum=0,tempi; + QRectF rt,rtRect; + float x,y; + float dgtord,dr; + + // 计算显示深度 + tempf = (m_EDep - m_SDep)/m_Rlev + 0.5; + nPointNum = tempf+1; + if ( nPointNum <= 1 ) return ; + dgtord=3.14159265/180.; + + QBrush brush2(QColor(qRgb(0,0,0))); + { + for (float dep=m_SDep; depsetPen(pPenCircle); + qcpItemEllipse->m_bCustom = true; + qcpItemEllipse->m_nRadius = m_nRadius; + qcpItemEllipse->topLeft->setCoords(y, x);//圆心位置 + qcpItemEllipse->bottomRight->setCoords(y, x);//圆心位置 + qcpItemEllipse->setBrush(cBrush);//填充圆的颜色 + + // + flVal = GetData(m_Curve.RepCode,(char *)&m_Value[i*m_Curve.CodeLen]); + dr=flVal*dgtord; + + QCPItemLine *qcpItemLine = new QCPItemLine(this); + qcpItemLine->start->setCoords(y, x);//圆心位置 + qcpItemLine->end->setCoords(y, x);//圆心位置 + qcpItemLine->setPen(pPenTail); + qcpItemLine->m_bCustom = true; + qcpItemLine->m_nTailLen = m_nTailLen; //尾长 + qcpItemLine->m_nRadius = m_nRadius; //半径 + qcpItemLine->m_dr = dr; + } + } + this->replot(); +} diff --git a/logPlus/qmycustomplot.h b/logPlus/qmycustomplot.h index 1f72d54..14d2598 100644 --- a/logPlus/qmycustomplot.h +++ b/logPlus/qmycustomplot.h @@ -685,6 +685,9 @@ public slots: //改变井眼垮塌矢量图属性 void s_changeJyktProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); + //改变井斜方位图属性 + void s_changeDenvProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); + public: //蝌蚪图重绘网格线 bool mKedou = false; @@ -745,7 +748,7 @@ public: void addQCPItemLine(QMyCustomPlot *widget, float cx, float cy, const QPointF& p1, const QPointF& p2, const QPen& wPen); - //蝌蚪 + //蝌蚪图 double m_pl_minInclination = 0; // 最小倾角 double m_pl_maxInclination = 90; // 最大倾角 float m_flGrad1,m_flGrad2; // 可信度 @@ -759,14 +762,19 @@ public: void DrawDip_Kedou(); void DrawTabDip_Kedou(); + //读取高导缝等配置 void ReadFracDef_gaodaofeng(); //杆状图 void Draw_Ganzhuang(); - // + //井眼垮塌矢量图 void Draw_Jykt(); + //井斜方位图 + QString m_csCurveAZIM,m_csCurveDEVI; // 方位曲线/井斜曲线 + void Draw_Denv(); + CPickFrac *m_cPickFrac; private: