Skip to content
Snippets Groups Projects
Commit 0f4c8a76 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

msj

parent 244d0aaa
No related branches found
No related tags found
No related merge requests found
......@@ -302,8 +302,9 @@ int main()
" mpsym symmetrize: map -x -> x, then average\n"
"Per scan:\n"
" msd delete\n"
" msa average (msz preferred)\n"
" msa average\n"
" msb break into files\n"
" msj join\n"
" ms* spawn scans\n"
" msx z_max <-> x\n"
" mso sort by expression\n"
......@@ -345,6 +346,8 @@ int main()
NManip::ScaAvge();
} else if (cmd == "msb") {
NManip::ScaBreak();
} else if (cmd == "msj") {
NManip::ScaJoin();
} else if (cmd == "ms*") {
NManip::ScaSpawn();
} else if (cmd == "msx") {
......
......@@ -699,6 +699,45 @@ void NManip::ScaAvge(void)
}
}
void NManip::ScaJoin(void)
{
CList JSel;
NOlm::JSelAsk( "Start groups at scans", &JSel );
static bool skip_zero = false;
const COld *fin; COld fout;
CScan Sout;
vector<double> y;
uint ji, jf, i, n, mj, nz;
double ym;
string err;
NOlm::IterateD fiter;
NOlm::SelNew();
while((fin=fiter())) {
fout = *fin;
JSel.evaluate( 0, fin->nScan()-1 );
if (JSel.V.size()<1 || JSel.V[0]!=0)
throw string( "scan selection must contain 0" );
fout.lDoc.push_back("msj " + JSel.str());
fout.VS.clear();
nz = fin->nZ();
for(uint iv=0; iv<JSel.size(); iv++) {
ji = JSel.V[iv];
jf = ( iv<JSel.size()-1 ? JSel.V[iv+1] : fin->nScan() );
Sout = fin->VS[ji];
n = fin->VS[ji].size();
for ( uint jj=ji+1; jj<jf; jj++){
for( uint i=0; i<fin->VS[jj].size(); ++i )
Sout.push_back( fin->VS[jj].x[i], fin->VS[jj].y[i] );
}
fout.VS.push_back(Sout);
}
ScaRemoveConstantZ( &fout );
NOlm::OloAdd(&fout);
}
}
void NManip::ScaSpawn(void)
{
static int njj = 2;
......
......@@ -9,6 +9,7 @@ namespace NManip {
void PtsSymmetrize();
void ScaSelect( string del_or_ret );
void ScaAvge();
void ScaJoin();
void ScaBreak();
void ScaSpawn();
void ZExchange();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment