X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fstd%2Fsrc%2FbbstdVectorFilterDouble.cxx;h=c132e918a19f4bdf67b98d34977c885849eeb50b;hb=8e21d66a76ff9117acc7dbbaec9123c56115ff56;hp=2258e8190a78bad6cd17b7cf3ab849e0f80a5dcd;hpb=d3acb61552eab12e25d95d72b7b7250c984bf22e;p=bbtk.git diff --git a/packages/std/src/bbstdVectorFilterDouble.cxx b/packages/std/src/bbstdVectorFilterDouble.cxx index 2258e81..c132e91 100644 --- a/packages/std/src/bbstdVectorFilterDouble.cxx +++ b/packages/std/src/bbstdVectorFilterDouble.cxx @@ -381,9 +381,9 @@ void VectorFilterDouble::Process() if (bbGetInputType()==12) // Nearest point in vector { int i; - int sizeLstX = In0.size(); // lstX - int sizeLstY = In1.size(); // lstY - int sizeLstZ = In2.size(); // lstZ + int sizeLstX = In0.size(); // lstX + int sizeLstY = In1.size(); // lstY + int sizeLstZ = In2.size(); // lstZ std::vector spc = bbGetInputk1(); if (spc.size()>=1) { @@ -432,6 +432,42 @@ void VectorFilterDouble::Process() Out0.push_back( sqrt( x*x +y*y +z*z ) ); } } // Type 13 + if (bbGetInputType()==14) // Select segments + { + if ( (In0.size()==In1.size()) && (In0.size()==In2.size() ) ) + { + if (bbGetInputk1().size()==0) // not filter , just passing all segmentes + { + Out0 = In0; + Out1 = In1; + Out2 = In2; + Out3 = In3; + } else { + std::vector k1 =bbGetInputk1(); + int iSeg, sizeLstIndex = In3.size(); + int iGeneral=0; + int i, size; + for (iSeg = 0; iSeg