[us-commits] r2759 - trunk/programs/us_fit_meniscus
svn at svn.aucsolutions.com
svn at svn.aucsolutions.com
Wed May 8 08:09:32 MDT 2019
Author: gegorbet
Date: 2019-05-08 14:09:31 +0000 (Wed, 08 May 2019)
New Revision: 2759
Modified:
trunk/programs/us_fit_meniscus/us_fit_meniscus.cpp
Log:
us_fit_meniscus fix for 2DSA-FB-IT noises and refinement of indecies,counts when replacing meniscus,bottom values in the Edit XML where old,new fields are different lengths
Modified: trunk/programs/us_fit_meniscus/us_fit_meniscus.cpp
===================================================================
--- trunk/programs/us_fit_meniscus/us_fit_meniscus.cpp 2019-05-07 12:59:04 UTC (rev 2758)
+++ trunk/programs/us_fit_meniscus/us_fit_meniscus.cpp 2019-05-08 14:09:31 UTC (rev 2759)
@@ -883,20 +883,19 @@
//*DEBUG*
//db_upd=false;
//*DEBUG*
- int mlsx = 0;
- int meqx = 0;
- int mvsx = 0;
- int mvcn = 0;
- int mlnn = 0;
- int blsx = 0;
- int beqx = 0;
- int bvsx = 0;
- int bvcn = 0;
- int blnn = 0;
- int llsx = 0;
- int leqx = 0;
- int lvsx = 0;
- int lvcn = 0;
+ int ixmlin = 0; // Meniscus line start index
+ int ixmval = 0; // Meniscus value start index
+ int ncmval = 0; // Meniscus value number characters
+ int ncmlin = 0; // Meniscus line number characters
+ int ixblin = 0; // Bottom line start index
+ int ixbval = 0; // Bottom value start index
+ int ncbval = 0; // Bottom value number characters
+ int ncblin = 0; // Botton line number characters
+ int ixllin = 0; // Left-data line start index
+ int ixlval = 0; // Left-data value start index
+ int nclval = 0; // Left-data value number characters
+ int demval = 0; // Delta old/new meniscus value
+ int debval = 0; // Delta old/new bottom value
// New meniscus and bottom values
double mennew = 0.0;
@@ -994,28 +993,25 @@
edtext += ts.readLine() + "\n";
filei.close();
- mlsx = edtext.indexOf( "<meniscus radius=" );
- if ( mlsx < 0 ) return;
- meqx = edtext.indexOf( "=\"", mlsx );
- mvsx = meqx + 2;
- mvcn = edtext.indexOf( "\"", mvsx + 1 ) - mvsx;
- mlnn = edtext.indexOf( ">", mlsx ) - mlsx + 1;
- llsx = edtext.indexOf( "<data_range left=" );
- if ( llsx < 0 ) return;
- leqx = edtext.indexOf( "=\"", llsx );
- lvsx = leqx + 2;
- lvcn = edtext.indexOf( "\"", lvsx + 1 ) - lvsx;
- lefval = edtext.mid( lvsx, lvcn ).toDouble();
- blsx = edtext.indexOf( "<bottom radius=" );
- if ( blsx > 0 )
+ ixmlin = edtext.indexOf( "<meniscus radius=" );
+ if ( ixmlin < 0 ) return;
+ ixmval = edtext.indexOf( "=\"", ixmlin ) + 2;
+ ncmval = edtext.indexOf( "\"", ixmval + 1 ) - ixmval;
+ ncmlin = edtext.indexOf( ">", ixmlin ) - ixmlin + 1;
+ ixllin = edtext.indexOf( "<data_range left=" );
+ if ( ixllin < 0 ) return;
+ ixlval = edtext.indexOf( "=\"", ixllin ) + 2;
+ nclval = edtext.indexOf( "\"", ixlval + 1 ) - ixlval;
+ lefval = edtext.mid( ixlval, nclval ).toDouble();
+ ixblin = edtext.indexOf( "<bottom radius=" );
+ if ( ixblin > 0 )
{
- beqx = edtext.indexOf( "=\"", blsx );
- bvsx = beqx + 2;
- bvcn = edtext.indexOf( "\"", bvsx + 1 ) - bvsx;
- blnn = edtext.indexOf( ">", blsx ) - blsx + 1;
+ ixbval = edtext.indexOf( "=\"", ixblin ) + 2;
+ ncbval = edtext.indexOf( "\"", ixbval + 1 ) - ixbval;
+ ncblin = edtext.indexOf( ">", ixblin ) - ixblin + 1;
}
DbgLv(1) << " eupd: mennew" << mennew << "lefval" << lefval << "botnew" << botnew;
-DbgLv(1) << " eupd: mlsx blsx" << mlsx << blsx << "mlnn blnn" << mlnn << blnn;
+DbgLv(1) << " eupd: ixmlin ixblin" << ixmlin << ixblin << "ncmlin ncblin" << ncmlin << ncblin;
if ( mennew >= lefval )
{
@@ -1026,31 +1022,54 @@
return;
}
+ demval = s_meni.length() - ncmval;
+ debval = s_bott.length() - ncbval;
+
if ( have3val )
{ // Replace meniscus and bottom values in edit
- edtext.replace( mvsx, mvcn, s_meni );
- if ( bvsx > 0 )
- edtext.replace( bvsx, bvcn, s_bott );
+ edtext.replace( ixmval, ncmval, s_meni );
+ ncmval += demval;
+ ncmlin += demval;
+ if ( ixbval > 0 )
+ {
+ ixbval += demval;
+ edtext.replace( ixbval, ncbval, s_bott );
+ ixblin += demval;
+ ncbval += debval;
+ ncblin += debval;
+ }
else
{ // Must insert an entirely new line for bottom
QString bline = QString( "\n <bottom radius=\"" )
+ s_bott + QString( "\"/>" );
- edtext.insert( mlsx + mlnn, bline );
+ ixblin = ixmlin + ncmlin;
+ edtext.insert( ixblin, bline );
+ ncblin = bline .length();
+ ncbval = s_bott.length();
}
}
else if ( !bott_fit )
{ // Replace meniscus value in edit
- edtext.replace( mvsx, mvcn, s_meni );
+ edtext.replace( ixmval, ncmval, s_meni );
+ ncmval += demval;
+ ncmlin += demval;
}
else
{ // Replace bottom value in edit
- if ( bvsx > 0 )
- edtext.replace( bvsx, bvcn, s_bott );
+ if ( ixbval > 0 )
+ {
+ edtext.replace( ixbval, ncbval, s_bott );
+ ncbval += debval;
+ ncblin += debval;
+ }
else
{ // Must insert an entirely new line for bottom
QString bline = QString( "\n <bottom radius=\"" )
+ s_bott + QString( "\"/>" );
- edtext.insert( mlsx + mlnn, bline );
+ ixblin = ixmlin + ncmlin;
+ edtext.insert( ixblin, bline );
+ ncblin = bline .length();
+ ncbval = s_bott.length();
}
}
@@ -1070,18 +1089,18 @@
if ( have3val )
{
mmsg = mmsg + tr( "has been modified with the lines:" )
- + "\n " + edtext.mid( mlsx, mlnn )
- + "\n " + edtext.mid( blsx, blnn );
+ + "\n " + edtext.mid( ixmlin, ncmlin )
+ + "\n " + edtext.mid( ixblin, ncblin );
}
else if ( !bott_fit )
{
mmsg = mmsg + tr( "has been modified with the line:" )
- + "\n " + edtext.mid( mlsx, mlnn );
+ + "\n " + edtext.mid( ixmlin, ncmlin );
}
else
{
mmsg = mmsg + tr( "has been modified with the line:" )
- + "\n " + edtext.mid( blsx, blnn );
+ + "\n " + edtext.mid( ixblin, ncblin );
}
// If using DB, update the edit record there
@@ -1140,27 +1159,24 @@
filei.close();
DbgLv(1) << " eupd: edtext len" << edtext.length();
- mlsx = edtext.indexOf( "<meniscus radius=" );
- if ( mlsx < 0 ) continue;
- meqx = edtext.indexOf( "=\"", mlsx );
- mvsx = meqx + 2;
- mvcn = edtext.indexOf( "\"", mvsx + 1 ) - mvsx;
- mlnn = edtext.indexOf( ">", mlsx ) - mlsx + 1;
- llsx = edtext.indexOf( "<data_range left=" );
- if ( llsx < 0 ) continue;
- leqx = edtext.indexOf( "=\"", llsx );
- lvsx = leqx + 2;
- lvcn = edtext.indexOf( "\"", lvsx + 1 ) - lvsx;
- lefval = edtext.mid( lvsx, lvcn ).toDouble();
- blsx = edtext.indexOf( "<bottom radius=" );
- if ( blsx > 0 )
+ ixmlin = edtext.indexOf( "<meniscus radius=" );
+ if ( ixmlin < 0 ) continue;
+ ixmval = edtext.indexOf( "=\"", ixmlin ) + 2;
+ ncmval = edtext.indexOf( "\"", ixmval + 1 ) - ixmval;
+ ncmlin = edtext.indexOf( ">", ixmlin ) - ixmlin + 1;
+ ixllin = edtext.indexOf( "<data_range left=" );
+ if ( ixllin < 0 ) continue;
+ ixlval = edtext.indexOf( "=\"", ixllin ) + 2;
+ nclval = edtext.indexOf( "\"", ixlval + 1 ) - ixlval;
+ lefval = edtext.mid( ixlval, nclval ).toDouble();
+ ixblin = edtext.indexOf( "<bottom radius=" );
+ if ( ixblin > 0 )
{
- beqx = edtext.indexOf( "=\"", blsx );
- bvsx = beqx + 2;
- bvcn = edtext.indexOf( "\"", bvsx + 1 ) - bvsx;
- blnn = edtext.indexOf( ">", blsx ) - blsx + 1;
+ ixbval = edtext.indexOf( "=\"", ixblin ) + 2;
+ ncbval = edtext.indexOf( "\"", ixbval + 1 ) - ixbval;
+ ncblin = edtext.indexOf( ">", ixblin ) - ixblin + 1;
}
-DbgLv(1) << " eupd: mlsx blsx llsx" << mlsx << blsx << llsx;
+DbgLv(1) << " eupd: ixmlin ixblin ixllin" << ixmlin << ixblin << ixllin;
if ( mennew >= lefval )
{
@@ -1171,33 +1187,56 @@
continue;
}
+ demval = s_meni.length() - ncmval;
+ debval = s_bott.length() - ncbval;
+
if ( have3val )
{ // Replace meniscus and bottom values in edit
- edtext.replace( mvsx, mvcn, s_meni );
- if ( bvsx > 0 )
- edtext.replace( bvsx, bvcn, s_bott );
+ edtext.replace( ixmval, ncmval, s_meni );
+ ncmval += demval;
+ ncmlin += demval;
+ if ( ixbval > 0 )
+ {
+ ixbval += demval;
+ edtext.replace( ixbval, ncbval, s_bott );
+ ixblin += demval;
+ ncbval += debval;
+ ncblin += debval;
+ }
else
{ // Must insert an entirely new line for bottom
QString bline = QString( "\n <bottom radius=\"" )
+ s_bott + QString( "\"/>" );
- edtext.insert( mlsx + mlnn, bline );
+ ixblin = ixmlin + ncmlin;
+ edtext.insert( ixblin, bline );
+ ncblin = bline .length();
+ ncbval = s_bott.length();
}
DbgLv(1) << " eupd: 3DVL replace";
}
else if ( !bott_fit )
{ // Replace meniscus value in edit
- edtext.replace( mvsx, mvcn, s_meni );
+ edtext.replace( ixmval, ncmval, s_meni );
+ ncmval += demval;
+ ncmlin += demval;
DbgLv(1) << " eupd: MENI replace";
}
else
{ // Replace bottom value in edit
- if ( bvsx > 0 )
- edtext.replace( bvsx, bvcn, s_bott );
+ if ( ixbval > 0 )
+ {
+ edtext.replace( ixbval, ncbval, s_bott );
+ ncbval += debval;
+ ncblin += debval;
+ }
else
{ // Must insert an entirely new line for bottom
QString bline = QString( "\n <bottom radius=\"" )
+ s_bott + QString( "\"/>" );
- edtext.insert( mlsx + mlnn, bline );
+ ixblin = ixmlin + ncmlin;
+ edtext.insert( ixblin, bline );
+ ncblin = bline .length();
+ ncbval = s_bott.length();
}
DbgLv(1) << " eupd: BOTT replace";
}
@@ -1239,18 +1278,18 @@
if ( have3val )
{
mmsg = mmsg + tr( "has been modified with the lines:" )
- + "\n " + edtext.mid( mlsx, mlnn )
- + "\n " + edtext.mid( blsx, blnn );
+ + "\n " + edtext.mid( ixmlin, ncmlin )
+ + "\n " + edtext.mid( ixblin, ncblin );
}
else if ( !bott_fit )
{
mmsg = mmsg + tr( "has been modified with the line:" )
- + "\n " + edtext.mid( mlsx, mlnn );
+ + "\n " + edtext.mid( ixmlin, ncmlin );
}
else
{
mmsg = mmsg + tr( "has been modified with the line:" )
- + "\n " + edtext.mid( blsx, blnn );
+ + "\n " + edtext.mid( ixblin, ncblin );
}
mmsg += tr( "\n\n%1 other cell/channel files were"
@@ -2277,12 +2316,15 @@
}
tiDesc = QString( mDesc ).replace( ".model", ".ti_noise" )
- .replace( "2DSA-FM-IT", "2DSA-FM" );
+ .replace( "2DSA-FM-IT", "2DSA-FM" )
+ .replace( "2DSA-FB-IT", "2DSA-FB" );
riDesc = QString( mDesc ).replace( ".model", ".ri_noise" )
- .replace( "2DSA-FM-IT", "2DSA-FM" );
+ .replace( "2DSA-FM-IT", "2DSA-FM" )
+ .replace( "2DSA-FB-IT", "2DSA-FB" );
itix = nieDescs.indexOf( tiDesc );
irix = nieDescs.indexOf( riDesc );
-//DbgLv(1) << "RmvMod: itix irix" << itix << irix;
+DbgLv(1) << "RmvMod: itix irix" << itix << irix
+ << "tiDesc" << tiDesc << "riDesc" << riDesc;
if ( itix >= 0 )
{ // There is a TI noise to remove
@@ -2442,6 +2484,11 @@
msetBase = msetBase.replace( "2DSA-FM-IT", "2DSA-FM" );
DbgLv(1) << "NIE: msetBase" << msetBase;
}
+ if ( msetBase.contains( "2DSA-FB-IT" ) )
+ {
+ msetBase = msetBase.replace( "2DSA-FB-IT", "2DSA-FB" );
+DbgLv(1) << "NIE: msetBase" << msetBase;
+ }
QStringList query;
QString fname;
QString noiID;
More information about the us-commits
mailing list