X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fstd%2Fsrc%2FbbstdGetIntervalNumberFromIntervalList.cxx;fp=packages%2Fstd%2Fsrc%2FbbstdGetIntervalNumberFromIntervalList.cxx;h=37ee9e6581203470e92e47872b35fabcf8368bdb;hb=512f1982d3dfe062a213d5a7663bb64963e09a04;hp=0000000000000000000000000000000000000000;hpb=81c99482bd91e0d781902d6d45fadda4fbee6793;p=bbtk.git diff --git a/packages/std/src/bbstdGetIntervalNumberFromIntervalList.cxx b/packages/std/src/bbstdGetIntervalNumberFromIntervalList.cxx new file mode 100644 index 0000000..37ee9e6 --- /dev/null +++ b/packages/std/src/bbstdGetIntervalNumberFromIntervalList.cxx @@ -0,0 +1,48 @@ +#include "bbstdGetIntervalNumberFromIntervalList.h" +#include "bbstdPackage.h" + +namespace bbstd +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(std,GetIntervalNumberFromIntervalList) +BBTK_BLACK_BOX_IMPLEMENTATION(GetIntervalNumberFromIntervalList,bbtk::AtomicBlackBox); + +void GetIntervalNumberFromIntervalList::Process() +{ + // Sets the default value, in the case of an inexisting value in the intervals. + bbSetOutputIntervalNumber(bbGetInputErrorValue()); + bool found = false; + + // Looks for the first interval containing the input value. + for (int i = 0; i < (int) bbGetInputIntervalList().size() - 1; i++) + { + if (found == false) + { + if (bbGetInputValue() >= bbGetInputIntervalList()[i] && bbGetInputValue() < bbGetInputIntervalList()[i+1]) + { + bbSetOutputIntervalNumber(i); + found = true; + } + } + } + +} + +void GetIntervalNumberFromIntervalList::bbUserSetDefaultValues() +{ + bbSetInputErrorValue(-1.0); +} + +void GetIntervalNumberFromIntervalList::bbUserInitializeProcessing() +{ + +} + +void GetIntervalNumberFromIntervalList::bbUserFinalizeProcessing() +{ + +} +} +// EO namespace bbstd + +