https://svn.lrde.epita.fr/svn/oln/trunk/olena
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Add some documentation to image abstractions.
* oln/core/abstract/image/hybrid/classical.hh: Add documentation.
* oln/core/abstract/image/dimension/hierarchy.hh,
* oln/core/abstract/image/type/hierarchy.hh: Update documentation.
* oln/core/abstract/image/neighborhood/hierarchy.hh: Remove dead
comments.
dimension/hierarchy.hh | 6 ----
hybrid/classical.hh | 56 ++++++++++++++++++++++++++++++++++++++++++++++
neighborhood/hierarchy.hh | 11 ---------
type/hierarchy.hh | 6 ----
4 files changed, 58 insertions(+), 21 deletions(-)
Index: oln/core/abstract/image/hybrid/classical.hh
--- oln/core/abstract/image/hybrid/classical.hh (revision 637)
+++ oln/core/abstract/image/hybrid/classical.hh (working copy)
@@ -38,12 +38,64 @@
# include <oln/core/abstract/image/accessibility/hierarchy.hh>
+/* Image dimension hierarchy (summary).
+
+
+ /image<I>/
+ ^
+ |
+ ,----------------+-------+--------+----------------.
+ | | | |
+ /classical_1d_image1d<I>/ | /classical_3d_image<I>/ |
+ ^ | ^ |
+ | /classical_2d_image1d<I>/ | /classical_image<I>/
+ | ^ | ^
+ | | | |
+ | | | |
+ ,---------------------. | ,---------------------. |
+ | if type_of(I, grid) | | | if type_of(I, grid) | |
+ | == grid1d | | | == grid3d | |
+ `---------------------' | `---------------------' |
+ | | | |
+ | ,---------------------. | |
+ | | if type_of(I, grid) | | |
+ | | == grid2d | | |
+ | `---------------------' | |
+ | | | |
+ | | | |
+ ,-------------------------------------------------------------.
+ | if (deduce_type_of(I, topo, is_random_accessible) == true) |
+ | and (deduce_type_of(I, topo, bbox) != not_found) |
+ `-------------------------------------------------------------'
+ | | | |
+ o o o o
+
+ o
+ |
+ (image `hybrid' selector)
+ ^
+ |
+ image_entry<I>
+ ^
+ |
+ I
+ (a concrete image)
+
+
+ Default case: If the image I does not meet any of these conditions, the
+ entry is directly plugged to abstract::image<I>. */
+
+
namespace oln
{
namespace abstract
{
+ /*----------------------.
+ | Hybrid abstractions. |
+ `----------------------*/
+
template <typename E>
struct classical_image
: public virtual abstract::image_having_bbox<E>,
@@ -108,6 +160,10 @@
} // end of namespace oln::abstract
+ /*----------------.
+ | Hybrid switch. |
+ `----------------*/
+
// Forward declarations.
template <unsigned D> struct grid_;
typedef grid_<1> grid1d;
Index: oln/core/abstract/image/type/hierarchy.hh
--- oln/core/abstract/image/type/hierarchy.hh (revision 637)
+++ oln/core/abstract/image/type/hierarchy.hh (working copy)
@@ -56,11 +56,7 @@
o
|
- /switch_<image_dimension_type, I>::ret/
- (image type selector)
- ^
- |
- /entry<abstract::image, I>/
+ (image `type' selector)
^
|
image_entry<I>
Index: oln/core/abstract/image/dimension/hierarchy.hh
--- oln/core/abstract/image/dimension/hierarchy.hh (revision 637)
+++ oln/core/abstract/image/dimension/hierarchy.hh (working copy)
@@ -52,11 +52,7 @@
o
|
- /switch_<image_hierarchy_wrt_dimension, I>::ret/
- (image dimension selector)
- ^
- |
- /entry<abstract::image, I>/
+ (image `dimension' selector)
^
|
image_entry<I>
Index: oln/core/abstract/image/neighborhood/hierarchy.hh
--- oln/core/abstract/image/neighborhood/hierarchy.hh (revision 637)
+++ oln/core/abstract/image/neighborhood/hierarchy.hh (working copy)
@@ -33,17 +33,6 @@
# include <oln/core/automatic/image/image_having_neighborhood.hh>
-/* Image having neighborhood hierarchy (summary).
-
-
- FIXME: TODO (diagram)!
-
-
- Default case: If the neighborhood type returned by
- `oln_type_of(I, neighborhood)', the entry is directly plugged to
- abstract::image<I>. */
-
-
namespace oln
{