* doc/Doxyfile.in: add a new macro.
* doc/Makefile.am: add new distributed files.
* doc/examples/tuto3/first_routine.cc: add doxygen file tag.
* doc/groups.hh,
* doc/groups/accu.hh,
* doc/groups/functions.hh,
* doc/groups/graph.hh,
* doc/groups/images.hh,
* doc/groups/main.hh,
* doc/groups/neighb.hh,
* doc/groups/site_set.hh,
* doc/groups/util.hh,
* doc/groups/win.hh,
* mln/accu/bbox.hh,
* mln/accu/center.hh,
* mln/accu/convolve.hh,
* mln/accu/count.hh,
* mln/accu/count_adjacent_vertices.hh,
* mln/accu/count_labels.hh,
* mln/accu/height.hh,
* mln/accu/histo.hh,
* mln/accu/inf.hh,
* mln/accu/internal/couple.hh,
* mln/accu/label_used.hh,
* mln/accu/land.hh,
* mln/accu/land_basic.hh,
* mln/accu/line.hh,
* mln/accu/lor.hh,
* mln/accu/lor_basic.hh,
* mln/accu/maj_h.hh,
* mln/accu/max.hh,
* mln/accu/max_h.hh,
* mln/accu/mean.hh,
* mln/accu/median_alt.hh,
* mln/accu/median_h.hh,
* mln/accu/min.hh,
* mln/accu/min_h.hh,
* mln/accu/min_max.hh,
* mln/accu/pair.hh,
* mln/accu/rank.hh,
* mln/accu/rank_bool.hh,
* mln/accu/rank_high_quant.hh,
* mln/accu/rms.hh,
* mln/accu/site_set/rectangularity.hh,
* mln/accu/stat/deviation.hh,
* mln/accu/stat/variance.hh,
* mln/accu/sum.hh,
* mln/accu/sup.hh,
* mln/accu/tuple.hh,
* mln/accu/volume.hh,
* mln/canvas/morpho/internal/find_root.hh,
* mln/convert/impl/from_image_to_site_set.hh,
* mln/core/alias/neighb1d.hh,
* mln/core/alias/neighb2d.hh,
* mln/core/alias/neighb3d.hh,
* mln/core/alias/window1d.hh,
* mln/core/alias/window2d.hh,
* mln/core/alias/window3d.hh,
* mln/core/concept/function.hh,
* mln/core/concept/object.hh,
* mln/core/concept/object_id.hh,
* mln/core/image/complex_image.hh,
* mln/core/image/decorated_image.hh,
* mln/core/image/edge_image.hh,
* mln/core/image/extended.hh,
* mln/core/image/extension_fun.hh,
* mln/core/image/extension_ima.hh,
* mln/core/image/extension_val.hh,
* mln/core/image/flat_image.hh,
* mln/core/image/fun_image.hh,
* mln/core/image/hexa.hh,
* mln/core/image/interpolated.hh,
* mln/core/image/lazy_image.hh,
* mln/core/image/plain.hh,
* mln/core/image/safe.hh,
* mln/core/image/slice_image.hh,
* mln/core/image/sub_image.hh,
* mln/core/image/sub_image_if.hh,
* mln/core/image/t_image.hh,
* mln/core/image/thru_morpher.hh,
* mln/core/image/thrubin_morpher.hh,
* mln/core/image/tr_image.hh,
* mln/core/image/unproject_image.hh,
* mln/core/image/vertex_image.hh,
* mln/core/image/violent_cast_image.hh,
* mln/core/site_set/box.hh,
* mln/core/site_set/p_array.hh,
* mln/core/site_set/p_centered.hh,
* mln/core/site_set/p_complex.hh,
* mln/core/site_set/p_edges.hh,
* mln/core/site_set/p_faces.hh,
* mln/core/site_set/p_if.hh,
* mln/core/site_set/p_image.hh,
* mln/core/site_set/p_key.hh,
* mln/core/site_set/p_line2d.hh,
* mln/core/site_set/p_mutable_array_of.hh,
* mln/core/site_set/p_priority.hh,
* mln/core/site_set/p_queue.hh,
* mln/core/site_set/p_queue_fast.hh,
* mln/core/site_set/p_run.hh,
* mln/core/site_set/p_set.hh,
* mln/core/site_set/p_vaccess.hh,
* mln/core/site_set/p_vertices.hh,
* mln/fun/i2v/all.hh,
* mln/fun/meta/inty.hh,
* mln/fun/meta/lum.hh,
* mln/pw/image.hh,
* mln/topo/is_n_face.hh,
* mln/util/array.hh,
* mln/util/couple.hh,
* mln/util/fibonacci_heap.hh,
* mln/util/graph.hh,
* mln/util/line_graph.hh,
* mln/util/ord_pair.hh,
* mln/util/set.hh,
* mln/util/site_pair.hh,
* mln/util/soft_heap.hh,
* mln/win/backdiag2d.hh,
* mln/win/ball.hh,
* mln/win/cube3d.hh,
* mln/win/cuboid3d.hh,
* mln/win/diag2d.hh,
* mln/win/disk2d.hh,
* mln/win/hline2d.hh,
* mln/win/line.hh,
* mln/win/multiple.hh,
* mln/win/multiple_size.hh,
* mln/win/octagon2d.hh,
* mln/win/rectangle2d.hh,
* mln/win/segment1d.hh,
* mln/win/shift.hh,
* mln/win/sphere3d.hh,
* mln/win/vline2d.hh: revamp doc and map types to doxygen modules.
* tests/transform/distance_and_closest_point_geodesic.cc,
* tests/util/soft_heap.cc: fix doxygen file tag.
---
milena/ChangeLog | 144 ++++++++++++++
milena/doc/Doxyfile.in | 3 +-
milena/doc/Makefile.am | 1 +
milena/doc/examples/tuto3/first_routine.cc | 2 +
milena/doc/groups.hh | 28 ---
milena/doc/groups/accu.hh | 29 +++
milena/doc/groups/functions.hh | 7 +
milena/doc/groups/graph.hh | 7 +
milena/doc/groups/images.hh | 36 ++++
milena/doc/groups/main.hh | 30 +++
milena/doc/groups/neighb.hh | 28 +++
milena/doc/groups/site_set.hh | 42 ++++
milena/doc/groups/util.hh | 8 +
milena/doc/groups/win.hh | 42 ++++
milena/mln/accu/bbox.hh | 7 +-
milena/mln/accu/center.hh | 5 +-
milena/mln/accu/convolve.hh | 7 +-
milena/mln/accu/count.hh | 9 +-
milena/mln/accu/count_adjacent_vertices.hh | 9 +-
milena/mln/accu/count_labels.hh | 5 +-
milena/mln/accu/height.hh | 10 +-
milena/mln/accu/histo.hh | 8 +-
milena/mln/accu/inf.hh | 10 +-
milena/mln/accu/internal/couple.hh | 2 +-
milena/mln/accu/label_used.hh | 5 +-
milena/mln/accu/land.hh | 9 +-
milena/mln/accu/land_basic.hh | 13 +-
milena/mln/accu/line.hh | 5 +-
milena/mln/accu/lor.hh | 9 +-
milena/mln/accu/lor_basic.hh | 13 +-
milena/mln/accu/maj_h.hh | 8 +-
milena/mln/accu/max.hh | 7 +-
milena/mln/accu/max_h.hh | 8 +-
milena/mln/accu/mean.hh | 8 +-
milena/mln/accu/median_alt.hh | 8 +-
milena/mln/accu/median_h.hh | 8 +-
milena/mln/accu/min.hh | 8 +-
milena/mln/accu/min_h.hh | 8 +-
milena/mln/accu/min_max.hh | 7 +-
milena/mln/accu/pair.hh | 5 +-
milena/mln/accu/rank.hh | 7 +-
milena/mln/accu/rank_bool.hh | 11 +-
milena/mln/accu/rank_high_quant.hh | 8 +-
milena/mln/accu/rms.hh | 4 +-
milena/mln/accu/site_set/rectangularity.hh | 5 +-
milena/mln/accu/stat/deviation.hh | 4 +-
milena/mln/accu/stat/variance.hh | 5 +-
milena/mln/accu/sum.hh | 4 +-
milena/mln/accu/sup.hh | 4 +-
milena/mln/accu/tuple.hh | 6 +-
milena/mln/accu/volume.hh | 8 +-
milena/mln/canvas/morpho/internal/find_root.hh | 2 +-
milena/mln/convert/impl/from_image_to_site_set.hh | 2 +-
milena/mln/core/alias/neighb1d.hh | 37 ++--
milena/mln/core/alias/neighb2d.hh | 87 +++++---
milena/mln/core/alias/neighb3d.hh | 207 ++++++++++++--------
milena/mln/core/alias/window1d.hh | 10 +-
milena/mln/core/alias/window2d.hh | 45 +++--
milena/mln/core/alias/window3d.hh | 79 +++++---
milena/mln/core/concept/function.hh | 107 +++--------
milena/mln/core/concept/object.hh | 4 +-
milena/mln/core/concept/object_id.hh | 2 +-
milena/mln/core/image/complex_image.hh | 8 +-
milena/mln/core/image/decorated_image.hh | 22 +-
milena/mln/core/image/edge_image.hh | 4 +-
milena/mln/core/image/extended.hh | 6 +-
milena/mln/core/image/extension_fun.hh | 27 ++--
milena/mln/core/image/extension_ima.hh | 6 +-
milena/mln/core/image/extension_val.hh | 6 +-
milena/mln/core/image/flat_image.hh | 21 +-
milena/mln/core/image/fun_image.hh | 5 +-
milena/mln/core/image/hexa.hh | 9 +-
milena/mln/core/image/interpolated.hh | 3 +-
milena/mln/core/image/lazy_image.hh | 14 +-
milena/mln/core/image/plain.hh | 6 +-
milena/mln/core/image/safe.hh | 10 +-
milena/mln/core/image/slice_image.hh | 10 +-
milena/mln/core/image/sub_image.hh | 27 ++--
milena/mln/core/image/sub_image_if.hh | 19 +-
milena/mln/core/image/t_image.hh | 24 ++-
milena/mln/core/image/thru_morpher.hh | 8 +-
milena/mln/core/image/thrubin_morpher.hh | 12 +-
milena/mln/core/image/tr_image.hh | 7 +-
milena/mln/core/image/unproject_image.hh | 4 +-
milena/mln/core/image/vertex_image.hh | 5 +-
milena/mln/core/image/violent_cast_image.hh | 20 +-
milena/mln/core/site_set/box.hh | 16 +-
milena/mln/core/site_set/p_array.hh | 6 +-
milena/mln/core/site_set/p_centered.hh | 25 ++-
milena/mln/core/site_set/p_complex.hh | 6 +-
milena/mln/core/site_set/p_edges.hh | 4 +
milena/mln/core/site_set/p_faces.hh | 12 +-
milena/mln/core/site_set/p_if.hh | 22 ++-
milena/mln/core/site_set/p_image.hh | 21 ++-
milena/mln/core/site_set/p_key.hh | 21 +-
milena/mln/core/site_set/p_line2d.hh | 10 +-
milena/mln/core/site_set/p_mutable_array_of.hh | 9 +-
milena/mln/core/site_set/p_priority.hh | 12 +-
milena/mln/core/site_set/p_queue.hh | 17 +-
milena/mln/core/site_set/p_queue_fast.hh | 22 ++-
milena/mln/core/site_set/p_run.hh | 20 +-
milena/mln/core/site_set/p_set.hh | 10 +-
milena/mln/core/site_set/p_vaccess.hh | 8 +-
milena/mln/core/site_set/p_vertices.hh | 6 +-
milena/mln/fun/i2v/all.hh | 20 +-
milena/mln/fun/meta/inty.hh | 2 +-
milena/mln/fun/meta/lum.hh | 2 +-
milena/mln/pw/image.hh | 5 +-
milena/mln/topo/is_n_face.hh | 3 +-
milena/mln/util/array.hh | 5 +-
milena/mln/util/couple.hh | 3 +
milena/mln/util/fibonacci_heap.hh | 3 +
milena/mln/util/graph.hh | 5 +-
milena/mln/util/line_graph.hh | 5 +-
milena/mln/util/ord_pair.hh | 9 +-
milena/mln/util/set.hh | 7 +-
milena/mln/util/site_pair.hh | 8 +-
milena/mln/util/soft_heap.hh | 4 +
milena/mln/win/backdiag2d.hh | 22 ++-
milena/mln/win/ball.hh | 6 +-
milena/mln/win/cube3d.hh | 28 ++--
milena/mln/win/cuboid3d.hh | 44 +++--
milena/mln/win/diag2d.hh | 22 ++-
milena/mln/win/disk2d.hh | 6 +-
milena/mln/win/hline2d.hh | 31 ++--
milena/mln/win/line.hh | 8 +-
milena/mln/win/multiple.hh | 18 +-
milena/mln/win/multiple_size.hh | 4 +
milena/mln/win/octagon2d.hh | 22 ++-
milena/mln/win/rectangle2d.hh | 26 ++-
milena/mln/win/segment1d.hh | 22 ++-
milena/mln/win/shift.hh | 10 +-
milena/mln/win/sphere3d.hh | 7 +-
milena/mln/win/vline2d.hh | 34 ++--
.../distance_and_closest_point_geodesic.cc | 2 +-
milena/tests/util/graph.cc | 4 +-
milena/tests/util/soft_heap.cc | 2 +-
137 files changed, 1430 insertions(+), 755 deletions(-)
delete mode 100644 milena/doc/groups.hh
create mode 100644 milena/doc/groups/accu.hh
create mode 100644 milena/doc/groups/functions.hh
create mode 100644 milena/doc/groups/graph.hh
create mode 100644 milena/doc/groups/images.hh
create mode 100644 milena/doc/groups/main.hh
create mode 100644 milena/doc/groups/neighb.hh
create mode 100644 milena/doc/groups/site_set.hh
create mode 100644 milena/doc/groups/util.hh
create mode 100644 milena/doc/groups/win.hh
diff --git a/milena/ChangeLog b/milena/ChangeLog
index b073efe..f27acb1 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,149 @@
2009-04-29 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+ Update doc.
+
+ * doc/Doxyfile.in: add a new macro.
+
+ * doc/Makefile.am: add new distributed files.
+
+ * doc/examples/tuto3/first_routine.cc: add doxygen file tag.
+
+ * doc/groups.hh,
+ * doc/groups/accu.hh,
+ * doc/groups/functions.hh,
+ * doc/groups/graph.hh,
+ * doc/groups/images.hh,
+ * doc/groups/main.hh,
+ * doc/groups/neighb.hh,
+ * doc/groups/site_set.hh,
+ * doc/groups/util.hh,
+ * doc/groups/win.hh,
+ * mln/accu/bbox.hh,
+ * mln/accu/center.hh,
+ * mln/accu/convolve.hh,
+ * mln/accu/count.hh,
+ * mln/accu/count_adjacent_vertices.hh,
+ * mln/accu/count_labels.hh,
+ * mln/accu/height.hh,
+ * mln/accu/histo.hh,
+ * mln/accu/inf.hh,
+ * mln/accu/internal/couple.hh,
+ * mln/accu/label_used.hh,
+ * mln/accu/land.hh,
+ * mln/accu/land_basic.hh,
+ * mln/accu/line.hh,
+ * mln/accu/lor.hh,
+ * mln/accu/lor_basic.hh,
+ * mln/accu/maj_h.hh,
+ * mln/accu/max.hh,
+ * mln/accu/max_h.hh,
+ * mln/accu/mean.hh,
+ * mln/accu/median_alt.hh,
+ * mln/accu/median_h.hh,
+ * mln/accu/min.hh,
+ * mln/accu/min_h.hh,
+ * mln/accu/min_max.hh,
+ * mln/accu/pair.hh,
+ * mln/accu/rank.hh,
+ * mln/accu/rank_bool.hh,
+ * mln/accu/rank_high_quant.hh,
+ * mln/accu/rms.hh,
+ * mln/accu/site_set/rectangularity.hh,
+ * mln/accu/stat/deviation.hh,
+ * mln/accu/stat/variance.hh,
+ * mln/accu/sum.hh,
+ * mln/accu/sup.hh,
+ * mln/accu/tuple.hh,
+ * mln/accu/volume.hh,
+ * mln/canvas/morpho/internal/find_root.hh,
+ * mln/convert/impl/from_image_to_site_set.hh,
+ * mln/core/alias/neighb1d.hh,
+ * mln/core/alias/neighb2d.hh,
+ * mln/core/alias/neighb3d.hh,
+ * mln/core/alias/window1d.hh,
+ * mln/core/alias/window2d.hh,
+ * mln/core/alias/window3d.hh,
+ * mln/core/concept/function.hh,
+ * mln/core/concept/object.hh,
+ * mln/core/concept/object_id.hh,
+ * mln/core/image/complex_image.hh,
+ * mln/core/image/decorated_image.hh,
+ * mln/core/image/edge_image.hh,
+ * mln/core/image/extended.hh,
+ * mln/core/image/extension_fun.hh,
+ * mln/core/image/extension_ima.hh,
+ * mln/core/image/extension_val.hh,
+ * mln/core/image/flat_image.hh,
+ * mln/core/image/fun_image.hh,
+ * mln/core/image/hexa.hh,
+ * mln/core/image/interpolated.hh,
+ * mln/core/image/lazy_image.hh,
+ * mln/core/image/plain.hh,
+ * mln/core/image/safe.hh,
+ * mln/core/image/slice_image.hh,
+ * mln/core/image/sub_image.hh,
+ * mln/core/image/sub_image_if.hh,
+ * mln/core/image/t_image.hh,
+ * mln/core/image/thru_morpher.hh,
+ * mln/core/image/thrubin_morpher.hh,
+ * mln/core/image/tr_image.hh,
+ * mln/core/image/unproject_image.hh,
+ * mln/core/image/vertex_image.hh,
+ * mln/core/image/violent_cast_image.hh,
+ * mln/core/site_set/box.hh,
+ * mln/core/site_set/p_array.hh,
+ * mln/core/site_set/p_centered.hh,
+ * mln/core/site_set/p_complex.hh,
+ * mln/core/site_set/p_edges.hh,
+ * mln/core/site_set/p_faces.hh,
+ * mln/core/site_set/p_if.hh,
+ * mln/core/site_set/p_image.hh,
+ * mln/core/site_set/p_key.hh,
+ * mln/core/site_set/p_line2d.hh,
+ * mln/core/site_set/p_mutable_array_of.hh,
+ * mln/core/site_set/p_priority.hh,
+ * mln/core/site_set/p_queue.hh,
+ * mln/core/site_set/p_queue_fast.hh,
+ * mln/core/site_set/p_run.hh,
+ * mln/core/site_set/p_set.hh,
+ * mln/core/site_set/p_vaccess.hh,
+ * mln/core/site_set/p_vertices.hh,
+ * mln/fun/i2v/all.hh,
+ * mln/fun/meta/inty.hh,
+ * mln/fun/meta/lum.hh,
+ * mln/pw/image.hh,
+ * mln/topo/is_n_face.hh,
+ * mln/util/array.hh,
+ * mln/util/couple.hh,
+ * mln/util/fibonacci_heap.hh,
+ * mln/util/graph.hh,
+ * mln/util/line_graph.hh,
+ * mln/util/ord_pair.hh,
+ * mln/util/set.hh,
+ * mln/util/site_pair.hh,
+ * mln/util/soft_heap.hh,
+ * mln/win/backdiag2d.hh,
+ * mln/win/ball.hh,
+ * mln/win/cube3d.hh,
+ * mln/win/cuboid3d.hh,
+ * mln/win/diag2d.hh,
+ * mln/win/disk2d.hh,
+ * mln/win/hline2d.hh,
+ * mln/win/line.hh,
+ * mln/win/multiple.hh,
+ * mln/win/multiple_size.hh,
+ * mln/win/octagon2d.hh,
+ * mln/win/rectangle2d.hh,
+ * mln/win/segment1d.hh,
+ * mln/win/shift.hh,
+ * mln/win/sphere3d.hh,
+ * mln/win/vline2d.hh: revamp doc and map types to doxygen modules.
+
+ * tests/transform/distance_and_closest_point_geodesic.cc,
+ * tests/util/soft_heap.cc: fix doxygen file tag.
+
+2009-04-29 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
Small fixes.
* mln/algebra/all.hh: fix comments.
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 649ea2f..f088755 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -285,7 +285,8 @@ PREDEFINED = "mlc_unqualif(T)=typename
mln::metal::unqualif<T>::ret"
"mln_gradient_component(I)=typename mln::trait::ch_value< I,
mln::value::props< typename I::value >::sum >::ret" \
"mln_gradient(I)=mln::value::stack_image< I::point::dim,
mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret
>" \
"mln_trait_value_sum_product(T, U)=typename mln::trait::value_<
mln_trait_op_times(T,U) >::sum" \
- "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U)
>::sum"
+ "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U)
>::sum" \
+ "mln_deduce(T, A1, A2)=typename T::A1::A2"
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 14da88f..f1025b3 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -99,6 +99,7 @@ include $(srcdir)/outputs/outputs.mk
EXTRA_DIST += \
Doxyfile.in \
+groups \
user \
tools/sample_utils.hh \
tools/split_sample.sh \
diff --git a/milena/doc/examples/tuto3/first_routine.cc
b/milena/doc/examples/tuto3/first_routine.cc
index a0eb870..b4d3b58 100644
--- a/milena/doc/examples/tuto3/first_routine.cc
+++ b/milena/doc/examples/tuto3/first_routine.cc
@@ -1,3 +1,5 @@
+/// \file doc/examples/first_routine.cc
+
#include <mln/essential/2d.hh>
#include <tests/data.hh>
#include <doc/tools/sample_utils.hh>
diff --git a/milena/doc/groups.hh b/milena/doc/groups.hh
deleted file mode 100644
index 30d9b6f..0000000
--- a/milena/doc/groups.hh
+++ /dev/null
@@ -1,28 +0,0 @@
-/*! \defgroup modimage Image types.
- *
- * All the generic image types provided in Olena.
- *
- */
-
-/*! \defgroup modimageconcrete Basic types.
- *
- * Concrete images.
- *
- * \ingroup modimage
- */
-
-/*! \defgroup modimagevaluemorpher Morpher on values.
- *
- * Morpher on image values.
- *
- * \ingroup modimage
- */
-
-/*! \defgroup modimagedomainmorpher Morpher on domain.
- *
- * Morpher on image domain.
- *
- * \ingroup modimage
- */
-
-
diff --git a/milena/doc/groups/accu.hh b/milena/doc/groups/accu.hh
new file mode 100644
index 0000000..bce4846
--- /dev/null
+++ b/milena/doc/groups/accu.hh
@@ -0,0 +1,29 @@
+/*! \defgroup modaccusiteset On site sets
+ *
+ * \brief Accumulators working on site sets.
+ *
+ * \ingroup modaccu
+ */
+
+/*! \defgroup modaccuimages On images
+ *
+ * \brief Accumulators working on images.
+ *
+ * \ingroup modaccu
+ */
+
+/*! \defgroup modaccuvalues On values
+ *
+ * \brief Accumulators working on image values.
+ *
+ * \ingroup modaccu
+ */
+
+/*! \defgroup modaccumulti Multiple accumulators
+ *
+ * \brief Set of special accumulators for computing several accumulators
+ * at the same time.
+ *
+ * \ingroup modaccu
+ */
+
diff --git a/milena/doc/groups/functions.hh b/milena/doc/groups/functions.hh
new file mode 100644
index 0000000..e5ce340
--- /dev/null
+++ b/milena/doc/groups/functions.hh
@@ -0,0 +1,7 @@
+/*! \defgroup modfunconcept Concepts
+ *
+ * \brief All function concepts.
+ *
+ * \ingroup modfun
+ */
+
diff --git a/milena/doc/groups/graph.hh b/milena/doc/groups/graph.hh
new file mode 100644
index 0000000..5b5040e
--- /dev/null
+++ b/milena/doc/groups/graph.hh
@@ -0,0 +1,7 @@
+/*! \defgroup modgraph Graphes
+ *
+ * \brief All graphes implementations.
+ *
+ * \ingroup modtypes
+ */
+
diff --git a/milena/doc/groups/images.hh b/milena/doc/groups/images.hh
new file mode 100644
index 0000000..c248cbb
--- /dev/null
+++ b/milena/doc/groups/images.hh
@@ -0,0 +1,36 @@
+/*! \defgroup modimage Images
+ *
+ * \brief All the generic image types provided in Olena.
+ *
+ * \ingroup modtypes
+ */
+
+/*! \defgroup modimageconcrete Basic types
+ *
+ * \brief Concrete images.
+ *
+ * \ingroup modimage
+ */
+
+/*! \defgroup modimagevaluemorpher Values morphers
+ *
+ * \brief Morpher on image values.
+ *
+ * \ingroup modimage
+ */
+
+/*! \defgroup modimagedomainmorpher Domain morphers
+ *
+ * \brief Morpher on image domain.
+ *
+ * \ingroup modimage
+ */
+
+/*! \defgroup modimageidmorpher Identity morphers
+ *
+ * \brief Morpher adding new functionnalities.
+ *
+ * \ingroup modimage
+ */
+
+
diff --git a/milena/doc/groups/main.hh b/milena/doc/groups/main.hh
new file mode 100644
index 0000000..80dc6a3
--- /dev/null
+++ b/milena/doc/groups/main.hh
@@ -0,0 +1,30 @@
+/*! \defgroup modtypes Types
+ *
+ * \brief Milena Object types.
+ *
+ */
+
+/*! \defgroup modaccu Accumulators
+ *
+ * \brief All accumulator types.
+ *
+ */
+
+/*! \defgroup modroutines Routines
+ *
+ * \brief All algorithms/routines provided in Milena.
+ *
+ */
+
+/*! \defgroup modcanvas Canvas
+ *
+ * \brief All canvas.
+ *
+ */
+
+/*! \defgroup modfun Functions
+ *
+ * \brief All predefined functions.
+ *
+ */
+
diff --git a/milena/doc/groups/neighb.hh b/milena/doc/groups/neighb.hh
new file mode 100644
index 0000000..ec9e07f
--- /dev/null
+++ b/milena/doc/groups/neighb.hh
@@ -0,0 +1,28 @@
+/*! \defgroup modneighb Neighborhoods
+ *
+ * \brief All the predefined generic neighborhoods.
+ *
+ * \ingroup modtypes
+ */
+
+/*! \defgroup modneighb1d 1D neighborhoods
+ *
+ * \brief Predefined 1D neighborhoods.
+ *
+ * \ingroup modneighb
+ */
+
+/*! \defgroup modneighb2d 2D neighborhoods
+ *
+ * \brief Predefined 2D neighborhoods.
+ *
+ * \ingroup modneighb
+ */
+
+/*! \defgroup modneighb3d 3D neighborhoods
+ *
+ * \brief Predefined 3D neighborhoods.
+ *
+ * \ingroup modneighb
+ */
+
diff --git a/milena/doc/groups/site_set.hh b/milena/doc/groups/site_set.hh
new file mode 100644
index 0000000..9589764
--- /dev/null
+++ b/milena/doc/groups/site_set.hh
@@ -0,0 +1,42 @@
+/*! \defgroup modsiteset Site sets
+ *
+ * \brief All Site set types.
+ *
+ * \ingroup modtypes
+ */
+
+/*! \defgroup modsitesetbasic Basic types
+ *
+ * \brief Basic site sets.
+ *
+ * \ingroup modsiteset
+ */
+
+/*! \defgroup modsitesetgraph Graph based
+ *
+ * \brief Site sets based on a graph.
+ *
+ * \ingroup modsiteset
+ */
+
+/*! \defgroup modsitesetcomplex Complex based
+ *
+ * \brief Site sets based on a complexes.
+ *
+ * \ingroup modsiteset
+ */
+
+/*! \defgroup modsitesetsparse Sparse types
+ *
+ * \brief Sparse site sets.
+ *
+ * \ingroup modsiteset
+ */
+
+/*! \defgroup modsitesetqueue Queue based
+ *
+ * \brief Site sets based on a queue.
+ *
+ * \ingroup modsiteset
+ */
+
diff --git a/milena/doc/groups/util.hh b/milena/doc/groups/util.hh
new file mode 100644
index 0000000..0a9c9af
--- /dev/null
+++ b/milena/doc/groups/util.hh
@@ -0,0 +1,8 @@
+/*! \defgroup modutil Utilities
+ *
+ * \brief Miscalleneous useful containers/structures.
+ *
+ * \ingroup modtypes
+ */
+
+
diff --git a/milena/doc/groups/win.hh b/milena/doc/groups/win.hh
new file mode 100644
index 0000000..a7e9431
--- /dev/null
+++ b/milena/doc/groups/win.hh
@@ -0,0 +1,42 @@
+/*! \defgroup modwin Windows
+ *
+ * \brief All the predefined generic windows.
+ *
+ * \ingroup modtypes
+ */
+
+/*! \defgroup modwin1d 1D windows
+ *
+ * \brief Predefined 1D windows.
+ *
+ * \ingroup modwin
+ */
+
+/*! \defgroup modwin2d 2D windows
+ *
+ * \brief Predefined 2D windows.
+ *
+ * \ingroup modwin
+ */
+
+/*! \defgroup modwin3d 3D windows
+ *
+ * \brief Predefined 3D windows.
+ *
+ * \ingroup modwin
+ */
+
+/*! \defgroup modwinnd N-D windows
+ *
+ * \brief Predefined N-D windows.
+ *
+ * \ingroup modwin
+ */
+
+/*! \defgroup modwinmulti Multiple windows
+ *
+ * \brief Generic multiple windows.
+ *
+ * \ingroup modwin
+ */
+
diff --git a/milena/mln/accu/bbox.hh b/milena/mln/accu/bbox.hh
index 1f8bfa5..35ecd4d 100644
--- a/milena/mln/accu/bbox.hh
+++ b/milena/mln/accu/bbox.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,10 +45,12 @@ namespace mln
{
- /// Generic bbox accumulator class.
+ /// \brief Generic bounding box accumulator class.
///
/// The parameter \c P is the type of points.
///
+ /// \ingroup modaccusiteset
+ //
template <typename P>
struct bbox : public mln::accu::internal::base< const box<P>& ,
bbox<P> >
{
diff --git a/milena/mln/accu/center.hh b/milena/mln/accu/center.hh
index 92e870e..6715dc6 100644
--- a/milena/mln/accu/center.hh
+++ b/milena/mln/accu/center.hh
@@ -45,11 +45,14 @@ namespace mln
{
- /// Generic center accumulator class.
+ /// \brief Mass center accumulator.
///
/// \tparam P the type of site.
/// \tparam V the type of vector to be used as result.
/// The default vector type is the one provided by P.
+ ///
+ /// \ingroup modaccusiteset
+ //
template <typename P, typename V = typename P::vec>
struct center
: public mln::accu::internal::base<V, center<P,V> >
diff --git a/milena/mln/accu/convolve.hh b/milena/mln/accu/convolve.hh
index 0769f1a..750454c 100644
--- a/milena/mln/accu/convolve.hh
+++ b/milena/mln/accu/convolve.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,11 +45,13 @@ namespace mln
{
- /// Generic convolution accumulator class.
+ /// \brief Generic convolution accumulator class.
///
/// Parameters \c T1 and \c T2 are the type of values to be
/// convolved. Parameter \c R is the result type.
///
+ /// \ingroup modaccuvalues
+ //
template <typename T1, typename T2,
typename R = mln_sum_product(T1, T2)>
struct convolve : public mln::accu::internal::base< R, convolve<T1,T2,R>
>,
diff --git a/milena/mln/accu/count.hh b/milena/mln/accu/count.hh
index 9d68fec..dddc5f2 100644
--- a/milena/mln/accu/count.hh
+++ b/milena/mln/accu/count.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -43,8 +43,11 @@ namespace mln
namespace accu
{
- /// Generic counter accumulator class.
+ /// \brief Generic counter accumulator.
/// The parameter \a T is the type to be count.
+ ///
+ /// \ingroup modaccusiteset
+ //
template <typename T>
struct count : public mln::accu::internal::base< unsigned , count<T> >
{
diff --git a/milena/mln/accu/count_adjacent_vertices.hh
b/milena/mln/accu/count_adjacent_vertices.hh
index 9d1f7b3..155ad56 100644
--- a/milena/mln/accu/count_adjacent_vertices.hh
+++ b/milena/mln/accu/count_adjacent_vertices.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,7 +45,7 @@ namespace mln
namespace accu
{
- /// Accumulator class counting the number of vertices
+ /// \brief Accumulator class counting the number of vertices
/// adjacent to a set of mln::p_edges_psite (i.e., a set of
/// edges).
///
@@ -54,6 +54,9 @@ namespace mln
///
/// This accumulator is used by mln::closing_area_on_vertices and
/// mln::opening_area_on_vertices.
+ ///
+ /// \ingroup modaccuimages
+ //
template <typename F, typename S>
struct count_adjacent_vertices
: public mln::accu::internal::base< unsigned,
diff --git a/milena/mln/accu/count_labels.hh b/milena/mln/accu/count_labels.hh
index 533e736..f6c6b3d 100644
--- a/milena/mln/accu/count_labels.hh
+++ b/milena/mln/accu/count_labels.hh
@@ -46,8 +46,11 @@ namespace mln
namespace accu
{
- /// Generic counter accumulator class.
+ /// \brief Count the number of different labels in an image.
/// The parameter \a L is the label type to be count.
+ ///
+ /// \ingroup modaccuvalues
+ //
template <typename L>
struct count_labels
: public mln::accu::internal::base< unsigned , count_labels<L> >,
diff --git a/milena/mln/accu/height.hh b/milena/mln/accu/height.hh
index 58f1569..6aca1a5 100644
--- a/milena/mln/accu/height.hh
+++ b/milena/mln/accu/height.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,6 +30,7 @@
# define MLN_ACCU_HEIGHT_HH
/// \file mln/accu/height.hh
+///
/// Define an accumulator that computes the height of a
/// component through one of its pixels.
/*
@@ -55,10 +56,13 @@ namespace mln
namespace accu
{
- /// Height accumulator class.
+ /// \brief Height accumulator.
///
/// The parameter \p I is the image type on which the accumulator
/// of pixels is built.
+ ///
+ /// \ingroup modaccuimages
+ //
template <typename I>
struct height
: public mln::accu::internal::base< unsigned , height<I> >
diff --git a/milena/mln/accu/histo.hh b/milena/mln/accu/histo.hh
index b66ed52..fbc3833 100644
--- a/milena/mln/accu/histo.hh
+++ b/milena/mln/accu/histo.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -52,9 +52,9 @@ namespace mln
{
+ /// \brief Generic histogram class over a value set with type \c V.
///
- /// Generic histogram class over a value set with type \c V.
- ///
+ /// \ingroup modaccuvalues
template <typename V>
struct histo :
public mln::accu::internal::base<const std::vector<unsigned>& ,
diff --git a/milena/mln/accu/inf.hh b/milena/mln/accu/inf.hh
index 0160069..a77c5aa 100644
--- a/milena/mln/accu/inf.hh
+++ b/milena/mln/accu/inf.hh
@@ -46,10 +46,12 @@ namespace mln
{
- /// Generic inf accumulator class.
- /*!
- * The parameter \c T is the type of values.
- */
+ /// \brief Generic inf accumulator class.
+ ///
+ /// The parameter \c T is the type of values.
+ ///
+ /// \ingroup modaccuvalues
+ //
template <typename T>
struct inf : public mln::accu::internal::base< const T&, inf<T> >
{
diff --git a/milena/mln/accu/internal/couple.hh b/milena/mln/accu/internal/couple.hh
index d4678a6..86db654 100644
--- a/milena/mln/accu/internal/couple.hh
+++ b/milena/mln/accu/internal/couple.hh
@@ -29,7 +29,7 @@
#ifndef MLN_ACCU_INTERNAL_COUPLE_HH
# define MLN_ACCU_INTERNAL_COUPLE_HH
-/// \file mln/accu/couple.hh
+/// \file mln/accu/internal/couple.hh
///
/// Base implementation of a couple of accumulators.
diff --git a/milena/mln/accu/label_used.hh b/milena/mln/accu/label_used.hh
index fe3553f..d268512 100644
--- a/milena/mln/accu/label_used.hh
+++ b/milena/mln/accu/label_used.hh
@@ -45,8 +45,11 @@ namespace mln
namespace accu
{
- /// Define an accumulator that references all the labels used.
+ /// \brief References all the labels used.
/// The parameter \a L is the label type.
+ ///
+ /// \ingroup modaccuvalues
+ //
template <typename L>
struct label_used : public mln::accu::internal::base< const
fun::i2v::array<bool>& , label_used<L> >
{
diff --git a/milena/mln/accu/land.hh b/milena/mln/accu/land.hh
index 5a579a1..37161db 100644
--- a/milena/mln/accu/land.hh
+++ b/milena/mln/accu/land.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,7 +45,10 @@ namespace mln
namespace accu
{
- /// "Logical-and" accumulator class.
+ /// \brief "Logical-and" accumulator.
+ ///
+ /// \ingroup modaccuvalues
+ //
struct land : public mln::accu::internal::base< bool, land >
{
typedef bool argument;
diff --git a/milena/mln/accu/land_basic.hh b/milena/mln/accu/land_basic.hh
index 1c5f700..416a78f 100644
--- a/milena/mln/accu/land_basic.hh
+++ b/milena/mln/accu/land_basic.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,9 +45,12 @@ namespace mln
namespace accu
{
- /// "Logical-and" accumulator class. Conversely to accu::land,
- /// this version does not have the 'untake' method but features
- /// the 'can_stop' method.
+ /// \brief "Logical-and" accumulator.
+ /// Conversely to accu::land, this version does not have the 'untake'
+ /// method but features the 'can_stop' method.
+ ///
+ /// \ingroup modaccuvalues
+ //
struct land_basic : public mln::accu::internal::base< bool, land_basic >
{
typedef bool argument;
diff --git a/milena/mln/accu/line.hh b/milena/mln/accu/line.hh
index c8a440e..b4f30a7 100644
--- a/milena/mln/accu/line.hh
+++ b/milena/mln/accu/line.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -60,7 +60,6 @@ namespace mln
* accu::take(\p input, tmp) \n
* return tmp.to_result() \n
*/
-
template <typename Meta_Accu, unsigned Dir, // Free parameters.
typename I, typename O>
void
diff --git a/milena/mln/accu/lor.hh b/milena/mln/accu/lor.hh
index 2e49d75..8741e44 100644
--- a/milena/mln/accu/lor.hh
+++ b/milena/mln/accu/lor.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,7 +45,10 @@ namespace mln
namespace accu
{
- /// "Logical-or" accumulator class.
+ /// \brief "Logical-or" accumulator.
+ ///
+ /// \ingroup modaccuvalues
+ //
struct lor : public mln::accu::internal::base< bool, lor >
{
typedef bool argument;
diff --git a/milena/mln/accu/lor_basic.hh b/milena/mln/accu/lor_basic.hh
index 3dedacc..9a10f7c 100644
--- a/milena/mln/accu/lor_basic.hh
+++ b/milena/mln/accu/lor_basic.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,9 +45,12 @@ namespace mln
namespace accu
{
- /// "Logical-or" accumulator class. Conversely to accu::lor,
- /// this version does not have the 'untake' method but features
- /// the 'can_stop' method.
+ /// \brief "Logical-or" accumulator class.
+ /// Conversely to accu::lor, this version does not have the 'untake'
+ /// method but features the 'can_stop' method.
+ ///
+ /// \ingroup modaccuvalues
+ //
struct lor_basic : public mln::accu::internal::base< bool, lor_basic >
{
typedef bool argument;
diff --git a/milena/mln/accu/maj_h.hh b/milena/mln/accu/maj_h.hh
index 7d851bb..88e876d 100644
--- a/milena/mln/accu/maj_h.hh
+++ b/milena/mln/accu/maj_h.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -48,9 +49,12 @@ namespace mln
{
- /// Generic maj_h accumulator class.
+ /// \brief Compute the majority value.
/*!
+ * It is based on a histogram.
* The parameter \c T is the type of values.
+ *
+ * \ingroup modaccuvalues
*/
template <typename T>
struct maj_h : public mln::accu::internal::base< const T& , maj_h<T>
>
diff --git a/milena/mln/accu/max.hh b/milena/mln/accu/max.hh
index 72cc698..dec02df 100644
--- a/milena/mln/accu/max.hh
+++ b/milena/mln/accu/max.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,9 +46,11 @@ namespace mln
{
- /// Generic max accumulator class.
+ /// \brief Generic max accumulator class.
///
/// The parameter \c T is the type of values.
+ ///
+ /// \ingroup modaccuvalues
template <typename T>
struct max : public mln::accu::internal::base< const T& , max<T> >
{
diff --git a/milena/mln/accu/max_h.hh b/milena/mln/accu/max_h.hh
index 20be166..f639eac 100644
--- a/milena/mln/accu/max_h.hh
+++ b/milena/mln/accu/max_h.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,8 +45,11 @@ namespace mln
{
- /// Generic max function based on histogram over a value set with
+ /// \brief Generic max function based on histogram over a value set with
/// type \c V.
+ ///
+ /// \ingroup modaccuvalues
+ //
template <typename V>
struct max_h : public mln::accu::internal::base< const V&, max_h<V>
>
{
diff --git a/milena/mln/accu/mean.hh b/milena/mln/accu/mean.hh
index 6ef643d..129b042 100644
--- a/milena/mln/accu/mean.hh
+++ b/milena/mln/accu/mean.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -47,13 +47,15 @@ namespace mln
{
- /// Generic mean accumulator class.
+ /// \brief Generic mean accumulator class.
/*!
* Parameter \c T is the type of values that we sum. Parameter \c
* S is the type to store the sum of values; the default type of
* \c S is the summation type (property) of \c T. Parameter \c M
* is the type of the mean value; the default type of \c M is \c
* S.
+ *
+ * \ingroup modaccuvalues
*/
template <typename T,
typename S = mln_sum(T),
diff --git a/milena/mln/accu/median_alt.hh b/milena/mln/accu/median_alt.hh
index 7815c95..2a1719c 100644
--- a/milena/mln/accu/median_alt.hh
+++ b/milena/mln/accu/median_alt.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -43,8 +44,11 @@ namespace mln
{
- /// Generic median_alt function based on histogram over a
+ /// \brief Generic median_alt function based on histogram over a
/// value set with type \c S.
+ ///
+ /// \ingroup modaccuvalues
+ //
template <typename S>
struct median_alt : public mln::accu::internal::base< const mln_value(S)&,
median_alt<S> >
{
diff --git a/milena/mln/accu/median_h.hh b/milena/mln/accu/median_h.hh
index 9c368f8..2de9bc6 100644
--- a/milena/mln/accu/median_h.hh
+++ b/milena/mln/accu/median_h.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,8 +45,10 @@ namespace mln
{
- /// Generic median function based on histogram over a value
+ /// \brief Generic median function based on histogram over a value
/// set with type \c V.
+ ///
+ /// \ingroup modaccuvalues
template <typename V>
struct median_h : public mln::accu::internal::base< const V&,
median_h<V> >
{
diff --git a/milena/mln/accu/min.hh b/milena/mln/accu/min.hh
index 023b480..8291ef5 100644
--- a/milena/mln/accu/min.hh
+++ b/milena/mln/accu/min.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -46,9 +46,11 @@ namespace mln
{
- /// Generic min accumulator class.
+ /// \brief Generic min accumulator class.
/*!
* The parameter \c T is the type of values.
+ *
+ * \ingroup modaccuvalues
*/
template <typename T>
struct min : public mln::accu::internal::base< const T&, min<T> >
diff --git a/milena/mln/accu/min_h.hh b/milena/mln/accu/min_h.hh
index b18f4ba..d538e6a 100644
--- a/milena/mln/accu/min_h.hh
+++ b/milena/mln/accu/min_h.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,8 +46,11 @@ namespace mln
{
- /// Generic min function based on histogram over a value
+ /// \brief Generic min function based on histogram over a value
/// set with type \c V.
+ ///
+ /// \ingroup modaccuvalues
+ //
template <typename V>
struct min_h : public mln::accu::internal::base< const V& , min_h<V>
>
{
diff --git a/milena/mln/accu/min_max.hh b/milena/mln/accu/min_max.hh
index 6f90560..f62716f 100644
--- a/milena/mln/accu/min_max.hh
+++ b/milena/mln/accu/min_max.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -49,9 +50,11 @@ namespace mln
namespace accu
{
- /// Generic min and max accumulator class.
+ /// \brief Generic min and max accumulator class.
/*!
* The parameter \c V is the type of values.
+ *
+ * \ingroup modaccuvalues
*/
template <typename V>
struct min_max : public pair< min<V>, max<V> >
diff --git a/milena/mln/accu/pair.hh b/milena/mln/accu/pair.hh
index 41b1fe3..c9e7f08 100644
--- a/milena/mln/accu/pair.hh
+++ b/milena/mln/accu/pair.hh
@@ -49,11 +49,14 @@ namespace mln
{
- /// Generic pair of accumulators.
+ /// \brief Generic pair of accumulators.
///
/// The parameter \c T is the type of values.
///
/// \todo Check that, when T is not provided, A1 and A2 have the same value.
+ ///
+ /// \ingroup modaccumulti
+ //
template <typename A1, typename A2, typename T = mln_argument(A1)>
struct pair : public mln::accu::internal::base< std::pair<mln_result(A1),
mln_result(A2)>,
pair<A1,A2,T> >
diff --git a/milena/mln/accu/rank.hh b/milena/mln/accu/rank.hh
index bd1999d..6b891c5 100644
--- a/milena/mln/accu/rank.hh
+++ b/milena/mln/accu/rank.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -50,9 +51,11 @@ namespace mln
{
- /// Generic rank accumulator class.
+ /// \brief Generic rank accumulator class.
///
/// The parameter \c T is the type of values.
+ ///
+ /// \ingroup modaccuvalues
template <typename T>
struct rank : public mln::accu::internal::base< const T&, rank<T> >
{
diff --git a/milena/mln/accu/rank_bool.hh b/milena/mln/accu/rank_bool.hh
index 54c06ba..fb3c944 100644
--- a/milena/mln/accu/rank_bool.hh
+++ b/milena/mln/accu/rank_bool.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -47,10 +47,13 @@ namespace mln
namespace accu
{
- // Fwd declaration.
+ // Forward declaration.
template <typename T> struct rank;
- /// rank accumulator class for Boolean.
+ /// \brief rank accumulator class for Boolean.
+ ///
+ /// \ingroup modaccuvalues
+ //
template <>
struct rank<bool> : public mln::accu::internal::base< bool, rank<bool>
>
{
diff --git a/milena/mln/accu/rank_high_quant.hh b/milena/mln/accu/rank_high_quant.hh
index c05c6d4..80d5b23 100644
--- a/milena/mln/accu/rank_high_quant.hh
+++ b/milena/mln/accu/rank_high_quant.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -47,9 +47,11 @@ namespace mln
{
- /// Generic rank accumulator class.
+ /// \brief Generic rank accumulator class.
/*!
* The parameter \c T is the type of values.
+ *
+ * \ingroup modaccuvalues
*/
template <typename T>
struct rank : public mln::accu::internal::base< const T&, rank<T> >
diff --git a/milena/mln/accu/rms.hh b/milena/mln/accu/rms.hh
index 866ded1..8022ddc 100644
--- a/milena/mln/accu/rms.hh
+++ b/milena/mln/accu/rms.hh
@@ -44,10 +44,12 @@ namespace mln
{
- /// Generic rms accumulator class.
+ /// \brief Generic root mean square accumulator class.
///
/// The parameter \c T is the type of the root mean square value.
///
+ /// \ingroup modaccuvalues
+ //
template <typename T, typename V>
struct rms : public mln::accu::internal::base<V, rms<T,V> >
{
diff --git a/milena/mln/accu/site_set/rectangularity.hh
b/milena/mln/accu/site_set/rectangularity.hh
index fef5b21..f0ced2c 100644
--- a/milena/mln/accu/site_set/rectangularity.hh
+++ b/milena/mln/accu/site_set/rectangularity.hh
@@ -47,7 +47,10 @@ namespace mln
namespace site_set
{
- /// Compute the rectangularity of a site set.
+ /// \brief Compute the rectangularity of a site set.
+ ///
+ /// \ingroup modaccusiteset
+ //
template <typename P>
class rectangularity
: public accu::internal::couple<accu::bbox<P>,
diff --git a/milena/mln/accu/stat/deviation.hh b/milena/mln/accu/stat/deviation.hh
index 890a93c..32277b1 100644
--- a/milena/mln/accu/stat/deviation.hh
+++ b/milena/mln/accu/stat/deviation.hh
@@ -49,13 +49,15 @@ namespace mln
namespace stat
{
- /// Generic standard deviation accumulator class.
+ /// \brief Generic standard deviation accumulator class.
/*!
* Parameter \c T is the type of values that we sum. Parameter \c
* S is the type to store the standard deviation; the default type of
* \c S is the summation type (property) of \c T. Parameter \c M
* is the type of the mean value; the default type of \c M is \c
* S.
+ *
+ * \ingroup modaccuvalues
*/
template <typename T,
typename S = mln_sum(T),
diff --git a/milena/mln/accu/stat/variance.hh b/milena/mln/accu/stat/variance.hh
index 0b4dc0b..388de2a 100644
--- a/milena/mln/accu/stat/variance.hh
+++ b/milena/mln/accu/stat/variance.hh
@@ -46,13 +46,16 @@ namespace mln
namespace stat
{
- /// Variance accumulator class.
+ /// \brief Variance accumulator class.
/*!
* Parameter \c T is the type of values that we sum. Parameter
* \c S is the type to store the value sum and the sum of value
* * value; the default type of \c S is the summation type
* (property) of \c T. Parameter \c R is the type of the mean
* and variance values; the default type of \c R is \c S.
+ *
+ * \ingroup modaccuvalues
+ *
*/
template <typename T,
typename S = mln_sum(T),
diff --git a/milena/mln/accu/sum.hh b/milena/mln/accu/sum.hh
index a0f11d9..2792438 100644
--- a/milena/mln/accu/sum.hh
+++ b/milena/mln/accu/sum.hh
@@ -50,11 +50,13 @@ namespace mln
{
- /// Generic sum accumulator class.
+ /// \brief Generic sum accumulator class.
/*!
* Parameter \c T is the type of values that we sum. Parameter \c
* S is the type to store the value sum; the default type of
* \c S is the summation type (property) of \c T.
+ *
+ * \ingroup modaccuvalues
*/
template <typename T, typename S = mln_sum(T)>
struct sum : public mln::accu::internal::base< const S&, sum<T,S> >
diff --git a/milena/mln/accu/sup.hh b/milena/mln/accu/sup.hh
index ded89e1..e16fcf6 100644
--- a/milena/mln/accu/sup.hh
+++ b/milena/mln/accu/sup.hh
@@ -46,9 +46,11 @@ namespace mln
{
- /// Generic sup accumulator class.
+ /// \brief Generic sup accumulator class.
/*!
* The parameter \c T is the type of values.
+ *
+ * \ingroup modaccuvalues
*/
template <typename T>
struct sup : public mln::accu::internal::base< const T&, sup<T> >
diff --git a/milena/mln/accu/tuple.hh b/milena/mln/accu/tuple.hh
index ae59bbc..f3befb5 100644
--- a/milena/mln/accu/tuple.hh
+++ b/milena/mln/accu/tuple.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
// (LRDE)
//
// This file is part of the Olena Library. This library is free
@@ -66,9 +66,11 @@ namespace mln
template <unsigned n, typename T> struct tuplehelper;
}
- /// Generic tuple of accumulators.
+ /// \brief Generic tuple of accumulators.
/*!
* The parameter \c T is the type of values.
+ *
+ * \ingroup modaccumulti
*/
template <typename A, unsigned n, BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(10, typename
T, boost::tuples::null_type)>
struct tuple
diff --git a/milena/mln/accu/volume.hh b/milena/mln/accu/volume.hh
index 5d25767..f60ee6b 100644
--- a/milena/mln/accu/volume.hh
+++ b/milena/mln/accu/volume.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -55,10 +55,12 @@ namespace mln
namespace accu
{
- /// Volume accumulator class.
+ /// \brief Volume accumulator class.
///
/// The parameter \p I is the image type on which the accumulator
/// of pixels is built.
+ ///
+ /// \ingroup modaccuimages
template <typename I>
struct volume
: public mln::accu::internal::base< unsigned , volume<I> >
diff --git a/milena/mln/canvas/morpho/internal/find_root.hh
b/milena/mln/canvas/morpho/internal/find_root.hh
index 958ac9c..a1ff6bb 100644
--- a/milena/mln/canvas/morpho/internal/find_root.hh
+++ b/milena/mln/canvas/morpho/internal/find_root.hh
@@ -28,7 +28,7 @@
#ifndef MLN_CANVAS_MORPHO_INTERNAL_FIND_ROOT_HH
# define MLN_CANVAS_MORPHO_INTERNAL_FIND_ROOT_HH
-/// \file mln/canvas/morpho/internal/find_root.hh.hh
+/// \file mln/canvas/morpho/internal/find_root.hh
///
/// Routines to handle parent image.
///
diff --git a/milena/mln/convert/impl/from_image_to_site_set.hh
b/milena/mln/convert/impl/from_image_to_site_set.hh
index 2e79f7e..eb9a1a2 100644
--- a/milena/mln/convert/impl/from_image_to_site_set.hh
+++ b/milena/mln/convert/impl/from_image_to_site_set.hh
@@ -149,7 +149,7 @@ namespace mln
void
from_image_to_site_set(const Image<I>& from, Site_Set<S>&
to)
{
- from_image_to_site_set(exact(from), mln_deduce(I, pset, element)(),
+ from_image_to_site_set(exact(from), mln_deduce(I, domain_t, element)(),
exact(to), mln_i_element(S)());
}
diff --git a/milena/mln/core/alias/neighb1d.hh b/milena/mln/core/alias/neighb1d.hh
index 8c93466..3c32a21 100644
--- a/milena/mln/core/alias/neighb1d.hh
+++ b/milena/mln/core/alias/neighb1d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,11 +29,10 @@
#ifndef MLN_CORE_ALIAS_NEIGHB1D_HH
# define MLN_CORE_ALIAS_NEIGHB1D_HH
-/*! \file mln/core/alias/neighb1d.hh
- *
- * \brief Definition of the mln::neighb1d alias and of some classical
- * 1D neighborhoods.
- */
+/// \file mln/core/alias/neighb1d.hh
+///
+/// Definition of the mln::neighb1d alias and of some classical
+/// 1D neighborhoods.
# include <cmath>
# include <mln/core/neighb.hh>
@@ -42,18 +42,25 @@
namespace mln
{
- /*! \brief Type alias for a neighborhood defined on the 1D square
- * grid with integer coordinates.
- */
+ /// \brief Type alias for a neighborhood defined on the 1D square
+ /// grid with integer coordinates.
+ ///
+ /// \ingroup modneighb1d
+ //
typedef neighb<window1d> neighb1d;
- /*! \brief 2-connectivity neighborhood on the 1D grid.
- *
- * o x o
- *
- * \return A neighb1d.
- */
+ /// \brief 2-connectivity neighborhood on the 1D grid.
+ /*!
+ \verbatim
+ o x o
+ \endverbatim
+
+
+ \return A neighb1d.
+
+ \ingroup modneighb1d
+ */
const neighb1d& c2();
diff --git a/milena/mln/core/alias/neighb2d.hh b/milena/mln/core/alias/neighb2d.hh
index 09a6db2..704d7cc 100644
--- a/milena/mln/core/alias/neighb2d.hh
+++ b/milena/mln/core/alias/neighb2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -48,6 +49,7 @@ namespace mln
/// Type alias for a neighborhood defined on the 2D square
/// grid with integer coordinates.
///
+ /// \ingroup modneighb2d
typedef neighb<window2d> neighb2d;
}
@@ -56,47 +58,66 @@ namespace mln
namespace mln
{
- /// 4-connectivity neighborhood on the 2D grid.
- ///
- /// - o -
- /// o x o
- /// - o -
- ///
- /// \return A neighb2d.
- ///
+ /// \brief 4-connectivity neighborhood on the 2D grid.
+ /*!
+ \verbatim
+ - o -
+ o x o
+ - o -
+ \endverbatim
+
+
+ \return A neighb2d.
+
+ \ingroup modneighb2d
+ */
const neighb2d& c4();
- /// 8-connectivity neighborhood on the 2D grid.
- ///
- /// o o o
- /// o x o
- /// o o o
- ///
- /// \return A neighb2d.
- ///
+ /// \brief 8-connectivity neighborhood on the 2D grid.
+ /*!
+ \verbatim
+ o o o
+ o x o
+ o o o
+ \endverbatim
+
+
+ \return A neighb2d.
+
+ \ingroup modneighb2d
+ */
const neighb2d& c8();
- /// Horizontal 2-connectivity neighborhood on the 2D grid.
- ///
- /// - - -
- /// o x o
- /// - - -
- ///
- /// \return A neighb2d.
- ///
+ /// \brief Horizontal 2-connectivity neighborhood on the 2D grid.
+ /*!
+ \verbatim
+ - - -
+ o x o
+ - - -
+ \endverbatim
+
+ \return A neighb2d.
+
+ \ingroup modneighb2d
+ */
const neighb2d& c2_row();
- /// Vertical 2-connectivity neighborhood on the 2D grid.
- ///
- /// - o -
- /// - x -
- /// - o -
- ///
- /// \return A neighb2d.
- ///
+ /// \brief Vertical 2-connectivity neighborhood on the 2D grid.
+ /*!
+ \verbatim
+ - o -
+ - x -
+ - o -
+ \endverbatim
+
+
+ \return A neighb2d.
+
+ \ingroup modneighb2d
+ */
const neighb2d& c2_col();
diff --git a/milena/mln/core/alias/neighb3d.hh b/milena/mln/core/alias/neighb3d.hh
index ad0545d..c7f4116 100644
--- a/milena/mln/core/alias/neighb3d.hh
+++ b/milena/mln/core/alias/neighb3d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,100 +45,137 @@
namespace mln
{
- /*! \brief Type alias for a neighborhood defined on the 3D square
- * grid with integer coordinates.
- */
+ /// \brief Type alias for a neighborhood defined on the 3D square
+ /// grid with integer coordinates.
+ ///
+ /// \ingroup modneighb3d
+ //
typedef neighb<window3d> neighb3d;
- /// 4-connectivity neighborhood on the 3D grid.
- ///
- /// . . .
- /// . . .
- /// . . .
- ///
- /// . o .
- /// o x o
- /// . o .
- ///
- /// . . .
- /// . . .
- /// . . .
- ///
- /// \return A neighb3d.
- ///
+ /// \brief 4-connectivity neighborhood on the 3D grid.
+ /*!
+ \verbatim
+
+ . . .
+ . . .
+ . . .
+
+ . o .
+ o x o
+ . o .
+
+ . . .
+ . . .
+ . . .
+
+ \endverbatim
+
+
+ \return A neighb3d.
+
+ \ingroup modneighb3d
+ */
const neighb3d& c4_3d();
- /// 8-connectivity neighborhood on the 3D grid.
- ///
- /// . . .
- /// . . .
- /// . . .
- ///
- /// o o o
- /// o x o
- /// o o o
- ///
- /// . . .
- /// . . .
- /// . . .
- ///
- /// \return A neighb3d.
- ///
+ /// \brief 8-connectivity neighborhood on the 3D grid.
+ /*!
+ \verbatim
+
+ . . .
+ . . .
+ . . .
+
+ o o o
+ o x o
+ o o o
+
+ . . .
+ . . .
+ . . .
+
+ \endverbatim
+
+
+ \return A neighb3d.
+
+ \ingroup modneighb3d
+ */
const neighb3d& c8_3d();
- /*! \brief 6-connectivity neighborhood on the 3D grid.
- *
- * . . .
- * . o .
- * . . .
- *
- * . o .
- * o x o
- * . o .
- *
- * . . .
- * . o .
- * . . .
- *
- * \return A neighb3d.
- */
+ /// \brief 6-connectivity neighborhood on the 3D grid.
+ /*!
+ \verbatim
+
+ . . .
+ . o .
+ . . .
+
+ . o .
+ o x o
+ . o .
+
+ . . .
+ . o .
+ . . .
+
+ \endverbatim
+
+
+ \return A neighb3d.
+
+ \ingroup modneighb3d
+ */
const neighb3d& c6();
- /*! \brief 18-connectivity neighborhood on the 3D grid.
- *
- * . o .
- * o o o
- * . o .
- *
- * o o o
- * o x o
- * o o o
- *
- * . o .
- * o o o
- * . o .
- *
- * \return A neighb3d.
- */
+ /// \brief 18-connectivity neighborhood on the 3D grid.
+ /*!
+ \verbatim
+
+ . o .
+ o o o
+ . o .
+
+ o o o
+ o x o
+ o o o
+
+ . o .
+ o o o
+ . o .
+
+ \endverbatim
+
+
+ \return A neighb3d.
+
+ \ingroup modneighb3d
+ */
const neighb3d& c18();
- /*! \brief 26-connectivity neighborhood on the 3D grid.
- *
- * o o o
- * o o o
- * o o o
- *
- * o o o
- * o x o
- * o o o
- *
- * o o o
- * o o o
- * o o o
- *
- * \return A neighb3d.
- */
+ /// \brief 26-connectivity neighborhood on the 3D grid.
+ /*!
+ \verbatim
+
+ o o o
+ o o o
+ o o o
+
+ o o o
+ o x o
+ o o o
+
+ o o o
+ o o o
+ o o o
+
+ \endverbatim
+
+
+ \return A neighb3d.
+
+ \ingroup modneighb3d
+ */
const neighb3d& c26();
diff --git a/milena/mln/core/alias/window1d.hh b/milena/mln/core/alias/window1d.hh
index eee53cc..178dc19 100644
--- a/milena/mln/core/alias/window1d.hh
+++ b/milena/mln/core/alias/window1d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,7 +30,8 @@
# define MLN_CORE_ALIAS_WINDOW1D_HH
/// \file mln/core/alias/window1d.hh
-/// \brief Definition of the mln::window1d alias and of a construction
+///
+/// Definition of the mln::window1d alias and of a construction
/// routine.
# include <mln/core/window.hh>
@@ -43,6 +44,9 @@ namespace mln
/// \brief Type alias for a window with arbitrary shape, defined on
/// the 1D square grid with integer coordinates.
+ ///
+ /// \ingroup modwin1d
+ //
typedef window<mln::dpoint1d> window1d;
diff --git a/milena/mln/core/alias/window2d.hh b/milena/mln/core/alias/window2d.hh
index f1acabe..e1479d4 100644
--- a/milena/mln/core/alias/window2d.hh
+++ b/milena/mln/core/alias/window2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -33,8 +33,6 @@
///
/// Definition of the mln::window2d alias and of a construction
/// routine.
-///
-/// \todo c8p etc.
# include <mln/core/window.hh>
# include <mln/core/alias/dpoint2d.hh>
@@ -47,26 +45,41 @@ namespace mln
/// \brief Type alias for a window with arbitrary shape, defined on
/// the 2D square grid with integer coordinates.
+ ///
+ /// \ingroup modwin2d
+ //
typedef window<mln::dpoint2d> window2d;
/// \brief 4-connectivity window on the 2D grid, including the
/// center.
- ///
- /// - o -
- /// o x o
- /// - o -
- ///
- /// \return A window2d.
+ /*!
+ \verbatim
+ - o -
+ o x o
+ - o -
+ \endverbatim
+
+
+ \return A window2d.
+
+ \ingroup modwin2d
+ */
const window2d& win_c4p();
/// \brief 8-connectivity window on the 2D grid, including the
/// center.
- ///
- /// o o o
- /// o x o
- /// o o o
- ///
- /// \return A window2d.
+ /*!
+ \verbatim
+ o o o
+ o x o
+ o o o
+ \endverbatim
+
+
+ \return A window2d.
+
+ \ingroup modwin2d
+ */
const window2d& win_c8p();
diff --git a/milena/mln/core/alias/window3d.hh b/milena/mln/core/alias/window3d.hh
index 5489fbd..1b5d57b 100644
--- a/milena/mln/core/alias/window3d.hh
+++ b/milena/mln/core/alias/window3d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -43,45 +43,60 @@
namespace mln
{
- /// Type alias for a window with arbitrary shape, defined on
+ /// \brief Type alias for a window with arbitrary shape, defined on
/// the 3D square grid with integer coordinates.
+ ///
+ /// \ingroup modwin3d
+ //
typedef window<mln::dpoint3d> window3d;
/// \brief 4-connectivity window on the 3D grid, including the
/// center.
- ///
- /// - - -
- /// - - -
- /// - - -
- ///
- /// - o -
- /// o x o
- /// - o -
- ///
- /// - - -
- /// - - -
- /// - - -
- ///
- ///
- /// \return A window3d.
+ /*!
+ \verbatim
+
+ - - -
+ - - -
+ - - -
+
+ - o -
+ o x o
+ - o -
+
+ - - -
+ - - -
+ - - -
+ \endverbatim
+
+
+ \return A window3d.
+
+ \ingroup modwin3d
+ */
const window3d& win_c4p_3d();
/// \brief 8-connectivity window on the 3D grid, including the
/// center.
- ///
- /// - - -
- /// - - -
- /// - - -
- ///
- /// o o o
- /// o x o
- /// o o o
- ///
- /// - - -
- /// - - -
- /// - - -
- ///
- /// \return A window3d.
+ /*!
+ \verbatim
+ - - -
+ - - -
+ - - -
+
+ o o o
+ o x o
+ o o o
+
+ - - -
+ - - -
+ - - -
+ \endverbatim
+
+
+ \return A window3d.
+
+ \ingroup modwin3d
+ */
const window3d& win_c8p_3d();
diff --git a/milena/mln/core/concept/function.hh b/milena/mln/core/concept/function.hh
index 7cef23c..95742c5 100644
--- a/milena/mln/core/concept/function.hh
+++ b/milena/mln/core/concept/function.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -51,8 +51,6 @@ namespace mln
template <typename E> struct Function_p2b;
template <typename E> struct Function_p2p;
template <typename E> struct Function_x2x;
- template <typename E> struct Function_l2b;
- template <typename E> struct Function_l2l;
template <typename E> struct Function_vv2v;
template <typename E> struct Function_vv2b;
@@ -92,11 +90,13 @@ namespace mln
template <>
struct Function_v2v<void> { typedef Function<void> super; };
- /// Base class for implementation of function-objects from
+ /// \brief Base class for implementation of function-objects from
/// value to value.
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_v2v : public Function<E>
{
@@ -122,8 +122,9 @@ namespace mln
* value V to value W and vice versa.
*
* The parameter \a E is the exact type.
+ *
+ * \ingroup modfun
*/
-
template <typename E>
struct Function_v2w2v : public Function<E>
{
@@ -158,8 +159,9 @@ namespace mln
*
* eg: f : x -> norm(x)
* f_1: (x, n) -> x' := x / norm(x) * n
+ *
+ * \ingroup modfun
*/
-
template <typename E>
struct Function_v2w_w2v : public Function<E>
{
@@ -188,6 +190,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_i2b : public Function_v2b<E>
{
@@ -211,6 +215,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_i2v : public Function_v2v<E>
{
@@ -233,6 +239,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_p2v : public virtual Function_v2v<E>
{
@@ -255,6 +263,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_v2b : public virtual Function_v2v<E>
{
@@ -278,6 +288,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_p2b : public Function_p2v<E>,
public Function_v2b<E>
@@ -302,6 +314,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_p2p : public Function_p2v<E>
{
@@ -324,6 +338,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_x2x : public Function_v2v<E>
{
@@ -343,6 +359,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Bijection_x2x : public Function_x2x< E >
{
@@ -355,50 +373,6 @@ namespace mln
};
- /*-----------------.
- | Label -> Value. |
- `-----------------*/
-
- template <>
- struct Function_l2b<void> { typedef Function_v2b<void> super; };
-
- /// Base class for implementation of function-objects from
- /// label to value.
- ///
- /// The parameter \a E is the exact type.
- ///
- template <typename E>
- struct Function_l2b : public Function_v2b<E>
- {
- typedef Function_l2b<void> category;
- protected:
- Function_l2b();
- Function_l2b(const Function_l2b&);
- };
-
-
- /*-----------------.
- | Label -> Label. |
- `-----------------*/
-
- template <>
- struct Function_l2l<void> { typedef Function_v2v<void> super; };
-
- /// Base class for implementation of function-objects from
- /// label to value.
- ///
- /// The parameter \a E is the exact type.
- ///
- template <typename E>
- struct Function_l2l : public Function_v2v<E>
- {
- typedef Function_l2l<void> category;
- protected:
- Function_l2l();
- Function_l2l(const Function_l2l&);
- };
-
-
/*------------------------.
| Value, Value -> Value. |
`------------------------*/
@@ -411,6 +385,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_vv2v : public Function<E>
{
@@ -432,6 +408,8 @@ namespace mln
///
/// The parameter \a E is the exact type.
///
+ /// \ingroup modfun
+ //
template <typename E>
struct Function_vv2b : public Function<E>
{
@@ -605,33 +583,6 @@ namespace mln
template <typename E>
inline
- Function_l2b<E>::Function_l2b()
- {
- }
-
- template <typename E>
- inline
- Function_l2b<E>::Function_l2b(const Function_l2b<E>& rhs)
- : Function_v2v<E>(rhs),
- Function_v2b<E>(rhs)
- {
- }
-
- template <typename E>
- inline
- Function_l2l<E>::Function_l2l()
- {
- }
-
- template <typename E>
- inline
- Function_l2l<E>::Function_l2l(const Function_l2l<E>& rhs)
- : Function_v2v<E>(rhs)
- {
- }
-
- template <typename E>
- inline
Function_vv2v<E>::Function_vv2v()
{
}
diff --git a/milena/mln/core/concept/object.hh b/milena/mln/core/concept/object.hh
index 27ef2a4..aaae2ad 100644
--- a/milena/mln/core/concept/object.hh
+++ b/milena/mln/core/concept/object.hh
@@ -62,9 +62,6 @@
*
* This is the documentation of Milena.
*
- * \section tools_subsec Tools required.
- * FIXME.
- *
* \section mln_sec Overview of Milena.
*
* <UL>
@@ -84,6 +81,7 @@
* <LI> \ref mln::extension
* <LI> \ref mln::fun
* <LI> \ref mln::geom
+ * <LI> \ref mln::graph
* <LI> \ref mln::histo
* <LI> \ref mln::io
* <LI> \ref mln::labeling
diff --git a/milena/mln/core/concept/object_id.hh b/milena/mln/core/concept/object_id.hh
index 770098e..e8102df 100644
--- a/milena/mln/core/concept/object_id.hh
+++ b/milena/mln/core/concept/object_id.hh
@@ -30,7 +30,7 @@
#ifndef MLN_CORE_CONCEPT_OBJECT_ID_HH
# define MLN_CORE_CONCEPT_OBJECT_ID_HH
-/// \file mln/util/internal/element_id.hh
+/// \file mln/core/concept/object_id.hh
///
/// Base class of an object id.
diff --git a/milena/mln/core/image/complex_image.hh
b/milena/mln/core/image/complex_image.hh
index 152c10e..98d00c5 100644
--- a/milena/mln/core/image/complex_image.hh
+++ b/milena/mln/core/image/complex_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -114,13 +115,16 @@ namespace mln
} // end of namespace mln::trait
- /// Image based on a complex.
+ /// \brief Image based on a complex.
///
/// Values attached to each face of the complex.
///
/// \arg p D The dimension of the complex.
/// \arg p G The geometry type of the complex.
/// \arg p V The value type of the image.
+ ///
+ /// \ingroup modimageconcrete
+ //
template <unsigned D, typename G, typename V>
class complex_image
: public internal::image_primary< V, p_complex<D, G>,
diff --git a/milena/mln/core/image/decorated_image.hh
b/milena/mln/core/image/decorated_image.hh
index 1d8108f..1f19009 100644
--- a/milena/mln/core/image/decorated_image.hh
+++ b/milena/mln/core/image/decorated_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -33,15 +33,15 @@
# include <mln/value/proxy.hh>
-/*! \file mln/core/image/decorated_image.hh
- *
- * \brief Definition of an image that can have additional features.
- */
+/// \file mln/core/image/decorated_image.hh
+///
+/// Definition of an image that can have additional features.
+
namespace mln
{
- // Fwd decl.
+ // Forward declaration.
template <typename I, typename D> struct decorated_image;
@@ -76,10 +76,10 @@ namespace mln
- /*!
- * \brief Class of decorated image : FIXME Doc
- *
- */
+ /// \brief Image that can have additional features.
+ ///
+ /// \ingroup modimageidmorpher
+ //
template <typename I, typename D>
struct decorated_image :
public internal::decorated_image_impl_< I, decorated_image<I,D> >,
diff --git a/milena/mln/core/image/edge_image.hh b/milena/mln/core/image/edge_image.hh
index 4ea3ce2..9b5fb75 100644
--- a/milena/mln/core/image/edge_image.hh
+++ b/milena/mln/core/image/edge_image.hh
@@ -118,7 +118,9 @@ namespace mln
} // end of namespace mln::internal
-
+ /// \brief Image based on graph edges.
+ ///
+ /// \ingroup modimageconcrete
template <typename P, typename V, typename G = util::graph>
class edge_image
: public pw::internal::image_base<fun::i2v::array<V>,
diff --git a/milena/mln/core/image/extended.hh b/milena/mln/core/image/extended.hh
index c6451a0..cde8009 100644
--- a/milena/mln/core/image/extended.hh
+++ b/milena/mln/core/image/extended.hh
@@ -86,8 +86,10 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Makes an image become restricted by a point set.
+ ///
+ /// \ingroup modimagedomainmorpher
+ //
template <typename I>
struct extended : public internal::image_domain_morpher< I,
box<mln_site(I)>,
diff --git a/milena/mln/core/image/extension_fun.hh
b/milena/mln/core/image/extension_fun.hh
index dd67f04..9992e33 100644
--- a/milena/mln/core/image/extension_fun.hh
+++ b/milena/mln/core/image/extension_fun.hh
@@ -29,15 +29,13 @@
#ifndef MLN_CORE_IMAGE_EXTENSION_FUN_HH
# define MLN_CORE_IMAGE_EXTENSION_FUN_HH
-/*!
- * \file mln/core/image/extension_fun.hh
- *
- * \brief Definition of a morpher that extends the domain of an image
- * with a function.
- *
- * \todo Deal with two-ways functions...
- * \todo Use an envelop as lvalue to test extension writing.
- */
+/// \file mln/core/image/extension_fun.hh
+///
+/// definition of a morpher that extends the domain of an image
+/// with a function.
+///
+/// \todo Deal with two-ways functions...
+/// \todo Use an envelop as lvalue to test extension writing.
# include <mln/core/internal/image_identity.hh>
@@ -96,12 +94,13 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Extends the domain of an image with a function.
+ ///
+ /// \ingroup modimagedomainmorpher
+ //
template <typename I, typename F>
- class extension_fun :
-
- public internal::image_identity< I, mln_domain(I), extension_fun<I, F>
>,
+ class extension_fun
+ : public internal::image_identity< I, mln_domain(I), extension_fun<I, F>
>,
private mlc_converts_to(mln_result(F), mln_value(I))::check_t
{
public:
diff --git a/milena/mln/core/image/extension_ima.hh
b/milena/mln/core/image/extension_ima.hh
index 72119a1..2a9f7d1 100644
--- a/milena/mln/core/image/extension_ima.hh
+++ b/milena/mln/core/image/extension_ima.hh
@@ -90,8 +90,10 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Extends the domain of an image with an image.
+ ///
+ /// \ingroup modimagedomainmorpher
+ //
template <typename I, typename J>
class extension_ima
diff --git a/milena/mln/core/image/extension_val.hh
b/milena/mln/core/image/extension_val.hh
index 82f0684..8a376fc 100644
--- a/milena/mln/core/image/extension_val.hh
+++ b/milena/mln/core/image/extension_val.hh
@@ -92,8 +92,10 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Extends the domain of an image with a value.
+ ///
+ /// \ingroup modimagedomainmorpher
+ //
template <typename I>
class extension_val :
public internal::image_identity< I, mln_domain(I), extension_val<I> >
diff --git a/milena/mln/core/image/flat_image.hh b/milena/mln/core/image/flat_image.hh
index 8de6465..5d5beab 100644
--- a/milena/mln/core/image/flat_image.hh
+++ b/milena/mln/core/image/flat_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,13 +29,11 @@
#ifndef MLN_CORE_FLAT_IMAGE_HH
# define MLN_CORE_FLAT_IMAGE_HH
-/*!
- * \file mln/core/image/flat_image.hh
- *
- * \brief Definition of a image with a signle value.
- *
- * \todo Zed: Address the values v. destination issue.
- */
+/// \file mln/core/image/flat_image.hh
+///
+/// \brief Definition of a image with a signle value.
+///
+/// \todo Zed: Address the values v. destination issue.
# include <mln/core/internal/image_primary.hh>
# include <mln/value/set.hh>
@@ -101,8 +100,10 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Image with a single value.
+ ///
+ /// \ingroup modimageconcrete
+ //
template <typename T, typename S>
struct flat_image : public internal::image_primary< T, S, flat_image<T,S>
>
{
diff --git a/milena/mln/core/image/fun_image.hh b/milena/mln/core/image/fun_image.hh
index 0099dde..6a4c003 100644
--- a/milena/mln/core/image/fun_image.hh
+++ b/milena/mln/core/image/fun_image.hh
@@ -92,7 +92,10 @@ namespace mln
- /// Class of image morpher which takes allow to view an image throught a morpher
+ /// \brief Image read through a function.
+ ///
+ /// \ingroup modimagevaluemorpher
+ //
template <typename F, typename I>
struct fun_image :
public internal::image_value_morpher< I, mln_result(F), fun_image<F,I> >
diff --git a/milena/mln/core/image/hexa.hh b/milena/mln/core/image/hexa.hh
index 66ccdb1..498452e 100644
--- a/milena/mln/core/image/hexa.hh
+++ b/milena/mln/core/image/hexa.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,7 +44,8 @@
namespace mln
{
- // Fwd decl.
+
+ // Forward declaration.
template <typename I> class hexa;
@@ -113,7 +114,7 @@ namespace mln
* 8 XX| | | | | | |XX
* -------------------
*
- *
+ * \ingroup modimagedomainmorpher
*/
template <typename I>
struct hexa :
diff --git a/milena/mln/core/image/interpolated.hh
b/milena/mln/core/image/interpolated.hh
index 91356db..25b1632 100644
--- a/milena/mln/core/image/interpolated.hh
+++ b/milena/mln/core/image/interpolated.hh
@@ -78,8 +78,9 @@ namespace mln
} // end of namespace mln::trait
- /// Morpher that makes underlaying image being accessed with floating coordinate.
+ /// \brief Makes the underlying image being accessed with floating coordinates.
///
+ /// \ingroup modimageidentity
template <typename I, template <class> class F>
struct interpolated :
public mln::internal::image_identity< I, mln_domain(I), interpolated<I,F>
>
diff --git a/milena/mln/core/image/lazy_image.hh b/milena/mln/core/image/lazy_image.hh
index 1316284..90f5385 100644
--- a/milena/mln/core/image/lazy_image.hh
+++ b/milena/mln/core/image/lazy_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,10 @@
#ifndef MLN_CORE_IMAGE_LAZY_IMAGE_HH
# define MLN_CORE_IMAGE_LAZY_IMAGE_HH
-/*! \file mln/core/image/lazy_image.hh
- *
- * \brief Definition of a lazy image. Values are computed on the fly
- */
+/// \file mln/core/image/lazy_image.hh
+///
+/// Definition of a lazy image. Values are computed on the fly.
+
# include <cmath>
@@ -79,7 +80,7 @@ namespace mln
- /*! \brief Lazy image class.
+ /*! \brief Image values are computed on the fly.
*
* The parameter \c I is the type of image.
* The parameter \c F is the type of function.
@@ -88,6 +89,7 @@ namespace mln
* This image class tage a functor \p fun and a box \p box.
* Access to ima(p) where \p p include \p box return fun(b) lazily.
*
+ * \ingroup modimageidmorpher
*/
template <typename I, typename F, typename B>
struct lazy_image :
diff --git a/milena/mln/core/image/plain.hh b/milena/mln/core/image/plain.hh
index c40544e..6073eb0 100644
--- a/milena/mln/core/image/plain.hh
+++ b/milena/mln/core/image/plain.hh
@@ -74,8 +74,12 @@ namespace mln
- /// Morpher that prevents an image from sharing its data.
+ /// \brief Prevents an image from sharing its data.
+ ///
/// While assigned to another image, its data is duplicated.
+ ///
+ /// \ingroup modimageidmorpher
+ //
template <typename I>
class plain
diff --git a/milena/mln/core/image/safe.hh b/milena/mln/core/image/safe.hh
index f04c2b3..953aac6 100644
--- a/milena/mln/core/image/safe.hh
+++ b/milena/mln/core/image/safe.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -79,8 +79,10 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Makes an image accessible at undefined location.
+ ///
+ /// \ingroup modimageidmorpher
+ //
template <typename I>
class safe_image : public internal::image_identity< I, mln_domain(I),
safe_image<I> >
{
diff --git a/milena/mln/core/image/slice_image.hh b/milena/mln/core/image/slice_image.hh
index b9db296..65160d9 100644
--- a/milena/mln/core/image/slice_image.hh
+++ b/milena/mln/core/image/slice_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,7 +31,7 @@
/// \file mln/core/image/slice_image.hh
///
-/// Definition of an image FIXME: Doc!
+/// Definition of a 2D image extracted from a slice of a 3D image.
///
/// \todo Write init_.
@@ -89,7 +90,10 @@ namespace mln
- /// FIXME: Doc!
+ /// \brief 2D image extracted from a slice of a 3D image.
+ ///
+ /// \ingroup modimagedomainmorpher
+ //
template <typename I>
struct slice_image : public internal::image_domain_morpher< I,
box2d,
diff --git a/milena/mln/core/image/sub_image.hh b/milena/mln/core/image/sub_image.hh
index df4c7ba..09ba8b5 100644
--- a/milena/mln/core/image/sub_image.hh
+++ b/milena/mln/core/image/sub_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,15 +29,15 @@
#ifndef MLN_CORE_IMAGE_SUB_IMAGE_HH
# define MLN_CORE_IMAGE_SUB_IMAGE_HH
-/*!
- * \file mln/core/image/sub_image.hh
- *
- * \brief Definition of morpher that makes an image become restricted
- * given by a point set.
- *
- * \todo Add a special case for "ima | box"; think about some other
- * special cases...
- */
+
+/// \file mln/core/image/sub_image.hh
+///
+/// Definition of morpher that makes an image become restricted
+/// given by a point set.
+///
+/// \todo Add a special case for "ima | box"; think about some other
+/// special cases...
+
# include <mln/core/internal/image_domain_morpher.hh>
@@ -97,8 +98,10 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Image having its domain restricted by a site set.
+ ///
+ /// \ingroup modimagedomainmorpher
+ //
template <typename I, typename S>
struct sub_image : public internal::image_domain_morpher< I,
S,
diff --git a/milena/mln/core/image/sub_image_if.hh
b/milena/mln/core/image/sub_image_if.hh
index 820d618..f987330 100644
--- a/milena/mln/core/image/sub_image_if.hh
+++ b/milena/mln/core/image/sub_image_if.hh
@@ -28,13 +28,13 @@
#ifndef MLN_CORE_IMAGE_SUB_IMAGE_IF_HH
# define MLN_CORE_IMAGE_SUB_IMAGE_IF_HH
-/*!
- * \file mln/core/image/sub_image_if.hh
- *
- * \brief FIXME DOC!
- *
- * \todo Activate preconditions.
- */
+
+/// \file mln/core/image/sub_image_if.hh
+///
+/// Image having its domain restricted by a site set and a function.
+///
+/// \todo Activate preconditions.
+
# include <mln/core/internal/image_domain_morpher.hh>
# include <mln/core/site_set/p_if.hh>
@@ -95,8 +95,9 @@ namespace mln
- // FIXME: Doc!
-
+ /// \brief Image having its domain restricted by a site set and a function.
+ ///
+ /// \ingroup modimagedomainmorpher
template <typename I, typename S>
struct sub_image_if : public internal::image_domain_morpher< I,
p_if< S, fun::p2b::has<I> >,
diff --git a/milena/mln/core/image/t_image.hh b/milena/mln/core/image/t_image.hh
index 34e5992..0ff50a1 100644
--- a/milena/mln/core/image/t_image.hh
+++ b/milena/mln/core/image/t_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_CORE_IMAGE_T_IMAGE_HH
# define MLN_CORE_IMAGE_T_IMAGE_HH
-/*! \file mln/core/image/t_image.hh
- *
- * \brief Definition of the "transposed" image class mln::t_image.
- */
+/// \file mln/core/image/t_image.hh
+///
+/// Definition of the "transposed" image class mln::t_image.
# include <mln/core/internal/image_morpher.hh>
# include <mln/core/site_set/box.hh>
@@ -73,12 +73,14 @@ namespace mln
} // end of namespace mln::internal
- /*! \brief Transposed image class.
- *
- * Swap a couple of coordinates.
- *
- * \warning This class only works on images whose domain is a box.
- */
+ /// \brief Transposed image.
+ ///
+ /// Swap a couple of coordinates.
+ ///
+ /// \warning This class only works on images whose domain is a box.
+ ///
+ /// \ingroup modimagedomainmorpher
+ //
template <typename I>
class t_image
: public internal::image_morpher<I, mln_value(I), mln_domain(I), t_image<I>
>
diff --git a/milena/mln/core/image/thru_morpher.hh
b/milena/mln/core/image/thru_morpher.hh
index 368bf61..c86d918 100644
--- a/milena/mln/core/image/thru_morpher.hh
+++ b/milena/mln/core/image/thru_morpher.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -148,6 +148,10 @@ namespace mln
};
}
+ /// \brief Morph image values through a function.
+ ///
+ /// \ingroup modimagevaluemorpher
+ //
template <typename I, typename F>
class thru_image : public internal::thru_find_impl<I, F>::ret
{
diff --git a/milena/mln/core/image/thrubin_morpher.hh
b/milena/mln/core/image/thrubin_morpher.hh
index c8d7696..05611d2 100644
--- a/milena/mln/core/image/thrubin_morpher.hh
+++ b/milena/mln/core/image/thrubin_morpher.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+/// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -34,11 +34,10 @@
# include <mln/metal/bexpr.hh>
# include <mln/trait/fun.hh>
-///
/// \file mln/core/image/thrubin_morpher.hh
///
-/// \brief Definition of a morpher that morph values from two images through a binary
function.
-///
+/// \brief Definition of a morpher that morph values from two images
+/// through a binary function.
namespace mln
{
@@ -121,6 +120,9 @@ namespace mln
};
}
+ /// \brief Morphes values from two images through a binary function.
+ ///
+ /// \ingroup modimagevaluemorpher
template <typename I, typename F>
class thrubin_image : public internal::thrubin_find_impl<I, F>::ret
{
diff --git a/milena/mln/core/image/tr_image.hh b/milena/mln/core/image/tr_image.hh
index 753f666..b73654c 100644
--- a/milena/mln/core/image/tr_image.hh
+++ b/milena/mln/core/image/tr_image.hh
@@ -76,8 +76,11 @@ namespace mln
} // end of namespace mln::trait
- /// Morpher that makes an image become transformed by a given
- /// transformation.
+
+ /// \brief Transform an image by a given transformation.
+ ///
+ /// \ingroup modimageidmorpher
+ //
template <typename S, typename I, typename T>
struct tr_image :
public mln::internal::image_identity< I, mln_domain(I), tr_image<S,I,T>
>
diff --git a/milena/mln/core/image/unproject_image.hh
b/milena/mln/core/image/unproject_image.hh
index 31f069f..13ca285 100644
--- a/milena/mln/core/image/unproject_image.hh
+++ b/milena/mln/core/image/unproject_image.hh
@@ -90,7 +90,9 @@ namespace mln
- /// FIXME: Doc!
+ /// \brief Un-projects an image.
+ ///
+ /// \ingroup modimagedomainmorpher
template <typename I, typename D, typename F>
struct unproject_image : public internal::image_domain_morpher< I,
D,
diff --git a/milena/mln/core/image/vertex_image.hh
b/milena/mln/core/image/vertex_image.hh
index 333750a..8184e3f 100644
--- a/milena/mln/core/image/vertex_image.hh
+++ b/milena/mln/core/image/vertex_image.hh
@@ -120,7 +120,10 @@ namespace mln
} // end of namespace mln::internal
-
+ /// \brief Image based on graph vertices.
+ ///
+ /// \ingroup modimageconcrete
+ //
template <typename P, typename V, typename G = util::graph>
class vertex_image
: public pw::internal::image_base<fun::i2v::array<V>,
diff --git a/milena/mln/core/image/violent_cast_image.hh
b/milena/mln/core/image/violent_cast_image.hh
index b9808f0..8f381e2 100644
--- a/milena/mln/core/image/violent_cast_image.hh
+++ b/milena/mln/core/image/violent_cast_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,11 +29,10 @@
#ifndef MLN_CORE_IMAGE_VIOLENT_CAST_IMAGE_HH
# define MLN_CORE_IMAGE_VIOLENT_CAST_IMAGE_HH
-/*! \file mln/core/image/violent_cast_image.hh
- *
- * \brief Definition of an image morpher that make the user see the
- * same image but with another data type.
- */
+/// \file mln/core/image/violent_cast_image.hh
+///
+/// definition of an image morpher that make the user see the
+/// same image but with another data type.
# include <mln/core/internal/image_value_morpher.hh>
# include <mln/value/set.hh>
@@ -107,10 +107,10 @@ namespace mln
- /*! \brief Class of image morpher which takes an image to change its
- * data type.
- *
- */
+ /// \brief Violently cast image values to a given type.
+ ///
+ /// \ingroup modimagevaluemorpher
+ //
template <typename T, typename I>
struct violent_cast_image :
public internal::image_value_morpher< I, T, violent_cast_image<T,I> >
diff --git a/milena/mln/core/site_set/box.hh b/milena/mln/core/site_set/box.hh
index 349b1f9..2d143c2 100644
--- a/milena/mln/core/site_set/box.hh
+++ b/milena/mln/core/site_set/box.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -72,11 +72,13 @@ namespace mln
} // end of namespace mln::trait
- /*! \brief Generic box class: site set containing points of a
- * regular grid.
- *
- * Parameter \c P is the corresponding type of point.
- */
+ /// \brief Generic box class: site set containing points of a
+ /// regular grid.
+ ///
+ /// Parameter \c P is the corresponding type of point.
+ ///
+ /// \ingroup modsitesetbasic
+ //
template <typename P>
struct box : public Box< box<P> >,
public internal::box_impl_< P::dim, mln_coord(P), box<P> >,
diff --git a/milena/mln/core/site_set/p_array.hh b/milena/mln/core/site_set/p_array.hh
index ccb04fa..1cdc692 100644
--- a/milena/mln/core/site_set/p_array.hh
+++ b/milena/mln/core/site_set/p_array.hh
@@ -74,10 +74,12 @@ namespace mln
- /// Site set class based on std::vector.
+ /// \brief Multi-set of sites.
///
- /// This is a multi-set of sites.
+ /// Site set class based on std::vector.
///
+ /// \ingroup modsitesetsparse
+ //
template <typename P>
class p_array : public internal::site_set_base_< P, p_array<P> >
{
diff --git a/milena/mln/core/site_set/p_centered.hh
b/milena/mln/core/site_set/p_centered.hh
index ec75518..6ae6519 100644
--- a/milena/mln/core/site_set/p_centered.hh
+++ b/milena/mln/core/site_set/p_centered.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,14 +29,14 @@
#ifndef MLN_CORE_SITE_SET_P_CENTERED_HH
# define MLN_CORE_SITE_SET_P_CENTERED_HH
-/*! \file mln/core/site_set/p_centered.hh
- *
- * \brief This file defines the site set corresponding to a window
- * centered on a site.
- *
- * \todo Add the bkd iter.
- * \todo Code is_valid() and change_target() for the site set.
- */
+/// \file mln/core/site_set/p_centered.hh
+///
+/// This file defines the site set corresponding to a window
+/// centered on a site.
+///
+/// \todo Add the bkd iter.
+/// \todo Code is_valid() and change_target() for the site set.
+
# include <mln/core/internal/site_set_base.hh>
# include <mln/core/internal/site_set_iterator_base.hh>
@@ -71,6 +72,10 @@ namespace mln
} // end of namespace mln::trait
+ /// \brief Site set corresponding to a window centered on a site.
+ ///
+ /// \ingroup modsitesetsparse
+ //
template <typename W>
class p_centered : public internal::site_set_base_< mln_psite(W),
p_centered<W> >,
private mlc_is_a(W, Window)::check_t
@@ -120,7 +125,7 @@ namespace mln
/// Give the window this site set is defined upon.
const W& window() const;
-
+
protected:
W win_;
diff --git a/milena/mln/core/site_set/p_complex.hh
b/milena/mln/core/site_set/p_complex.hh
index cfeb0c2..6c0c6a0 100644
--- a/milena/mln/core/site_set/p_complex.hh
+++ b/milena/mln/core/site_set/p_complex.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -111,6 +112,9 @@ namespace mln
\arg \p G A function object type, associating localization
information (geometry) to each face of the complex.
\see mln::geom::complex_geometry. */
+ /// \brief A complex psite set based on the N-faces of a complex.
+ ///
+ /// \ingroup modsitesetcomplex
template <unsigned D, typename G>
class p_complex
: public internal::site_set_base_< complex_psite<D, G>, p_complex<D,
G> >
diff --git a/milena/mln/core/site_set/p_edges.hh b/milena/mln/core/site_set/p_edges.hh
index 06af1d3..f0c60da 100644
--- a/milena/mln/core/site_set/p_edges.hh
+++ b/milena/mln/core/site_set/p_edges.hh
@@ -65,6 +65,10 @@ namespace mln
} // end of namespace mln::trait
+ /// \brief Site set mapping graph edges and image sites.
+ ///
+ /// \ingroup modsitesetgraph
+ //
template <typename G, typename F =
util::internal::id2element<G,util::edge<G> > >
class p_edges
: public internal::site_set_base_< mln_result(F), p_edges<G, F> >
diff --git a/milena/mln/core/site_set/p_faces.hh b/milena/mln/core/site_set/p_faces.hh
index a3c8cae..2b387b2 100644
--- a/milena/mln/core/site_set/p_faces.hh
+++ b/milena/mln/core/site_set/p_faces.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008,2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -29,7 +30,8 @@
# define MLN_CORE_SITE_SET_P_FACES_HH
/// \file mln/core/site_set/p_faces.hh
-/// \brief Definition of a point set based on the set of n-faces of a
+///
+/// definition of a point set based on the set of n-faces of a
/// complex.
# include <mln/core/internal/site_set_base.hh>
@@ -70,8 +72,10 @@ namespace mln
} // end of namespace mln::trait
- /// A complex psite set based on a the \tparam N -faces of a complex of
- /// dimension \tparam D (a \p D-complex).
+ /// \brief A complex psite set based on a the N-faces of a complex of
+ /// dimension D (a D-complex).
+ ///
+ /// \ingroup modsitesetgraph
template <unsigned N, unsigned D, typename P>
struct p_faces
: public internal::site_set_base_< faces_psite<N, D, P>,
diff --git a/milena/mln/core/site_set/p_if.hh b/milena/mln/core/site_set/p_if.hh
index 988ea4a..d55cc40 100644
--- a/milena/mln/core/site_set/p_if.hh
+++ b/milena/mln/core/site_set/p_if.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +29,11 @@
#ifndef MLN_CORE_SITE_SET_P_IF_HH
# define MLN_CORE_SITE_SET_P_IF_HH
-/*! \file mln/core/site_set/p_if.hh
- *
- * \brief Definition of the restriction of a site set w.r.t. a predicate.
- *
- * \todo Change s_ attribute type to S*.
- */
+/// \file mln/core/site_set/p_if.hh
+///
+/// Definition of the restriction of a site set w.r.t. a predicate.
+///
+/// \todo Change s_ attribute type to S*.
# include <mln/core/internal/site_set_base.hh>
# include <mln/core/concept/function.hh>
@@ -42,7 +42,7 @@
namespace mln
{
- // Fwd decls.
+ // Forward declarations.
template <typename S, typename F> struct p_if;
template <typename Pi, typename S, typename F> struct p_if_piter_;
@@ -74,8 +74,10 @@ namespace mln
- /*! \brief Generic subset class.
- *
+ /// \brief Site set restricted w.r.t. a predicate.
+ ///
+ /// \ingroup modsitesetsparse
+ /*!
* Parameter \c S is a site set type; parameter F is a function
* from point to Boolean.
*/
diff --git a/milena/mln/core/site_set/p_image.hh b/milena/mln/core/site_set/p_image.hh
index ca0d64f..b52a6b3 100644
--- a/milena/mln/core/site_set/p_image.hh
+++ b/milena/mln/core/site_set/p_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -29,13 +30,13 @@
# define MLN_CORE_SITE_SET_P_IMAGE_HH
-/*! \file mln/core/site_set/p_image.hh
- *
- * \brief Definition of a site set class based on an image of
- * Booleans.
- *
- * \todo Add an init method (deferred initialization).
- */
+/// \file mln/core/site_set/p_image.hh
+///
+/// Definition of a site set class based on an image of
+/// Booleans.
+///
+/// \todo Add an init method (deferred initialization).
+
# include <mln/core/site_set/p_if.hh>
# include <mln/fun/ops.hh>
@@ -67,7 +68,9 @@ namespace mln
} // end of namespace trait
-
+ /// \brief Site set based on an image of Booleans.
+ ///
+ /// \ingroup modsitesetsparse
template <typename I>
class p_image : public internal::site_set_base_< mln_psite(I), p_image<I>
>
{
diff --git a/milena/mln/core/site_set/p_key.hh b/milena/mln/core/site_set/p_key.hh
index a265a92..befd39e 100644
--- a/milena/mln/core/site_set/p_key.hh
+++ b/milena/mln/core/site_set/p_key.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +29,11 @@
#ifndef MLN_CORE_SITE_SET_P_KEY_HH
# define MLN_CORE_SITE_SET_P_KEY_HH
-/*! \file mln/core/site_set/p_key.hh
- *
- * \brief Definition of a FIXME
- *
- * \todo Be more verbose in run_().
- */
+/// \file mln/core/site_set/p_key.hh
+///
+/// Definition of a priority queue class.
+///
+/// \todo Be more verbose in run_().
# include <map>
# include <mln/core/concept/function.hh>
@@ -68,10 +68,9 @@ namespace mln
- /*! \brief Priority queue class.
- *
- * FIXME
- */
+ /// \brief Priority queue class.
+ ///
+ /// \ingroup modsitesetqueue
template <typename K, typename P>
class p_key : public internal::site_set_base_< P,
p_key<K,P> >
diff --git a/milena/mln/core/site_set/p_line2d.hh b/milena/mln/core/site_set/p_line2d.hh
index 5b0a228..4594a1a 100644
--- a/milena/mln/core/site_set/p_line2d.hh
+++ b/milena/mln/core/site_set/p_line2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -74,7 +74,11 @@ namespace mln
- /// 2D line point set class.
+ /// \brief 2D discrete line of points.
+ /// It is based on p_array.
+ ///
+ /// \ingroup modsitesetbasic
+ //
class p_line2d : public internal::site_set_base_< point2d, p_line2d >
{
typedef p_line2d self_;
diff --git a/milena/mln/core/site_set/p_mutable_array_of.hh
b/milena/mln/core/site_set/p_mutable_array_of.hh
index 627279a..7dd481f 100644
--- a/milena/mln/core/site_set/p_mutable_array_of.hh
+++ b/milena/mln/core/site_set/p_mutable_array_of.hh
@@ -69,10 +69,11 @@ namespace mln
- /*! \brief p_mutable_array_of is a mutable array of site sets.
- *
- * Parameter \c S is the type of the contained site sets.
- */
+ /// \brief p_mutable_array_of is a mutable array of site sets.
+ ///
+ /// Parameter \c S is the type of the contained site sets.
+ ///
+ /// \ingroup modsitesetbasic
template <typename S>
class p_mutable_array_of : public internal::site_set_base_< mln_site(S),
p_mutable_array_of<S> >,
diff --git a/milena/mln/core/site_set/p_priority.hh
b/milena/mln/core/site_set/p_priority.hh
index 0e4b7fa..cb490fc 100644
--- a/milena/mln/core/site_set/p_priority.hh
+++ b/milena/mln/core/site_set/p_priority.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -65,8 +65,10 @@ namespace mln
- /*! \brief Priority queue class.
- *
+ /// \brief Priority queue.
+ ///
+ /// \ingroup modsitesetqueue
+ /*!
* The parameter \p P is the type of the priorities (for instance
* unsigned).
*
@@ -76,7 +78,7 @@ namespace mln
template <typename P, typename Q>
class p_priority : public internal::site_set_base_< mln_site(Q),
p_priority<P,Q> >,
- private mlc_is_a(Q, Site_Set)::check_t
+ private mlc_is_a(Q, Site_Set)::check_t
{
typedef p_priority<P,Q> self_;
public:
diff --git a/milena/mln/core/site_set/p_queue.hh b/milena/mln/core/site_set/p_queue.hh
index d6fc400..920f9ba 100644
--- a/milena/mln/core/site_set/p_queue.hh
+++ b/milena/mln/core/site_set/p_queue.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,10 @@
#ifndef MLN_CORE_SITE_SET_P_QUEUE_HH
# define MLN_CORE_SITE_SET_P_QUEUE_HH
-/*! \file mln/core/site_set/p_queue.hh
- *
- * \brief Definition of a site set based on std::deque.
- *
+/// \file mln/core/site_set/p_queue.hh
+///
+/// Definition of a site set based on std::deque.
+/*!
* \todo Rename 'front' because it is ambiguous for C++ users; we
* have:
* - 'p_queue::pop' means 'deque::pop_front'
@@ -66,8 +67,10 @@ namespace mln
- /*! \brief Queue of sites (based on std::deque).
- *
+ /// \brief Queue of sites (based on std::deque).
+ ///
+ /// \ingroup modsitesetqueue
+ /*!
* The parameter \c P shall be a site or pseudo-site type.
*/
template <typename P>
diff --git a/milena/mln/core/site_set/p_queue_fast.hh
b/milena/mln/core/site_set/p_queue_fast.hh
index 97aab6e..ed3d2eb 100644
--- a/milena/mln/core/site_set/p_queue_fast.hh
+++ b/milena/mln/core/site_set/p_queue_fast.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,13 +29,12 @@
#ifndef MLN_CORE_SITE_SET_P_QUEUE_FAST_HH
# define MLN_CORE_SITE_SET_P_QUEUE_FAST_HH
-/*! \file mln/core/site_set/p_queue_fast.hh
- *
- * \brief Definition of a queue of sites that is fast but uses extra
- * memory w.r.t. a simple queue.
- *
- * \todo Add insert.
- */
+/// \file mln/core/site_set/p_queue_fast.hh
+///
+/// Definition of a queue of sites that is fast but uses extra
+/// memory w.r.t. a simple queue.
+///
+/// \todo Add insert.
# include <mln/core/site_set/p_array.hh>
@@ -63,8 +63,10 @@ namespace mln
- /*! \brief Queue of sites class (based on p_array<P>).
- *
+ /// \brief Queue of sites class (based on p_array<P>).
+ ///
+ /// \ingroup modsitesetqueue
+ /*!
* This container is efficient; FIXME: explain...
*
* The parameter \c P shall be a site or pseudo-site type.
diff --git a/milena/mln/core/site_set/p_run.hh b/milena/mln/core/site_set/p_run.hh
index af7588f..a50b74a 100644
--- a/milena/mln/core/site_set/p_run.hh
+++ b/milena/mln/core/site_set/p_run.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +29,11 @@
#ifndef MLN_CORE_SITE_SET_P_RUN_HH
# define MLN_CORE_SITE_SET_P_RUN_HH
-/*! \file mln/core/site_set/p_run.hh
- *
- * \brief Definition of a run of points.
- *
- * \todo Use a lazy approach (in subj) like in p_array psite.
- */
+/// \file mln/core/site_set/p_run.hh
+///
+/// Definition of a run of points.
+///
+/// \todo Use a lazy approach (in subj) like in p_array psite.
# include <mln/core/internal/site_set_base.hh>
# include <mln/core/site_set/box.hh>
@@ -76,8 +76,10 @@ namespace mln
- /*! \brief Point set class in run.
- *
+ /// \brief Point set class in run.
+ ///
+ /// \ingroup modsitesetbasic
+ /*!
* This is a mathematical set of points (not a multi-set). The
* parameter \p P shall be a Point type.
*
diff --git a/milena/mln/core/site_set/p_set.hh b/milena/mln/core/site_set/p_set.hh
index 8461171..7c473e0 100644
--- a/milena/mln/core/site_set/p_set.hh
+++ b/milena/mln/core/site_set/p_set.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -61,8 +61,10 @@ namespace mln
- /*! \brief Point set class based on util::set.
- *
+ /// \brief Mathematical set of sites (based on util::set).
+ ///
+ /// \ingroup modsitesetsparse
+ /*!
* This is a mathematical set of sites (not a multi-set).
*
* The parameter \c P shall be a site or pseudo-site type.
diff --git a/milena/mln/core/site_set/p_vaccess.hh
b/milena/mln/core/site_set/p_vaccess.hh
index 25b8e5c..1ca999f 100644
--- a/milena/mln/core/site_set/p_vaccess.hh
+++ b/milena/mln/core/site_set/p_vaccess.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -66,7 +66,9 @@ namespace mln
- /// FIXME
+ /// \brief Site set in which sites are grouped by their associated value.
+ ///
+ /// \ingroup modsitesetsparse
template <typename V, typename S>
class p_vaccess : public internal::site_set_base_< mln_site(S),
p_vaccess<V,S> >,
diff --git a/milena/mln/core/site_set/p_vertices.hh
b/milena/mln/core/site_set/p_vertices.hh
index f158626..aacf419 100644
--- a/milena/mln/core/site_set/p_vertices.hh
+++ b/milena/mln/core/site_set/p_vertices.hh
@@ -31,7 +31,7 @@
/// \file mln/core/site_set/p_vertices.hh
///
-/// Definition of a point set based on a graph.
+/// Definition of a point set based on graph vertices.
# include <mln/core/concept/function.hh>
# include <mln/core/internal/site_set_base.hh>
@@ -65,6 +65,10 @@ namespace mln
} // end of namespace mln::trait
+ /// \brief Site set based mapping graph vertices to sites.
+ ///
+ /// \ingroup modsitesetgraph
+ //
template <typename G, typename F =
util::internal::id2element<G,util::vertex<G> > >
class p_vertices
: public internal::site_set_base_< mln_result(F), p_vertices<G,F> >
diff --git a/milena/mln/fun/i2v/all.hh b/milena/mln/fun/i2v/all.hh
index cc52d88..ec0c65d 100644
--- a/milena/mln/fun/i2v/all.hh
+++ b/milena/mln/fun/i2v/all.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_FUN_I2V_ALL_HH
# define MLN_FUN_I2V_ALL_HH
-/*! \file mln/fun/i2v/all.hh
- *
- * \brief File that includes all functions from index to value.
- */
+/// \file mln/fun/i2v/all.hh
+///
+/// File that includes all functions from index to value.
namespace mln
@@ -40,10 +40,12 @@ namespace mln
namespace fun
{
- /// Namespace of functions from index to value.
- namespace i2v
- {
- }
+ /// \brief Functions from index to value.
+ ///
+ /// \ingroup modfun
+ //
+ namespace i2v {}
+
}
}
diff --git a/milena/mln/fun/meta/inty.hh b/milena/mln/fun/meta/inty.hh
index 100641d..4f370a9 100644
--- a/milena/mln/fun/meta/inty.hh
+++ b/milena/mln/fun/meta/inty.hh
@@ -29,7 +29,7 @@
#ifndef MLN_FUN_META_INTY_HH
# define MLN_FUN_META_INTY_HH
-/// \file mln/fun/meta/infy.hh
+/// \file mln/fun/meta/inty.hh
///
/// Meta function to retrieve/modify the color intensity.
diff --git a/milena/mln/fun/meta/lum.hh b/milena/mln/fun/meta/lum.hh
index 2c987b9..9378c48 100644
--- a/milena/mln/fun/meta/lum.hh
+++ b/milena/mln/fun/meta/lum.hh
@@ -29,7 +29,7 @@
#ifndef MLN_FUN_META_LUM_HH
# define MLN_FUN_META_LUM_HH
-/// \file mln/fun/meta/infy.hh
+/// \file mln/fun/meta/lum.hh
///
/// Meta function to retrieve/modify the color luminosity.
diff --git a/milena/mln/pw/image.hh b/milena/mln/pw/image.hh
index d01ff32..9bd6b87 100644
--- a/milena/mln/pw/image.hh
+++ b/milena/mln/pw/image.hh
@@ -84,9 +84,12 @@ namespace mln
namespace pw
{
- /// A generic point-wise image implementation.
+ /// \brief A generic point-wise image implementation.
/// Parameter \p F is a function restricting the domain.
/// Parameter \p S is the domain type.
+ ///
+ /// \ingroup modimageconcrete
+ //
template <typename F, typename S>
class image :
public pw::internal::image_base< F, S, image<F,S> >
diff --git a/milena/mln/topo/is_n_face.hh b/milena/mln/topo/is_n_face.hh
index 33bce33..a43f072 100644
--- a/milena/mln/topo/is_n_face.hh
+++ b/milena/mln/topo/is_n_face.hh
@@ -29,6 +29,7 @@
# define MLN_TOPO_IS_N_FACE_HH
/// \file mln/topo/is_facet.hh
+///
/// \brief Testing whether an mln::complex_psite is an n-face.
# include <mln/core/site_set/complex_psite.hh>
@@ -44,7 +45,7 @@ namespace mln
// Forward declaration.
template <unsigned N> struct is_n_face;
- /// A functor testing wheter a mln::complex_psite is an \N-face.
+ /// A functor testing wheter a mln::complex_psite is an \p N -face.
template <unsigned N>
struct is_n_face : public mln::Function_p2b< is_n_face<N> >
{
diff --git a/milena/mln/util/array.hh b/milena/mln/util/array.hh
index f48d242..fd1f85b 100644
--- a/milena/mln/util/array.hh
+++ b/milena/mln/util/array.hh
@@ -83,12 +83,15 @@ namespace mln
template <typename T> class array_bkd_iter;
- /// A dynamic array class.
+ /// \brief A dynamic array class.
///
/// Elements are stored by copy. Implementation is lazy.
///
/// The parameter \c T is the element type, which shall not be
/// const-qualified.
+ ///
+ /// \ingroup modutil
+ //
template <typename T>
class array : public Function_i2v< mln::util::array<T> >
{
diff --git a/milena/mln/util/couple.hh b/milena/mln/util/couple.hh
index 5f43c27..33ba8e0 100644
--- a/milena/mln/util/couple.hh
+++ b/milena/mln/util/couple.hh
@@ -44,6 +44,9 @@ namespace mln
namespace util
{
+ /// \brief Definition of a couple.
+ ///
+ /// \ingroup modutil
template <typename T, typename U>
class couple : public mln::Object< couple<T,U> >
{
diff --git a/milena/mln/util/fibonacci_heap.hh b/milena/mln/util/fibonacci_heap.hh
index 597d87a..e3b1345 100644
--- a/milena/mln/util/fibonacci_heap.hh
+++ b/milena/mln/util/fibonacci_heap.hh
@@ -131,6 +131,9 @@ namespace mln
| Fibonacci Heap Class |
`---------------------*/
+ /// \brief Fibonacci heap.
+ ///
+ /// \ingroup modutil
template <typename P, typename T>
class fibonacci_heap : public Object< fibonacci_heap<P,T> >
{
diff --git a/milena/mln/util/graph.hh b/milena/mln/util/graph.hh
index 0614b61..fb0425f 100644
--- a/milena/mln/util/graph.hh
+++ b/milena/mln/util/graph.hh
@@ -82,7 +82,10 @@ namespace mln
namespace util
{
- /// Undirected graph.
+ /// \brief Undirected graph.
+ ///
+ /// \ingroup modgraph
+ //
class graph : public internal::graph_base<graph>
{
/// The super class.
diff --git a/milena/mln/util/line_graph.hh b/milena/mln/util/line_graph.hh
index 8ecf7b2..686a24f 100644
--- a/milena/mln/util/line_graph.hh
+++ b/milena/mln/util/line_graph.hh
@@ -77,7 +77,10 @@ namespace mln
namespace util
{
- /// Undirected line graph of a graph of type \tparam G.
+ /// \brief Undirected line graph of a graph of type \tparam G.
+ ///
+ /// \ingroup modgraph
+ //
template <typename G>
class line_graph : public internal::graph_base< line_graph<G> >
{
diff --git a/milena/mln/util/ord_pair.hh b/milena/mln/util/ord_pair.hh
index 674b98a..bdb5f94 100644
--- a/milena/mln/util/ord_pair.hh
+++ b/milena/mln/util/ord_pair.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -43,9 +43,12 @@ namespace mln
namespace util
{
- /// Ordered pair structure s.a. this->first <= this->second;
+ /// \brief Ordered pair structure s.a. this->first <= this->second;
/// ordered pairs are partially ordered using lexicographical
/// ordering.
+ ///
+ /// \ingroup modutil
+ //
template <typename T>
struct ord_pair : public mln::Object< ord_pair<T> >
{
diff --git a/milena/mln/util/set.hh b/milena/mln/util/set.hh
index 0401c69..929b77d 100644
--- a/milena/mln/util/set.hh
+++ b/milena/mln/util/set.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -76,6 +76,9 @@ namespace mln
/// mechanism.
///
/// \see mln::util::ord
+ ///
+ /// \ingroup modutil
+ //
template <typename T>
class set : public Object< mln::util::set<T> >
{
diff --git a/milena/mln/util/site_pair.hh b/milena/mln/util/site_pair.hh
index 0dbc531..b322290 100644
--- a/milena/mln/util/site_pair.hh
+++ b/milena/mln/util/site_pair.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,6 +46,11 @@ namespace mln
types to have a `coord' typedef, but util::ord_pair has none.
Hence this small workaround. Use ord_pair directly as soon as
image_base is refurbished. */
+ /// \brief A pair of sites.
+ /// It can be used as site.
+ ///
+ /// \ingroup modutil
+ //
template <typename P>
class site_pair : public mln::Object< site_pair<P> >
{
diff --git a/milena/mln/util/soft_heap.hh b/milena/mln/util/soft_heap.hh
index e0f8768..116c781 100644
--- a/milena/mln/util/soft_heap.hh
+++ b/milena/mln/util/soft_heap.hh
@@ -170,8 +170,12 @@ namespace mln
+ /// \brief Soft heap.
/// T key, the data to store in the heap. For instance a point 2d.
/// R rank, for instance int_u8
+ ///
+ /// \ingroup modutil
+ //
template <typename T, typename R>
class soft_heap : public Object< soft_heap<T,R> >
{
diff --git a/milena/mln/win/backdiag2d.hh b/milena/mln/win/backdiag2d.hh
index ecea98e..38e9948 100644
--- a/milena/mln/win/backdiag2d.hh
+++ b/milena/mln/win/backdiag2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,19 +45,23 @@ namespace mln
namespace win
{
-
+
/*! \brief Diagonal line window defined on the 2D square grid.
*
* An backdiag2d is centered and symmetric.
* its width (length) is odd.
*
- * For instance: \n
- * o \n
- * o \n
- * x \n
- * o \n
- * o \n
+ * For instance:
+ * \verbatim
+ * o
+ * o
+ * x
+ * o
+ * o
+ * \endverbatim
* is defined with length = 5.
+ *
+ * \ingroup modwin2d
*/
struct backdiag2d : public internal::classical_window_base< dpoint2d, backdiag2d
>
{
diff --git a/milena/mln/win/ball.hh b/milena/mln/win/ball.hh
index 4dd4807..ba14475 100644
--- a/milena/mln/win/ball.hh
+++ b/milena/mln/win/ball.hh
@@ -59,13 +59,15 @@ namespace mln
namespace win
{
-
+
/*! \brief Generic ball window defined on a given grid.
*
* A ball is centered and symmetric; so its diameter is odd.
*
* G is the given grid on which the ball is defined and C is the
* type of coordinates.
+ *
+ * \ingroup modwinnd
*/
template <typename G, typename C>
struct ball : public internal::classical_window_base< dpoint<G,C>,
ball<G,C> >
@@ -75,7 +77,7 @@ namespace mln
/// \param[in] diameter Diameter of the ball.
/// \pre \p diameter is odd.
ball(unsigned diameter);
-
+
/// Give the ball diameter.
unsigned diameter() const;
diff --git a/milena/mln/win/cube3d.hh b/milena/mln/win/cube3d.hh
index c3863b6..e2802c1 100644
--- a/milena/mln/win/cube3d.hh
+++ b/milena/mln/win/cube3d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -51,19 +51,23 @@ namespace mln
* An cube3d is centered and symmetric; so
* its height (length) is odd.
*
- * For instance: \n
- * o o o \n
- * o o o \n
- * o o o \n
-
- * o o o \n
- * o x o \n
- * o o o \n
-
- * o o o \n
- * o o o \n
- * o o o \n
+ * For instance:
+ * \verbatim
+ * o o o
+ * o o o
+ * o o o
+
+ * o o o
+ * o x o
+ * o o o
+
+ * o o o
+ * o o o
+ * o o o
+ * \endverbatim
* is defined with length = 3.
+ *
+ * \ingroup modwin3d
*/
struct cube3d : public internal::classical_window_base< dpoint3d, cube3d >
{
diff --git a/milena/mln/win/cuboid3d.hh b/milena/mln/win/cuboid3d.hh
index b642dfd..990c239 100644
--- a/milena/mln/win/cuboid3d.hh
+++ b/milena/mln/win/cuboid3d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -51,30 +52,33 @@ namespace mln
rectangular prism or rectangular parallelepiped) shape. It is
centered and symmetric.
- For instance: \n
-
- o o o o o o o\n
- o o o o o o o\n
- o o o o o o o\n
- o o o o o o o\n
- o o o o o o o\n
-
- o o o o o o o\n
- o o o o o o o\n
- o o o x o o o\n
- o o o o o o o\n
- o o o o o o o\n
-
- o o o o o o o\n
- o o o o o o o\n
- o o o o o o o\n
- o o o o o o o\n
- o o o o o o o\n
+ For instance:
+ \verbatim
+ o o o o o o o
+ o o o o o o o
+ o o o o o o o
+ o o o o o o o
+ o o o o o o o
+
+ o o o o o o o
+ o o o o o o o
+ o o o x o o o
+ o o o o o o o
+ o o o o o o o
+
+ o o o o o o o
+ o o o o o o o
+ o o o o o o o
+ o o o o o o o
+ o o o o o o o
+ \endverbatim
is defined with depth = 3, height = 5 and width = 7.
Reference:
http://en.wikipedia.org/wiki/Cuboid
+
+ \ingroup modwin3d
*/
struct cuboid3d : public internal::classical_window_base< dpoint3d, cuboid3d >
{
diff --git a/milena/mln/win/diag2d.hh b/milena/mln/win/diag2d.hh
index 41dcd6f..d4432af 100644
--- a/milena/mln/win/diag2d.hh
+++ b/milena/mln/win/diag2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,19 +45,23 @@ namespace mln
namespace win
{
-
+
/*! \brief Diagonal line window defined on the 2D square grid.
*
* An diag2d is centered and symmetric.
* its width (length) is odd.
*
- * For instance: \n
- * o \n
- * o \n
- * x \n
- * o \n
- * o \n
+ * For instance:
+ * \verbatim
+ * o
+ * o
+ * x
+ * o
+ * o
+ * \endverbatim
* is defined with length = 5.
+ *
+ * \ingroup modwin2d
*/
struct diag2d : public internal::classical_window_base< dpoint2d, diag2d >
{
diff --git a/milena/mln/win/disk2d.hh b/milena/mln/win/disk2d.hh
index 877d526..f388ad3 100644
--- a/milena/mln/win/disk2d.hh
+++ b/milena/mln/win/disk2d.hh
@@ -43,9 +43,11 @@ namespace mln
namespace win
{
-
- /// 2D disk window; precisely, ball-shaped window defined on the
+
+ /// \brief 2D disk window; precisely, ball-shaped window defined on the
/// 2D square grid.
+ ///
+ /// \ingroup modwin2d
//
typedef ball<grid::square, def::coord> disk2d;
diff --git a/milena/mln/win/hline2d.hh b/milena/mln/win/hline2d.hh
index 18c7546..27e9d61 100644
--- a/milena/mln/win/hline2d.hh
+++ b/milena/mln/win/hline2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,10 @@
#ifndef MLN_WIN_HLINE2D_HH
# define MLN_WIN_HLINE2D_HH
-/*! \file mln/win/hline2d.hh
- *
- * \brief Definition of the mln::win::hline2d window.
- */
+/// \file mln/win/hline2d.hh
+///
+/// Definition of the mln::win::hline2d window.
+
# include <mln/win/line.hh>
# include <mln/core/grids.hh>
@@ -42,15 +43,19 @@ namespace mln
namespace win
{
-
+
/*! \brief Horizontal line window defined on the 2D square grid.
- *
- * An hline2d is centered and symmetric; so its height is 1 and
- * its width (length) is odd.
- *
- * For instance: \n
- * o o x o o \n
- * is defined with length = 5.
+
+ An hline2d is centered and symmetric; so its height is 1 and
+ its width (length) is odd.
+
+ For instance:
+ \verbatim
+ o o x o o
+ \endverbatim
+ is defined with length = 5.
+
+ \ingroup modwin2d
*/
typedef line<grid::square, 1, def::coord> hline2d;
diff --git a/milena/mln/win/line.hh b/milena/mln/win/line.hh
index eab37cf..15f9fb7 100644
--- a/milena/mln/win/line.hh
+++ b/milena/mln/win/line.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -58,7 +58,7 @@ namespace mln
namespace win
{
-
+
/*! \brief Generic line window defined on a given grid in the
* given dimension.
*
@@ -69,6 +69,8 @@ namespace mln
* coordinates.
*
* \see mln::win::hline2d for an exemple of his use.
+ *
+ * \ingroup modwinnd
*/
template <typename M, unsigned i, typename C>
struct line : public internal::classical_window_base< dpoint<M, C>,
line<M,i,C> >
diff --git a/milena/mln/win/multiple.hh b/milena/mln/win/multiple.hh
index 138f8f3..53b88bc 100644
--- a/milena/mln/win/multiple.hh
+++ b/milena/mln/win/multiple.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +29,11 @@
#ifndef MLN_WIN_MULTIPLE_HH
# define MLN_WIN_MULTIPLE_HH
-/*! \file mln/win/multiple.hh
- *
- * \brief Definition of a multiple window.
- *
- * \todo Implementation of the bkd_qiter (see FIXME).
- */
+/// \file mln/win/multiple.hh
+///
+/// Definition of a multiple window.
+///
+/// \todo Implementation of the bkd_qiter (see FIXME).
# include <mln/core/internal/window_base.hh>
# include <mln/core/internal/site_relative_iterator_base.hh>
@@ -71,6 +71,10 @@ namespace mln
namespace win
{
+
+ /// \brief Multiple window.
+ ///
+ /// \ingroup modwinmulti
template <typename W, typename F>
class multiple
diff --git a/milena/mln/win/multiple_size.hh b/milena/mln/win/multiple_size.hh
index 8760b9c..efd8dc5 100644
--- a/milena/mln/win/multiple_size.hh
+++ b/milena/mln/win/multiple_size.hh
@@ -72,6 +72,10 @@ namespace mln
namespace win
{
+ /// \brief Definition of a multiple-size window.
+ ///
+ /// \ingroup modwinmulti
+ //
template <unsigned n, typename W, typename F>
class multiple_size
diff --git a/milena/mln/win/octagon2d.hh b/milena/mln/win/octagon2d.hh
index b839010..98a9048 100644
--- a/milena/mln/win/octagon2d.hh
+++ b/milena/mln/win/octagon2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -54,14 +54,18 @@ namespace mln
* where l >= 0.
*
* For instance: \n
- * o o o \n
- * o o o o o \n
- * o o o o o o o \n
- * o o o x o o o \n
- * o o o o o o o \n
- * o o o o o \n
- * o o o \n
+ * \verbatim
+ * o o o
+ * o o o o o
+ * o o o o o o o
+ * o o o x o o o
+ * o o o o o o o
+ * o o o o o
+ * o o o
+ * \endverbatim
* is defined with L = 7 (l = 1).
+ *
+ * \ingroup modwin2d
*/
struct octagon2d : public internal::classical_window_base< dpoint2d, octagon2d
>
{
diff --git a/milena/mln/win/rectangle2d.hh b/milena/mln/win/rectangle2d.hh
index dd807ac..311c49d 100644
--- a/milena/mln/win/rectangle2d.hh
+++ b/milena/mln/win/rectangle2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +29,11 @@
#ifndef MLN_WIN_RECTANGLE2D_HH
# define MLN_WIN_RECTANGLE2D_HH
-/*! \file mln/win/rectangle2d.hh
- *
- * \brief Definition of the mln::win::rectangle2d window.
- *
- * \todo Reactivate includes at EOF.
- */
+/// \file mln/win/rectangle2d.hh
+///
+/// Definition of the mln::win::rectangle2d window.
+///
+/// \todo Reactivate includes at EOF.
# include <mln/core/internal/classical_window_base.hh>
# include <mln/core/alias/dpoint2d.hh>
@@ -54,11 +54,15 @@ namespace mln
* A rectangle2d is a 2D window with rectangular shape. It is
* centered and symmetric.
*
- * For instance: \n
- * o o o o o \n
- * o o x o o \n
- * o o o o o \n
+ * For instance:
+ * \verbatim
+ * o o o o o
+ * o o x o o
+ * o o o o o
+ * \endverbatim
* is defined with height = 3 and width = 5.
+ *
+ * \ingroup modwin2d
*/
struct rectangle2d : public internal::classical_window_base< dpoint2d, rectangle2d
>
{
diff --git a/milena/mln/win/segment1d.hh b/milena/mln/win/segment1d.hh
index 8d992ed..bc67e54 100644
--- a/milena/mln/win/segment1d.hh
+++ b/milena/mln/win/segment1d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,13 +44,17 @@ namespace mln
{
/*! \brief Segment window defined on the 1D grid.
- *
- * An segment1d is centered and symmetric; so
- * its height (length) is odd.
- *
- * For instance: \n
- * o x o \n
- * is defined with length = 3.
+
+ An segment1d is centered and symmetric; so
+ its height (length) is odd.
+
+ For instance:
+ \verbatim
+ o x o
+ \endverbatim
+ is defined with length = 3.
+
+ \ingroup modwin1d
*/
typedef line<grid::tick, 0, def::coord> segment1d;
diff --git a/milena/mln/win/shift.hh b/milena/mln/win/shift.hh
index ef127ff..1b38e35 100644
--- a/milena/mln/win/shift.hh
+++ b/milena/mln/win/shift.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_WIN_SHIFT_HH
# define MLN_WIN_SHIFT_HH
-/*! \file mln/win/shift.hh
- *
- * \brief Define a function which shifts a window with a delta-point.
- */
+/// \file mln/win/shift.hh
+///
+/// Define a function which shifts a window with a delta-point.
# include <mln/core/window.hh>
diff --git a/milena/mln/win/sphere3d.hh b/milena/mln/win/sphere3d.hh
index 3767f4d..1a9c2a2 100644
--- a/milena/mln/win/sphere3d.hh
+++ b/milena/mln/win/sphere3d.hh
@@ -42,10 +42,11 @@ namespace mln
namespace win
{
-
- /// 3D sphere window; precisely, ball-shaped window defined on the
+
+ /// \brief 3D sphere window; precisely, ball-shaped window defined on the
/// 3D cubic grid.
- //
+ ///
+ /// \ingroup modwin3d
typedef ball<grid::cube, def::coord> sphere3d;
diff --git a/milena/mln/win/vline2d.hh b/milena/mln/win/vline2d.hh
index a1c43fb..8282d12 100644
--- a/milena/mln/win/vline2d.hh
+++ b/milena/mln/win/vline2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_WIN_VLINE2D_HH
# define MLN_WIN_VLINE2D_HH
-/*! \file mln/win/vline2d.hh
- *
- * \brief Definition of the mln::win::vline2d window.
- */
+/// \file mln/win/vline2d.hh
+///
+/// Definition of the mln::win::vline2d window.
# include <mln/win/line.hh>
# include <mln/core/grids.hh>
@@ -42,17 +42,21 @@ namespace mln
namespace win
{
-
+
/*! \brief Vertical line window defined on the 2D square grid.
- *
- * An vline2d is centered and symmetric; so its width is 1 and
- * its height (length) is odd.
- *
- * For instance: \n
- * o \n
- * x \n
- * o \n
- * is defined with length = 3.
+
+ An vline2d is centered and symmetric; so its width is 1 and
+ its height (length) is odd.
+
+ For instance:
+ \verbatim
+ o
+ x
+ o
+ \endverbatim
+ is defined with length = 3.
+
+ \ingroup modwin2d
*/
typedef line<grid::square, 0, def::coord> vline2d;
diff --git a/milena/tests/transform/distance_and_closest_point_geodesic.cc
b/milena/tests/transform/distance_and_closest_point_geodesic.cc
index 368256b..0f2fccd 100644
--- a/milena/tests/transform/distance_and_closest_point_geodesic.cc
+++ b/milena/tests/transform/distance_and_closest_point_geodesic.cc
@@ -26,7 +26,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/transform/closest_point_geodesic.cc
+/// \file tests/transform/distance_and_closest_point_geodesic.cc
///
/// Test on mln::transform::closest_point_geodesic.
diff --git a/milena/tests/util/graph.cc b/milena/tests/util/graph.cc
index 7e3910e..e40fbdb 100644
--- a/milena/tests/util/graph.cc
+++ b/milena/tests/util/graph.cc
@@ -84,7 +84,7 @@ int main ()
{
unsigned i = 0;
for_all(n)
- mln_assertion(i++ == n.id());
+ mln_assertion(i++ == n.index());
mln_assertion(i != 0);
}
}
@@ -95,7 +95,7 @@ int main ()
{
unsigned i = v.nmax_nbh_edges();
for_all(e)
- mln_assertion(--i == e.id());
+ mln_assertion(--i == e.index());
mln_assertion((v.nmax_nbh_edges() == 0 && i == 0) || i !=
v.nmax_nbh_edges());
}
}
diff --git a/milena/tests/util/soft_heap.cc b/milena/tests/util/soft_heap.cc
index 86ce8eb..9850b12 100644
--- a/milena/tests/util/soft_heap.cc
+++ b/milena/tests/util/soft_heap.cc
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file mln/util/soft_heap.cc
+/// \file tests/util/soft_heap.cc
///
/// Test for the soft heap (approximate priority queue).
--
1.5.6.5