]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdGetIntervalNumberFromIntervalList.h
Feature #1648 Add a box finding a value in a list of intervals.
[bbtk.git] / packages / std / src / bbstdGetIntervalNumberFromIntervalList.h
diff --git a/packages/std/src/bbstdGetIntervalNumberFromIntervalList.h b/packages/std/src/bbstdGetIntervalNumberFromIntervalList.h
new file mode 100644 (file)
index 0000000..7a63ea7
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef __bbstdGetIntervalNumberFromIntervalList_h_INCLUDED__
+#define __bbstdGetIntervalNumberFromIntervalList_h_INCLUDED__
+#include "bbstd_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+
+namespace bbstd
+{
+
+class bbstd_EXPORT GetIntervalNumberFromIntervalList
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(GetIntervalNumberFromIntervalList,bbtk::AtomicBlackBox);
+
+  BBTK_DECLARE_INPUT(Value, double);
+  BBTK_DECLARE_INPUT(IntervalList, std::vector<double>);
+  BBTK_DECLARE_INPUT(ErrorValue, double);
+
+  BBTK_DECLARE_OUTPUT(IntervalNumber, int);
+
+  BBTK_PROCESS(Process);
+  void Process();
+};
+
+   BBTK_BEGIN_DESCRIBE_BLACK_BOX(GetIntervalNumberFromIntervalList,bbtk::AtomicBlackBox);
+   BBTK_NAME("GetIntervalNumberFromIntervalList");
+   BBTK_AUTHOR("Claire Mouton");
+   BBTK_DESCRIPTION("Providing a value and a list of intervals, the box returns the first interval number containing the input value. Interval numbers start at 0.");
+   BBTK_CATEGORY("");
+   BBTK_INPUT(GetIntervalNumberFromIntervalList,Value,"The value to be looked for in the interval list.",double,"");
+   BBTK_INPUT(GetIntervalNumberFromIntervalList,IntervalList,"Interval List provided as a list of double values corresponding to intervals. For example, '0 10 20 50' corresponds to the three following intervals 0/[0; 10[  1/[10; 20[  2/[20; 50[.",std::vector<double>,"");
+   BBTK_INPUT(GetIntervalNumberFromIntervalList,ErrorValue,"The output value returned if the value is not in any interval (default is -1).",double,"");
+   BBTK_OUTPUT(GetIntervalNumberFromIntervalList,IntervalNumber,"The (first) interval number containing the input value. If the value is not in any interval, the output is set to the ErrorValue (default is -1).",int,"");
+
+BBTK_END_DESCRIBE_BLACK_BOX(GetIntervalNumberFromIntervalList);
+}
+// EO namespace bbstd
+
+#endif // __bbstdGetIntervalNumberFromIntervalList_h_INCLUDED__
+