X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fstd%2Fsrc%2FbbstdGetSubVector.h;h=a2cf2e876c27d6a307a1c5944008c9b82f5d887f;hb=79d06fa7c6441e99291ad3a1949d241f336573d5;hp=639aba70d06427f0bee82d2cb47a65b37d8cc122;hpb=6a93fd21dd0bcc270544aad1f3d9342b4480868a;p=bbtk.git diff --git a/packages/std/src/bbstdGetSubVector.h b/packages/std/src/bbstdGetSubVector.h index 639aba7..a2cf2e8 100644 --- a/packages/std/src/bbstdGetSubVector.h +++ b/packages/std/src/bbstdGetSubVector.h @@ -78,15 +78,24 @@ namespace bbstd template void GetSubVector::DoIt() { - int i; + int i,iStart,iEnd; + bool ok = true; + iStart = bbGetInputI(); + iEnd = bbGetInputI() + bbGetInputSize() - 1; + if ((iStart<0) || (iEnd<0)) { ok=false; } + if (iStart>(int)bbGetInputIn().size() ) { ok=false; } + if (iEnd>=(int)bbGetInputIn().size() ) { ok=false; } + + + std::vector tmpVectResult; - if ( (bbGetInputI()<(int)bbGetInputIn().size()) && (bbGetInputI()>=0) && (bbGetInputSize()>=1) ) + if ( (ok==true) && (bbGetInputSize()>=1) ) { - for ( i=0 ; i