27 #ifndef SCRIBO_DRAW_BOUNDING_BOXES_HH
28 # define SCRIBO_DRAW_BOUNDING_BOXES_HH
34 # include <mln/core/concept/image.hh>
35 # include <mln/draw/box.hh>
36 # include <mln/util/array.hh>
38 # include <scribo/core/macros.hh>
39 # include <scribo/core/component_set.hh>
54 const mln_value(I)&
value);
58 template <
typename I,
typename L>
62 const mln_value(I)&
value);
65 # ifndef MLN_INCLUDE_ONLY
73 const mln_value(I)&
value)
75 mln_trace(
"scribo::draw::bounding_boxes");
77 I& input =
exact(input_);
79 mln_precondition(input.is_valid());
81 for_all_comp_data(i, boxes)
82 if (boxes[i].is_valid())
83 mln::draw::
box(input, boxes[i], value);
88 template <typename I, typename L>
92 const component_set<L>& components,
93 const mln_value(I)& value)
95 mln_trace(
"scribo::draw::bounding_boxes");
97 I& input =
exact(input_);
99 mln_precondition(input.is_valid());
101 for_all_comps(i, components)
102 if (components(i).is_valid())
103 mln::draw::
box(input, components(i).
bbox(), value);
108 # endif // ! MLN_INCLUDE_ONLY
115 #endif // ! SCRIBO_DRAW_BOUNDING_BOXES_HH