X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=packages%2Fstd%2Fsrc%2FbbstdVectorFilterString.cxx;h=d7ceec8a7f1c233e9fe73e96568bc32ca28b979d;hb=bbf24c629edcb4780e121875bd4e5850f1565698;hp=1973e7be5fbeddf50e10d6d2742c7a4232e3fc6f;hpb=5529db4fdab74bdb508c71ea3c2b8298a1f14a74;p=bbtk.git diff --git a/packages/std/src/bbstdVectorFilterString.cxx b/packages/std/src/bbstdVectorFilterString.cxx index 1973e7b..d7ceec8 100644 --- a/packages/std/src/bbstdVectorFilterString.cxx +++ b/packages/std/src/bbstdVectorFilterString.cxx @@ -74,9 +74,89 @@ void VectorFilterString::FilterByFindinIn0() bbSetOutputOut7( vOut7 ); bbSetOutputOut8( vOut8 ); bbSetOutputOut9( vOut9 ); - } +void VectorFilterString::InsertStringPos() +{ + std::vector vOut0; + std::vector vOut1; + std::vector vOut2; + std::vector vOut3; + std::vector vOut4; + std::vector vOut5; + std::vector vOut6; + std::vector vOut7; + std::vector vOut8; + std::vector vOut9; + int i,size = bbGetInputIn0().size(); + std::string sk1 = bbGetInputsk1(); + int pos = atoi( bbGetInputsk2().c_str() ); + for (i=0; i vOut0; + std::vector vOut1; + std::vector vOut2; + std::vector vOut3; + std::vector vOut4; + std::vector vOut5; + std::vector vOut6; + std::vector vOut7; + std::vector vOut8; + std::vector vOut9; + int i,size = bbGetInputIn0().size(); +// std::string sk1 = bbGetInputsk1(); +// int pos = atoi( bbGetInputsk2().c_str() ); + for (i=size-1; i>=0; i--) + { + if ( i < bbGetInputIn0().size() ) { vOut0.push_back( bbGetInputIn0()[i] ); } + if ( i < bbGetInputIn1().size() ) { vOut1.push_back( bbGetInputIn1()[i] ); } + if ( i < bbGetInputIn2().size() ) { vOut2.push_back( bbGetInputIn2()[i] ); } + if ( i < bbGetInputIn3().size() ) { vOut3.push_back( bbGetInputIn3()[i] ); } + if ( i < bbGetInputIn4().size() ) { vOut4.push_back( bbGetInputIn4()[i] ); } + if ( i < bbGetInputIn5().size() ) { vOut5.push_back( bbGetInputIn5()[i] ); } + if ( i < bbGetInputIn6().size() ) { vOut6.push_back( bbGetInputIn6()[i] ); } + if ( i < bbGetInputIn7().size() ) { vOut7.push_back( bbGetInputIn7()[i] ); } + if ( i < bbGetInputIn8().size() ) { vOut8.push_back( bbGetInputIn8()[i] ); } + if ( i < bbGetInputIn9().size() ) { vOut9.push_back( bbGetInputIn9()[i] ); } + } // for i + bbSetOutputOut0( vOut0 ); + bbSetOutputOut1( vOut1 ); + bbSetOutputOut2( vOut2 ); + bbSetOutputOut3( vOut3 ); + bbSetOutputOut4( vOut4 ); + bbSetOutputOut5( vOut5 ); + bbSetOutputOut6( vOut6 ); + bbSetOutputOut7( vOut7 ); + bbSetOutputOut8( vOut8 ); + bbSetOutputOut9( vOut9 ); +} + + void VectorFilterString::Process() { @@ -130,12 +210,22 @@ void VectorFilterString::Process() bbSetOutputOut9( vOut9 ); } + if (bbGetInputType()==2) + { + FilterByFindinIn0(); + } - if (bbGetInputType()==2) - { - FilterByFindinIn0(); - } + if (bbGetInputType()==3) + { + InsertStringPos(); + } + + if (bbGetInputType()==4) + { + InvertLists(); + } + } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) @@ -174,7 +264,7 @@ void VectorFilterString::bbUserFinalizeProcessing() // if any } -} -// EO namespace bbstd + +} // EO namespace bbstd