1. 17 Oct, 2006 4 commits
    • Thierry Geraud's avatar
      2006-10-17 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 3dbfab9b
      Thierry Geraud authored
      	Add forward declaration files.
      	
      	* oln/core/aliases.hh: New.
      	* oln/core/fwd_decls.hh: New.
      	* oln/core/1d/fwd_decls.hh: New.
      	* oln/core/2d/fwd_decls.hh: New.
      	* oln/core/3d/fwd_decls.hh: New.
      	* oln/core/gen/fwd_decls.hh: New.
      	* oln/morpher/fwd_decls.hh: New.
      	* oln/debug/typename.hh: New.
      	* oln/Makefile.am: Update.
      	
      	Sketch the mechanism for 'plain' and 'ch_value'.
      
      	* oln/core/type_fun/plain.hh: New.
      	* oln/core/type_fun/ch_value.hh: New.
      	* oln/core/typedefs.hh (oln_plain, oln_plain_): New.
      	* oln/core/image_entry.hh (concrete_type): Remove; obsolete.
      	* oln/core/abstract/image.hh
      	(topo, operator): Change sigs.
      	(topo_t, psite_t, rvalue_t): Remove; now unused.
      	(decl): Uncomment static checks.
      	* oln/core/abstract/image/computability/hierarchy.hh
      	(plain): New.
      	* oln/core/1d/image1d.hh (real_type): Remove; obsolete.
      	* oln/core/2d/image2d.hh: Likewise.
      	* oln/core/3d/image3d.hh: Likewise.
      	* oln/morpher/value_cast.hh (class): Change into struct
      	for homogeneity for other morphers.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@656 4aad255d-cdde-0310-9447-f3009e2ae8c0
      3dbfab9b
    • Thierry Geraud's avatar
      2006-10-17 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 6317f522
      Thierry Geraud authored
      	Replace the 'is_mutable' property by checking the 'lvalue' type.
      	
      	* oln/core/automatic/image/image_being_mutable.hh: Rename as...
      	* oln/core/automatic/image/mutable_image.hh: ...this.
      	(image_being_mutable): Rename as...
      	(mutable_image): ...this.
      	* oln/level/fill.hh: Update.
      	* oln/core/typedefs.hh (is_mutable_type): Remove; obsolete.
      	* oln/core/abstract/image/mutability/hierarchy.hh
      	(include) : Update.
      	(image_being_mutable): Rename as...
      	(mutable_image): ...this.
      	(case_): Rely now on mlc_is_ok(oln_lvalue(E)).
      	* oln/core/1d/image1d.hh: Update.
      	* oln/core/2d/image2d.hh: Update.
      	* oln/core/3d/image3d.hh: Update.
      	* oln/core/gen/mapimage.hh: Update.
      	* oln/morpher/value_cast.hh: Update.
      	* oln/morpher/thru_fun.hh: Update.
      	* oln/morpher/internal/image_value_morpher.hh: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@652 4aad255d-cdde-0310-9447-f3009e2ae8c0
      6317f522
    • Thierry Geraud's avatar
      2006-10-17 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · a4fff6b3
      Thierry Geraud authored
      	Add computability image hierarchy.
      	
      	* oln/core/abstract/image/computability: New.
      	* oln/core/abstract/image/computability/hierarchy.hh: New.
      	* oln/core/typedefs.hh (is_computed_type): New.
      	* oln/core/image_entry.hh (is_computed_type): New in vtypes.
      	* oln/core/abstract/image.hh (decl): Update.
      	* oln/core/abstract/image/hierarchies.hh
      	(image_hierarchy_wrt_computability): New.
      	(hierarchy): Update ids.
      	* oln/core/abstract/image/all.hh
      	(include): Add computability/hierarchy.hh.
      	* oln/core/1d/image1d.hh: Update.
      	* oln/core/2d/image2d.hh: Likewise.
      	* oln/core/3d/image3d.hh: Likewise.
      	* oln/core/gen/mapimage.hh: Likewise.
      	* oln/morpher/value_cast.hh: Likewise.
      	* oln/morpher/thru_fun.hh: Likewise.
      	* oln/morpher/internal/image_value_morpher.hh: Likewise.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@651 4aad255d-cdde-0310-9447-f3009e2ae8c0
      a4fff6b3
    • Thierry Geraud's avatar
      2006-10-17 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 274aeb4b
      Thierry Geraud authored
      	Adjust lvalue so that it handles a '&' when needed.
      	
      	* oln/core/automatic/image/image1d.hh (impl_at): Adjust.
      	* oln/core/automatic/image/image2d.hh: Likewise.
      	* oln/core/automatic/image/image3d.hh: Likewise.
      	* oln/core/automatic/image/image_being_mutable.hh: Likewise.
      	* oln/core/abstract/image/mutability/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/dimension/1d.hh: Likewise.
      	* oln/core/abstract/image/dimension/2d.hh: Likewise.
      	* oln/core/abstract/image/dimension/3d.hh: Likewise.
      	* oln/core/1d/image1d.hh: Likewise.
      	* oln/core/2d/image2d.hh: Likewise.
      	* oln/core/3d/image3d.hh: Likewise.
      	* oln/core/gen/mapimage.hh: Likewise.
      	* oln/core/abstract/image/type/integre.hh: Fix case number wrt
      	those defined in hierarchy.hh.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@650 4aad255d-cdde-0310-9447-f3009e2ae8c0
      274aeb4b
  2. 16 Oct, 2006 2 commits
    • Thierry Geraud's avatar
      Index: ChangeLog · 13b28a69
      Thierry Geraud authored
      ===================================================================
      --- ChangeLog	(revision 644)
      +++ ChangeLog	(working copy)
      @@ -1,5 +1,20 @@
       2006-10-16  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>
       
      +	Add binary value type plus update image hierarchy plugs.
      +	
      +	* oln/value/tags.hh: New.
      +	* oln/value/bin.hh: New.
      +	* oln/value/all.hh: New.
      +	* oln/core/abstract/image/type/hierarchy.hh (case_): Rely on value
      +	tags.
      +	(case_): Overload to handle other value types.
      +	(include): Update.
      +	* oln/value/greylevel.hh (greylevel_): New conversion operator.
      +	(gl1): Remove; now replaced by value::bin.
      +	* oln/Makefile.am: Update.
      +	
      +2006-10-16  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>
      +
       	Add grey-level types.
       	
       	* tests/grey.cc: New.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@645 4aad255d-cdde-0310-9447-f3009e2ae8c0
      13b28a69
    • Thierry Geraud's avatar
      2006-10-16 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 929af889
      Thierry Geraud authored
      	Add grey-level types.
      	
      	* tests/grey.cc: New.
      	* tests/Makefile.am: Update.
      	* oln/value/default.hh: New.
      	* oln/value/greylevel.hh: New.
      	* oln/Makefile.am: Update.
      	* oln/core/abstract/value.hh (value): Remove inheritance
      	so that a value type is not a regular oln type.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@644 4aad255d-cdde-0310-9447-f3009e2ae8c0
      929af889
  3. 13 Oct, 2006 3 commits
    • Roland Levillain's avatar
      Add some documentation to image abstractions. · ba648903
      Roland Levillain authored
      	* 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.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@638 4aad255d-cdde-0310-9447-f3009e2ae8c0
      ba648903
    • Roland Levillain's avatar
      Factor oln::grid1d, oln::grid2d and oln::grid3d into oln::grid_<>. · 28bb75aa
      Roland Levillain authored
      	* oln/core/1d/grid1d.hh, oln/core/2d/grid2d.hh,
      	* oln/core/3d/grid3d.hh: Remove.
      	* oln/core/gen/grid.hh: New file.
      	* oln/core/1d/image1d.hh, oln/core/2d/image2d.hh,
      	* oln/core/3d/image3d.hh: Include it.
      	* oln/core/1d/aliases.hh (oln::grid_): Declare it.
      	(oln::grid1d): Adjust definition.
      	* oln/core/2d/aliases.hh (oln::grid_): Declare it.
      	(oln::grid2d): Adjust definition.
      	* oln/core/3d/aliases.hh (oln::grid_): Declare it.
      	(oln::grid3d): Adjust definition.
      	* oln/basics1d.hh, oln/basics2d.hh, oln/basics3d.hh,
      	* oln/core/abstract/image/dimension/hierarchy.hh,
      	* oln/core/abstract/image/hybrid/classical.hh,
      	* oln/core/abstract/point_set/point_set_being_connected.hh,
      	* oln/Makefile.am,
      	* tests/grid.cc: Adjust.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@637 4aad255d-cdde-0310-9447-f3009e2ae8c0
      28bb75aa
    • Roland Levillain's avatar
      Reorganize oln/core/automatic like oln/core/abstract. · 25fd314c
      Roland Levillain authored
      	* oln/core/automatic/image.hh,
      	* oln/core/automatic/image1d.hh,
      	* oln/core/automatic/image2d.hh,
      	* oln/core/automatic/image3d.hh,
      	* oln/core/automatic/image_being_mutable.hh,
      	* oln/core/automatic/image_being_random_accessible.hh,
      	* oln/core/automatic/image_having_neighborhood.hh,
      	* oln/core/automatic/topology_being_random_accessible.hh,
      	* oln/core/automatic/topology_having_bbox.hh,
      	* oln/core/automatic/topology_having_neighborhood.hh,
      	* oln/core/automatic/topology_having_subset.hh: Move...
      	* oln/core/automatic/image/image.hh,
      	* oln/core/automatic/image/image1d.hh,
      	* oln/core/automatic/image/image2d.hh,
      	* oln/core/automatic/image/image3d.hh,
      	* oln/core/automatic/image/image_being_mutable.hh,
      	* oln/core/automatic/image/image_being_random_accessible.hh,
      	* oln/core/automatic/image/image_having_neighborhood.hh,
      	* oln/core/automatic/topology/topology_being_random_accessible.hh,
      	* oln/core/automatic/topology/topology_having_bbox.hh,
      	* oln/core/automatic/topology/topology_having_neighborhood.hh
      	* oln/core/automatic/topology/topology_having_subset.hh: ...here.
      	* oln/core/abstract/image.hh,
      	* oln/core/abstract/image/accessibility/hierarchy.hh,
      	* oln/core/abstract/image/dimension/1d.hh,
      	* oln/core/abstract/image/dimension/2d.hh,
      	* oln/core/abstract/image/dimension/3d.hh,
      	* oln/core/abstract/image/mutability/hierarchy.hh,
      	* oln/core/abstract/image/neighborhood/hierarchy.hh,
      	* oln/core/abstract/topology/topology_being_random_accessible.hh,
      	* oln/core/abstract/topology/topology_having_bbox.hh,
      	* oln/core/abstract/topology/topology_having_neighborhood.hh,
      	* oln/core/abstract/topology/topology_having_subset.hh,
      	* oln/level/fill.hh, oln/Makefile.am: Adjust paths.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@634 4aad255d-cdde-0310-9447-f3009e2ae8c0
      25fd314c
  4. 12 Oct, 2006 4 commits
    • Thierry Geraud's avatar
      2006-10-12 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 63a3fc78
      Thierry Geraud authored
      	Add image accessors with indices.
      	
      	* tests/at.cc: New.
      	* oln/core/automatic/image1d.hh: New.
      	* oln/core/automatic/image2d.hh: New.
      	* oln/core/automatic/image3d.hh: New.
      	* tests/Makefile.am (check_PROGRAMS): Add 'at'.
      	Move io_pnm to get consistent with SOURCES list.
      	(at_SOURCES): New.
      	* oln/core/typedefs.hh (oln_psite, oln_psite_): New.	
      	* oln/core/automatic/image_being_mutable.hh
      	(lvalue_t, psite_t): Remove; use oln_lvalue and oln_psite instead.
      	(impl_op_readwrite): Update sig.
      	* oln/core/abstract/image/dimension/1d.hh (at): New const method.
      	(at, has_at): New methods that should be elsewhere; this is a hack.
      	(image1d): Move ctor impl inside guards.
      	* oln/core/abstract/image/dimension/2d.hh (at): New const method.
      	(at, has_at): New methods that should be elsewhere; this is a hack.
      	(image2d): Move ctor impl inside guards.
      	* oln/core/abstract/image/dimension/3d.hh (at): New const method.
      	(at, has_at): New methods that should be elsewhere; this is a hack.
      	(image3d): Move ctor impl inside guards.
      	* oln/core/abstract/point.hh (include): Add xtd/vec.hh.
      	* oln/core/1d/neighb1d.hh (mk_c2): Update to mimic neighb2d.
      	* oln/core/2d/image2d.hh (impl_at): New.
      	* oln/core/3d/image3d.hh (impl_at): New.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      	* oln/morpher/internal/image_extension.hh (delegate): New mutable
      	version.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@630 4aad255d-cdde-0310-9447-f3009e2ae8c0
      63a3fc78
    • Roland Levillain's avatar
      Reorganize and fix oln/core/3d/. · aabd0250
      Roland Levillain authored
      	* oln/core/3d/aliases.hh (oln::fwd_piter3d, oln::bkd_piter3d): Fix
      	their definitions.
      	* oln/core/3d/neighb3d.hh (c6, c18, c26)
      	(c4_slice, c8_slice, c4_row, c8_row, c4_col, c8_col): Rename as...
      	(mk_c6, mk_c18, mk_c26, mk_c4_slice, mk_c8_slice)
      	(mk_c4_row, mk_c8_row, mk_c4_col, mk_c8_col): ...these.
      	(c6, c18, c26, c4_slice, c8_slice, c4_row, c8_row)
      	(c4_col, c8_col): New objects.
      	* oln/core/3d/array3d.hh, oln/core/3d/dpoint3d.hh,
      	* oln/core/3d/image3d.hh, oln/core/3d/neighb3d.hh,
      	* oln/core/3d/point3d.hh: Separate the interface of the methods
      	and functions from their implementation.
      	* oln/core/3d/image3d.hh (oln::vtypes< image3d<T> >): Set
      	topo_type to topo3d.
      	(bbox_<point3d>): Move explicit	instantiation...
      	* oln/basics3d.hh: ...here
      	(oln/core/fwd_piter.hh): Include it.
      	* oln/core/3d/image3d.hh: Move the definition of the virtual types
      	fwd_piter and bkd_piter of oln::image3d...
      	* oln/core/fwd_piter.hh: ...here.
      	* oln/core/abstract/image/hybrid/classical.hh
      	(oln::abstract:classical_3d_image): New.
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 3>): Rename
      	as...
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 4>): ...this.
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 3>): New.
      	Handle 3D case.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@627 4aad255d-cdde-0310-9447-f3009e2ae8c0
      aabd0250
    • Roland Levillain's avatar
      Reorganize and fix oln/core/1d/. · 011728be
      Roland Levillain authored
      	* oln/core/1d/aliases.hh (oln::fwd_piter1d, oln::bkd_piter1d): Fix
      	their definitions.
      	* oln/core/1d/neighb1d.hh (oln::c2): Rename as...
      	(oln::mk_c2): ...this.
      	(c2): New object.
      	* oln/core/1d/array1d.hh, oln/core/1d/dpoint1d.hh,
      	* oln/core/1d/image1d.hh, oln/core/1d/neighb1d.hh,
      	* oln/core/1d/point1d.hh: Separate the interface of the methods
      	and functions from their implementation.
      	* oln/core/1d/image1d.hh (oln::vtypes< image1d<T> >): Set
      	topo_type to topo1d.
      	(bbox_<point1d>): Move explicit	instantiation...
      	* oln/basics1d.hh: ...here
      	(oln/core/fwd_piter.hh): Include it.
      	* oln/core/1d/image1d.hh:
      	Move the definition of the virtual types fwd_piter and bkd_piter
      	of oln::image1d...
      	* oln/core/fwd_piter.hh: ...here.
      	* oln/core/abstract/image/hybrid/classical.hh
      	(oln::abstract:classical_1d_image)
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 1>)
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 2>): Rename
      	as...
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 2>)
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 3>):
      	...these.
      	(oln::case_<image_hybrid_hierarchy_wrt_classical, E, 1>): New.
      	Handle 1D case.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@623 4aad255d-cdde-0310-9447-f3009e2ae8c0
      011728be
    • Roland Levillain's avatar
      * oln/core/abstract/image/dimension/1d.hh · f19b924a
      Roland Levillain authored
      	* oln/core/abstract/image/dimension/2d.hh
      	* oln/core/abstract/image/dimension/3d.hh
      	* oln/core/abstract/image/dimension/hierarchy.hh
      	* oln/core/1d/grid1d.hh, oln/core/2d/grid2d.hh,
      	* oln/core/3d/grid3d.hh, oln/core/2d/array2d.hh,
      	* oln/core/2d/dpoint2d.hh, oln/core/2d/point2d.hh,
      	* tests/image1d.cc, tests/image2d.cc, tests/image3d.cc,
      	* tests/image_entry.cc, tests/io_pnm.cc, tests/Makefile.am:
      	Aesthetic changes.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@622 4aad255d-cdde-0310-9447-f3009e2ae8c0
      f19b924a
  5. 11 Oct, 2006 3 commits
    • Thierry Geraud's avatar
      2006-10-11 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 9baaa495
      Thierry Geraud authored
      	Add new facilities to access to components such as row, col, etc.
      	
      	* oln/core/spe/row.hh: New.
      	* oln/core/spe/col.hh: New.
      	* oln/core/spe/slice.hh: New.
      	* oln/debug/print.hh (print): Use min_row, etc.
      	(include): Update.
      	* oln/core/typedefs.hh (index_comp_type): New.
      	(row_comp_type, col_comp_type, slice_comp_type): New.
      	(vec_type): New.
      	* oln/core/abstract/iterator_on_points.hh (coord_type): New.
      	* oln/core/abstract/point.hh (vec_type): New.
      	(vec): New.
      	* oln/core/1d/dpoint1d.hh (index_comp_type): New.
      	* oln/core/1d/point1d.hh (index_comp_type): New.
      	* oln/core/2d/dpoint2d.hh (row_comp_type, col_comp_type): New.
      	* oln/core/2d/point2d.hh (row_comp_type, col_comp_type): New.
      	* oln/core/3d/dpoint3d.hh
      	(slice_comp_type, row_comp_type, col_comp_type): New.
      	* oln/core/3d/point3d.hh
      	(slice_comp_type, row_comp_type, col_comp_type): New.
      	* oln/core/internal/point_nd.hh (vec_t): New.
      	(vec): Rename as...
      	(impl_vec): this.
      	* oln/basics2d.hh (include): Update.
      	* oln/basics3d.hh (include): Update.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@620 4aad255d-cdde-0310-9447-f3009e2ae8c0
      9baaa495
    • Thierry Geraud's avatar
      2006-10-11 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 6c471684
      Thierry Geraud authored
      	New facilities related to windows and q-iterators.
      	
      	* tests/window2d.cc: New.
      	* tests/Makefile.am (window2d_SOURCES): New.
      	* oln/debug/print.hh (format): New.
      	(print): Update; use format to correctly print 'unsigned char'.
      	* oln/level/fill.hh: Separate header and implementation.
      	(fill): Use shortcut.
      	* oln/core/typedefs.hh: New shortcuts oln_something(T) for
      	oln_type_of(T, something).
      	* oln/core/fwd_piter.hh (fwd_qiter_type): New.
      	* oln/core/abstract/window.hh: New.
      	* oln/core/2d/aliases.hh (window2d, fwd_qiter2d): New.
      	* oln/core/gen/fwd_qiter_win.hh (include): Add abstract::window.hh.
      	(fwd_qiter_win_): Update ctor signature.
      	* oln/core/gen/window.hh (grid_type): New.
      	(window_): Add inheritance from abstract::window.
      	(impl_is_valid): New.
      	(include): Update.
      	* oln/basics2d.hh (include): Add window.hh and fwd_qiter_win.hh.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@619 4aad255d-cdde-0310-9447-f3009e2ae8c0
      6c471684
    • Thierry Geraud's avatar
      2006-10-11 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 5a215e72
      Thierry Geraud authored
      	Add some tools related to morphers over image value.
      	
      	* oln/core/abstract/value.hh: New.
      	* oln/morpher/thru_fun.hh: New.
      	* oln/morpher/internal/image_value_morpher.hh: New.
      	* oln/color: New.
      	* oln/color/rgb.hh: New.
      	* tests/Makefile.am (check_PROGRAMS): Reorganize.
      	(io_pnm_SOURCES): New.
      	* oln/core/abstract/grid.hh (grid): Add inheritance from oln::type.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@618 4aad255d-cdde-0310-9447-f3009e2ae8c0
      5a215e72
  6. 10 Oct, 2006 2 commits
    • Roland Levillain's avatar
      Fix sanity checks. · 2ac3e55f
      Roland Levillain authored
      	* oln/core/abstract/image/hybrid/classical.hh,
      	* oln/core/gen/neighb.hh, oln/core/gen/window.hh,
      	* oln/core/gen/fwd_qiter_win.hh, oln/core/gen/piter_isubset.hh,
      	* oln/core/gen/mapimage.hh,
      	* oln/core/internal/bbox_fwd_piter.hh,
      	* oln/core/internal/bbox_bkd_piter.hh,
      	* oln/core/fwd_piter.hh, oln/core/1d/point1d.hh,
      	* oln/core/1d/dpoint1d.hh, oln/core/2d/point2d.hh,
      	* oln/core/2d/dpoint2d.hh, oln/core/2d/neighb2d.hh,
      	* oln/core/3d/point3d.hh, oln/core/3d/dpoint3d.hh,
      	* oln/core/3d/neighb3d.hh,
      	* oln/morpher/add_isubset.hh, oln/morpher/add_neighborhood.hh,
      	* oln/debug/print.hh, oln/io/pnm.hh, oln/level/fill.hh:
      	Include needed (missing) headers.
      	* oln/core/1d/image1d.hh, oln/core/2d/image2d.hh,
      	* oln/core/3d/image3d.hh: Likewise.
      	Instantiate oln::bbox_ explicitly.
      	* oln/core/gen/bbox.hh
      	(oln/core/gen/bbox_fwd_piter.hh, oln/core/gen/bbox_bkd_piter.hh):
      	Don't include them.
      	* oln/core/gen/topo_bbox.hh (impl_has_large): Typo.
      
      
      	Reorganize the abstract::image hierarchy.
      
      	* oln/core/abstract/image/hierarchies.hh: Move inclusions of point
      	set abstractions...
      	* oln/core/abstract/image/all.hh: ...here (new file).
      	* oln/core/image_entry.hh: Adjust.
      	* oln/Makefile.am (nobase_oln_HEADERS): Adjust.
      	* oln/basics1d.hh, oln/basics2d.hh, oln/basics3d.hh: Remove
      	explicit template instantiations.
      	* oln/core/abstract/image.hh
      	(oln/core/abstract/image/hierarchies.hh): Don't include it.
      	* oln/core/abstract/image/dimension/hierarchy.hh
      	* oln/core/abstract/image/type/hierarchy.hh,
      	* oln/core/abstract/image/neighborhood/hierarchy.hh
      	* oln/core/abstract/image/bbox/hierarchy.hh
      	* oln/core/abstract/image/accessibility/hierarchy.hh
      	* oln/core/abstract/image/mutability/hierarchy.hh
      	* oln/core/abstract/image/hybrid/classical.hh
      	(oln/core/abstract/image/hierarchies.hh): Include it.
      	* oln/core/abstract/image/type/integre.hh
      	(oln::abstract::case_<image_hierarchy_wrt_type, E, 4>)
      	(oln::abstract::case_<image_hierarchy_wrt_type, E, 5>)
      	(oln::abstract::case_<image_hierarchy_wrt_type, E, 6>): Catch up
      	with image type hierarchy.
      
      
      	Reorganize the abstract::point_set hierarchy.
      
      	* oln/core/abstract/point_set_hierarchies.hh: Rename as...
      	* oln/core/abstract/point_set/hierarchies.hh: ...this.
      	Move inclusions of point set abstractions...
      	* oln/core/abstract/point_set/all.hh: ...here (new file).
      	* oln/core/point_set_entry.hh: Adjust.
      	* oln/core/abstract/point_set_being_connected.hh,
      	* oln/core/abstract/point_set_being_random_accessible.hh,
      	* oln/core/abstract/point_set_having_bbox.hh,
      	* oln/core/abstract/point_set_having_known_size.hh: Rename as...
      	* oln/core/abstract/point_set/point_set_being_connected.hh,
      	* oln/core/abstract/point_set/point_set_being_random_accessible.hh,
      	* oln/core/abstract/point_set/point_set_having_bbox.hh,
      	* oln/core/abstract/point_set/point_set_having_known_size.hh:
      	...these.
      	Adjust header guards and inclusions.
      	* oln/Makefile.am (nobase_oln_HEADERS): Adjust.
      	* oln/core/abstract/bbox.hh
      	(oln::case_<point_set_hierarchy_wrt_bbox, E, 1>)
      	(oln::case_<point_set_hierarchy_wrt_bbox, E, 2>): Move...
      	* oln/core/abstract/point_set/point_set_having_bbox.hh: ...here.
      	(oln::abstract::point_set_having_bbox):
      	s/oln_type_of/oln_check_type_of/g.
      
      
      	Reorganize the abstract::topology hierarchy.
      
      	* oln/core/abstract/topology_hierarchies.hh: Rename as...
      	* oln/core/abstract/topology/hierarchies.hh: ...this.
      	Move inclusions of topology abstractions...
      	* oln/core/abstract/topology/all.hh: ...here (new file).
      	* oln/core/topology_entry.hh: Adjust
      	* oln/core/abstract/topology_being_random_accessible.hh,
      	* oln/core/abstract/topology_having_bbox.hh,
      	* oln/core/abstract/topology_having_neighborhood.hh,
      	* oln/core/abstract/topology_having_subset.hh: Rename as...
      	* oln/core/abstract/topology/topology_being_random_accessible.hh,
      	* oln/core/abstract/topology/topology_having_bbox.hh,
      	* oln/core/abstract/topology/topology_having_neighborhood.hh,
      	* oln/core/abstract/topology/topology_having_subset.hh: ...these.
      	Adjust header guards and inclusions.
      	* oln/Makefile.am (nobase_oln_HEADERS): Adjust.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@617 4aad255d-cdde-0310-9447-f3009e2ae8c0
      2ac3e55f
    • Thierry Geraud's avatar
      2006-10-10 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 5c195b4c
      Thierry Geraud authored
      	Add i/o read for pbm and pgm formats.
      	
      	* tests/io_pnm.cc: New.
      	* tests/Makefile.am (check_PROGRAMS): Update.
      	* oln/io: New directory.
      	* oln/io/pnm.hh: New.
      	* oln/core/image_entry.hh (coord_type): New single_vtype.
      	* oln/core/abstract/image.hh (decl): New comment.
      	* oln/core/2d/image2d.hh (adr_at): New.
      	* oln/basics2d.hh (include): Add fwd_piter.hh.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      	* img: New directory.
      	* img/chien.pbm: New.
      	* img/lena32.pgm: New.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@615 4aad255d-cdde-0310-9447-f3009e2ae8c0
      5c195b4c
  7. 09 Oct, 2006 2 commits
    • Thierry Geraud's avatar
      2006-10-09 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · c0379564
      Thierry Geraud authored
      	Change stc_virtual_typedef into oln_virtual_typedef.
      	
      	* oln/core/macros.hh (oln_virtual_typedef): New macro.
      	It replaces stc_virtual_typedef.
      	* oln/core/abstract/image.hh: Update.
      	* oln/core/abstract/image/mutability/hierarchy.hh: Update.
      	* oln/core/abstract/image/neighborhood/hierarchy.hh: Update.
      	* oln/core/abstract/image/bbox/hierarchy.hh: Update.
      	* oln/core/abstract/point_set.hh: Update.
      	* oln/core/abstract/neighborhood.hh: Update.
      	* oln/core/abstract/topology.hh: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@611 4aad255d-cdde-0310-9447-f3009e2ae8c0
      c0379564
    • Thierry Geraud's avatar
      2006-10-09 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · f5c31fa0
      Thierry Geraud authored
      	Separate definition code from declaration code in olena.
      
      	* oln/core/type.hh: Split code.
      	* oln/core/point_set_entry.hh: Likewise.
      	* oln/core/automatic/image.hh: Likewise.
      	* oln/core/automatic/topology_having_bbox.hh: Likewise.
      	* oln/core/automatic/image_being_random_accessible.hh: Likewise.
      	* oln/core/automatic/image_having_neighborhood.hh: Likewise.
      	* oln/core/automatic/topology_being_random_accessible.hh: Likewise.
      	* oln/core/automatic/topology_having_subset.hh: Likewise.
      	* oln/core/automatic/image_being_mutable.hh: Likewise.
      	* oln/core/automatic/topology_having_neighborhood.hh: Likewise.
      	* oln/core/neighborhood_entry.hh: Likewise.
      	* oln/core/topology_entry.hh: Likewise.
      	* oln/core/image_entry.hh: Likewise.
      	* oln/core/abstract/iterator_on_points.hh: Likewise.
      	* oln/core/abstract/topology_having_bbox.hh: Likewise.
      	* oln/core/abstract/image.hh: Likewise.
      	* oln/core/abstract/image/type/binary.hh: Likewise.
      	* oln/core/abstract/image/type/data.hh: Likewise.
      	* oln/core/abstract/image/type/grey_level.hh: Likewise.
      	* oln/core/abstract/image/type/color.hh: Likewise.
      	* oln/core/abstract/image/type/label.hh: Likewise.
      	* oln/core/abstract/image/hybrid/classical.hh: Likewise.
      	* oln/core/abstract/image/mutability/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/dimension/2d.hh: Likewise.
      	* oln/core/abstract/image/neighborhood/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/accessibility/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/bbox/hierarchy.hh: Likewise.
      	* oln/core/abstract/point_set_being_random_accessible.hh: Likewise.
      	* oln/core/abstract/grid.hh: Likewise.
      	* oln/core/abstract/iterator.hh: Likewise.
      	* oln/core/abstract/point.hh: Likewise.
      	* oln/core/abstract/bbox.hh: Likewise.
      	* oln/core/abstract/point_set_being_connected.hh: Likewise.
      	* oln/core/abstract/dpoint.hh: Likewise.
      	* oln/core/abstract/topology_being_random_accessible.hh: Likewise.
      	* oln/core/abstract/topology_having_subset.hh: Likewise.
      	* oln/core/abstract/topology_having_neighborhood.hh: Likewise.
      	* oln/core/abstract/entry.hh: Likewise.
      	* oln/core/abstract/point_set.hh: Likewise.
      	* oln/core/abstract/point_set_having_known_size.hh: Likewise.
      	* oln/core/abstract/neighborhood.hh: Likewise.
      	* oln/core/abstract/point_set_having_bbox.hh: Likewise.
      	* oln/core/abstract/topology.hh: Likewise.
      	* oln/core/2d/neighb2d.hh: Likewise.
      	* oln/core/2d/dpoint2d.hh: Likewise.
      	* oln/core/2d/array2d.hh: Likewise.
      	* oln/core/2d/image2d.hh: Likewise.
      	* oln/core/2d/point2d.hh: Likewise.
      	* oln/core/gen/piter_isubset.hh: Likewise.
      	* oln/core/gen/topo_add_isubset.hh: Likewise.
      	* oln/core/gen/bbox.hh: Likewise.
      	* oln/core/gen/topo_bbox.hh: Likewise.
      	* oln/core/gen/neighb.hh: Likewise.
      	* oln/core/gen/fwd_piter_bbox.hh: Likewise.
      	* oln/core/gen/bbox_fwd_piter.hh: Likewise.
      	* oln/core/gen/fwd_niter_neighb.hh: Likewise.
      	* oln/core/gen/fwd_qiter_win.hh: Likewise.
      	* oln/core/gen/topo_lbbox.hh: Likewise.
      	* oln/core/gen/window.hh: Likewise.
      	* oln/core/gen/bbox_bkd_piter.hh: Likewise.
      	* oln/core/gen/bkd_piter_bbox.hh: Likewise.
      	* oln/core/gen/topo_add_nbh.hh: Likewise.
      	* oln/core/gen/mapimage.hh: Likewise.
      	* oln/core/internal/tracked_ptr.hh: Likewise.
      	* oln/core/internal/topology_morpher.hh: Likewise.
      	* oln/core/internal/point_nd.hh: Likewise.
      	* oln/core/internal/bbox_bkd_piter.hh: Likewise.
      	* oln/core/internal/bbox_fwd_piter.hh: Likewise.
      	* oln/core/internal/dpoint_nd.hh: Likewise.
      	* oln/basics2d.hh: Likewise.
      	* oln/morpher/add_isubset.hh: Likewise.
      	* oln/morpher/identity.hh: Likewise.
      	* oln/morpher/internal/image_extension.hh: Likewise.
      	* oln/morpher/add_neighborhood.hh: Likewise.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@608 4aad255d-cdde-0310-9447-f3009e2ae8c0
      f5c31fa0
  8. 05 Oct, 2006 1 commit
    • Thierry Geraud's avatar
      2006-10-05 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 1f303fb1
      Thierry Geraud authored
      	Decouple iterators from image topology; update neighborhood tools
      	and start to add window tools.
      	
      	* oln/core/automatic/topology_having_subset.hh: New.
      	* oln/core/abstract/topology_having_subset.hh: New.
      	* oln/core/gen/fwd_niter_neighb.hh: New.
      	* oln/core/gen/fwd_qiter_win.hh: New.
      	* oln/core/gen/window.hh: New.
      	* oln/core/typedefs.hh
      	(qiter_type, fwd_qiter_type, bkd_qiter_type): Uncomment.
      	(niter_type, fwd_niter_type, bkd_niter_type): Uncomment.
      	(isubset): Rename into...
      	(subset_type): ...this.
      	* oln/core/macros.hh
      	(oln_type_of, oln_deduce_type_of, oln_type_of_): Rely on direct access.
      	(oln_check_type_of, oln_check_type_of_): Rely on direct access.
      	(oln_deduce_direct_type_of): New.
      	* oln/core/topology_entry.hh (subset_type): New.
      	* oln/core/image_entry.hh (fwd_piter_type, bkd_piter_type): Move
      	from vtypes to single_vtype.
      	(fwd_qiter_type): New.
      	* oln/core/abstract/topology_hierarchies.hh
      	(topology_hierarchy_wrt_subset): New.
      	(include): Add topology_having_subset.hh.
      	* oln/core/abstract/image/neighborhood/hierarchy.hh
      	(niter, fwd_niter, bkd_niter): New in decl.
      	* oln/core/2d/aliases.hh
      	(fwd_piter_bbox_, bkd_piter_bbox_): Change param letter.
      	(fwd_piter2d, bkd_piter2d): Update.
      	* oln/core/2d/neighb2d.hh (c4, c8, c2_row, c2_col): Rename into...
      	(mk_c4, mk_c8, mk_c2_row, mk_c2_col): ...these in namespace internal.
      	(c4, c8, c2r, c2c): New objects.
      	* oln/core/gen/piter_isubset.hh (piter_isubset_): New ctor for
      	iterators around a point.
      	(topo): Return a copy.
      	(change_topology_): Remove; obsolete.
      	* oln/core/gen/topo_add_isubset.hh (isubset_type): Rename into...
      	(subset_type): ...this.
      	(isubset): Rename into...
      	(impl_subset): ...this.
      	* oln/core/gen/topo_bbox.hh (impl_lbbox): New; experimental!
      	* oln/core/gen/fwd_piter_bbox.hh (fwd_piter_bbox_): Change parameter
      	from topo to point; update.
      	(topo): Remove this method; obsolete.
      	(change_topology_): Remove; obsolete.
      	(topo_): Remove this attribute; obsolete.
      	* oln/core/gen/bkd_piter_bbox.hh: Likewise.
      	* oln/basics2d.hh: Update.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      	* oln/core/2d/image2d.hh
      	(fwd_piter_type, bkd_piter_type): Move these definitions into...
      	* oln/core/fwd_piter.hh: ... this new file.
      	* oln/morpher/add_isubset.hh: Likewise.
      	* oln/morpher/add_neighborhood.hh: Likewise.
      	* oln/morpher/internal/image_extension.hh (image_): Change from
      	const& to plain type.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@607 4aad255d-cdde-0310-9447-f3009e2ae8c0
      1f303fb1
  9. 03 Oct, 2006 2 commits
    • Roland Levillain's avatar
      Add oln::image3d and associated types. · 57b5b067
      Roland Levillain authored
      	* oln/core/3d/image3d.hh, oln/core/3d/array3d.hh,
      	* oln/core/3d/point3d.hh, oln/core/3d/dpoint3d.hh,
      	* oln/core/3d/neighb3d.hh, oln/core/3d/aliases.hh,
      	* oln/basics3d.hh: New.
      	* oln/core/abstract/point_set_being_connected.hh
      	(oln::abstract::point_set_being_3d_connected): New class.
      	(oln::case_<point_set_hierarchy_wrt_connectivity, E, 3>): New
      	case.
      	* tests/image3d.cc: New test.
      	* tests/Makefile.am (check_PROGRAMS): Add image3d.
      	(image3d_SOURCES): New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@605 4aad255d-cdde-0310-9447-f3009e2ae8c0
      57b5b067
    • Roland Levillain's avatar
      Add oln::image1d and associated types. · e9b02fbc
      Roland Levillain authored
      	* oln/core/1d/image1d.hh, oln/core/1d/array1d.hh,
      	* oln/core/1d/point1d.hh, oln/core/1d/dpoint1d.hh,
      	* oln/core/1d/neighb1d.hh, oln/core/1d/aliases.hh,
      	* oln/basics1d.hh: New.
      	* oln/core/abstract/point_set_being_connected.hh
      	(oln::abstract::point_set_being_1d_connected): New class.
      	(oln::case_<point_set_hierarchy_wrt_connectivity, E, 1>): Handle
      	the 1-dimension case, and move the 2-dimension case...
      	(oln::case_<point_set_hierarchy_wrt_connectivity, E, 2>): ...here
      	(new).
      	* tests/image1d.cc: New test.
      	* tests/Makefile.am (check_PROGRAMS): Add image1d.
      	(image1d_SOURCES): New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@604 4aad255d-cdde-0310-9447-f3009e2ae8c0
      e9b02fbc
  10. 02 Oct, 2006 1 commit
    • Thierry Geraud's avatar
      2006-10-02 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · e8e89197
      Thierry Geraud authored
      	Add isubset image morpher and subsequent tools.
      	
      	* oln/core/gen/piter_isubset.hh: New.
      	* oln/core/gen/topo_add_isubset.hh: New.
      	* oln/morpher/add_isubset.hh: New.
      	* oln/debug/print.hh (println): New.
      	* oln/core/typedefs.hh (isubset): New.
      	* oln/core/automatic/image_being_random_accessible.hh
      	(set_impl): Remove; cause error-prone.
      	* oln/core/abstract/image/type/hierarchy.hh
      	(where_): Rely on xtd_is_binary instead of an hard-coded test. 
      	(include): Update.
      	* oln/core/gen/fwd_piter_bbox.hh (topo_type): new.
      	(topo_): Change ref into plain type so it is more secure.
      	* oln/core/gen/bkd_piter_bbox.hh (topo_type): new.
      	(topo_): Change ref into plain type so it is more secure.
      	* oln/core/gen/topo_add_nbh.hh (operator topo_t): New.
      	* oln/core/internal/topology_morpher.hh
      	(delegated_type): New.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@597 4aad255d-cdde-0310-9447-f3009e2ae8c0
      e8e89197
  11. 28 Sep, 2006 1 commit
    • Roland Levillain's avatar
      Catch up with Static's changes on automatically retrieved · 79c7b4b8
      Roland Levillain authored
      	implementations.
      
      	* oln/core/automatic/impl.hh: New.
      	* oln/automatic/image.hh: Move...
      	* oln/core/automatic/image.hh: ...here.
      	(impl): Rename as...
      	(set_impl): ...this.
      	* oln/automatic/image_being_mutable.hh: Move...
      	* oln/core/automatic/image_being_mutable.hh: ...here.
      	(impl): Rename as...
      	(set_impl): ...this.
      	* oln/automatic/image_being_random_accessible.hh: Move...
      	* oln/core/automatic/image_being_random_accessible.hh: ...here.
      	(impl): Rename as...
      	(set_impl): ...this.
      	* oln/automatic/image_having_neighborhood.hh: Move...
      	* oln/core/automatic/image_having_neighborhood.hh: ...here.
      	(impl): Rename as...
      	(set_impl): ...this.
      	* oln/automatic/topology_being_random_accessible.hh: Move...
      	* oln/core/automatic/topology_being_random_accessible.hh: ...here.
      	(impl): Rename as...
      	(set_impl): ...this.
      	* oln/automatic/topology_having_bbox.hh: Move...
      	* oln/core/automatic/topology_having_bbox.hh: ...here.
      	(impl): Rename as...
      	(set_impl): ...this.
      	* oln/automatic/topology_having_neighborhood.hh: Move...
      	* oln/core/automatic/topology_having_neighborhood.hh: ...here.
      	(impl): Rename as...
      	(set_impl): ...this.
      	Adjust.
      	* oln/core/abstract/image.hh (oln::abstract::image)
      	* oln/core/abstract/image/accessibility/hierarchy.hh
      	(oln::abstract::image_being_random_accessible)
      	* oln/core/abstract/image/bbox/hierarchy.hh
      	(oln::abstract::image_having_bbox)
      	* oln/core/abstract/image/dimension/1d.hh
      	(oln::abstract::image1d)
      	* oln/core/abstract/image/dimension/2d.hh
      	(oln::abstract::image2d)
      	* oln/core/abstract/image/dimension/3d.hh
      	(oln::abstract::image3d)
      	* oln/core/abstract/image/mutability/hierarchy.hh
      	(oln::abstract::image_being_mutable)
      	* oln/core/abstract/image/neighborhood/hierarchy.hh
      	(oln::abstract::image_having_neighborhood)
      	* oln/core/abstract/topology_being_random_accessible.hh
      	(oln::abstract::topology_being_random_accessible)
      	* oln/core/abstract/topology_having_bbox.hh
      	(oln::abstract::topology_having_bbox)
      	* oln/core/abstract/topology_having_neighborhood.hh
      	(oln::abstract::topology_having_neighborhood): Adjust.
      	* oln/Makefile.am (nobase_oln_HEADERS): Adjust.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@584 4aad255d-cdde-0310-9447-f3009e2ae8c0
      79c7b4b8
  12. 27 Sep, 2006 3 commits
    • Thierry Geraud's avatar
      2006-09-27 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 73abf4a2
      Thierry Geraud authored
      	Add oln debug print and a "classical" image abstraction.
      	
      	* oln/debug/print.hh: New.
      	* oln/core/abstract/image/hybrid/classical.hh: New.
      	* oln/core/abstract/image/hierarchies.hh
      	(image_hybrid_hierarchy_wrt_classical): New.
      	(include): Update.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@582 4aad255d-cdde-0310-9447-f3009e2ae8c0
      73abf4a2
    • Thierry Geraud's avatar
      2006-09-27 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 5e7e523d
      Thierry Geraud authored
      	Update grid classes and add static checks for image vtypes.
      	
      	* oln/core/abstract/fwd_decls.hh: New.
      	* tests/image_entry.cc: Update.
      	* oln/core/abstract/image.hh (include): Add fwd_decls.
      	(decl): Add static checks.
      	* oln/core/abstract/image/mutability/hierarchy.hh
      	(lvalue_t, psite_t): Update.  oln_check_type_of is now useless
      	cause vtypes are now automatically checked in the decl structure.
      	* oln/core/abstract/image/bbox/hierarchy.hh
      	(bbox_t, point_t): Likewise.
      	(decl): Add static checks.
      	* oln/core/abstract/grid.hh (include): Update.
      	(point_type, dpoint_type, size_type, coord_type): Remove.
      	We have point->grid, not the contrary.
      	(grid): Change inheritance to stc::any__simple.
      	* oln/core/1d/grid1d.hh: Update.
      	* oln/core/2d/grid2d.hh: Update.
      	* oln/core/3d/grid3d.hh: Update.
      	* oln/basics2d.hh (include): Add grid2d.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@581 4aad255d-cdde-0310-9447-f3009e2ae8c0
      5e7e523d
    • Thierry Geraud's avatar
      2006-09-27 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 09b42296
      Thierry Geraud authored
      	Adjust guards to directory names.
      	
      	* oln/automatic/topology_having_bbox.hh: Adjust guard to directory name.
      	* oln/automatic/image.hh: Likewise.
      	* oln/automatic/image_being_random_accessible.hh: Likewise.
      	* oln/automatic/image_having_neighborhood.hh: Likewise.
      	* oln/automatic/topology_being_random_accessible.hh: Likewise.
      	* oln/automatic/topology_having_neighborhood.hh: Likewise.
      	* oln/automatic/image_being_mutable.hh: Likewise.
      	* oln/core/type.hh: Likewise.
      	* oln/core/traits_id.hh: Likewise.
      	* oln/core/typedefs.hh: Likewise.
      	* oln/core/macros.hh: Likewise.
      	* oln/core/point_set_entry.hh: Likewise.
      	* oln/core/neighborhood_entry.hh: Likewise.
      	* oln/core/topology_entry.hh: Likewise.
      	* oln/core/image_entry.hh: Likewise.
      	* oln/core/abstract/iterator_on_points.hh: Likewise.
      	* oln/core/abstract/image.hh: Likewise.
      	* oln/core/abstract/topology_hierarchies.hh: Likewise.
      	* oln/core/abstract/topology_having_bbox.hh: Likewise.
      	* oln/core/abstract/image/type/binary.hh: Likewise.
      	* oln/core/abstract/image/type/data.hh: Likewise.
      	* oln/core/abstract/image/type/integre.hh: Likewise.
      	* oln/core/abstract/image/type/grey_level.hh: Likewise.
      	* oln/core/abstract/image/type/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/type/color.hh: Likewise.
      	* oln/core/abstract/image/type/label.hh: Likewise.
      	* oln/core/abstract/image/mutability/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/hierarchies.hh: Likewise.
      	* oln/core/abstract/image/dimension/1d.hh: Likewise.
      	* oln/core/abstract/image/dimension/2d.hh: Likewise.
      	* oln/core/abstract/image/dimension/3d.hh: Likewise.
      	* oln/core/abstract/image/dimension/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/neighborhood/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/accessibility/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/bbox/hierarchy.hh: Likewise.
      	* oln/core/abstract/grid.hh: Likewise.
      	* oln/core/abstract/point_set_being_random_accessible.hh: Likewise.
      	* oln/core/abstract/any.hh: Likewise.
      	* oln/core/abstract/point.hh: Likewise.
      	* oln/core/abstract/iterator.hh: Likewise.
      	* oln/core/abstract/point_set_being_connected.hh: Likewise.
      	* oln/core/abstract/bbox.hh: Likewise.
      	* oln/core/abstract/topology_being_random_accessible.hh: Likewise.
      	* oln/core/abstract/dpoint.hh: Likewise.
      	* oln/core/abstract/topology_having_neighborhood.hh: Likewise.
      	* oln/core/abstract/entry.hh: Likewise.
      	* oln/core/abstract/point_set.hh: Likewise.
      	* oln/core/abstract/point_set_having_known_size.hh: Likewise.
      	* oln/core/abstract/neighborhood.hh: Likewise.
      	* oln/core/abstract/point_set_having_bbox.hh: Likewise.
      	* oln/core/abstract/point_set_hierarchies.hh: Likewise.
      	* oln/core/abstract/topology.hh: Likewise.
      	* oln/core/abstract/internal/image_impl.hh: Likewise.
      	* oln/core/1d/grid1d.hh: Likewise.
      	* oln/core/traits.hh: Likewise.
      	* oln/core/2d/aliases.hh: Likewise.
      	* oln/core/2d/neighb2d.hh: Likewise.
      	* oln/core/2d/dpoint2d.hh: Likewise.
      	* oln/core/2d/array2d.hh: Likewise.
      	* oln/core/2d/image2d.hh: Likewise.
      	* oln/core/2d/grid2d.hh: Likewise.
      	* oln/core/2d/point2d.hh: Likewise.
      	* oln/core/3d/grid3d.hh: Likewise.
      	* oln/core/case.hh: Likewise.
      	* oln/core/gen/topo_lbbox.hh: Likewise.
      	* oln/core/gen/bbox.hh: Likewise.
      	* oln/core/gen/topo_bbox.hh: Likewise.
      	* oln/core/gen/neighb.hh: Likewise.
      	* oln/core/gen/fwd_piter_bbox.hh: Likewise.
      	* oln/core/gen/bbox_fwd_piter.hh: Likewise.
      	* oln/core/gen/bbox_bkd_piter.hh: Likewise.
      	* oln/core/gen/bkd_piter_bbox.hh: Likewise.
      	* oln/core/gen/topo_add_nbh.hh: Likewise.
      	* oln/core/gen/mapimage.hh: Likewise.
      	* oln/core/internal/topology_morpher.hh: Likewise.
      	* oln/core/internal/point_nd.hh: Likewise.
      	* oln/core/internal/bbox_bkd_piter.hh: Likewise.
      	* oln/core/internal/bbox_fwd_piter.hh: Likewise.
      	* oln/core/internal/dpoint_nd.hh: Likewise.
      	* oln/basics2d.hh: Likewise.
      	* oln/morpher/identity.hh: Likewise.
      	* oln/morpher/internal/image_extension.hh: Likewise.
      	* oln/morpher/tags.hh: Likewise.
      	* oln/morpher/add_neighborhood.hh: Likewise.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@579 4aad255d-cdde-0310-9447-f3009e2ae8c0
      09b42296
  13. 26 Sep, 2006 4 commits
    • Roland Levillain's avatar
      Let neighborhood() return a const reference instead of a copy. · 8e818e3c
      Roland Levillain authored
      	* oln/automatic/image_having_neighborhood.hh (impl_neighborhood)
      	* oln/core/abstract/image/neighborhood/hierarchy.hh
      	(image_having_neighborhood::neighborhood): Return a const
      	reference instead of a copy.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@576 4aad255d-cdde-0310-9447-f3009e2ae8c0
      8e818e3c
    • Thierry Geraud's avatar
      2006-09-26 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 3814dc0f
      Thierry Geraud authored
      	Add mapimage type and update.
      	
      	* oln/core/gen/mapimage.hh: New.
      	* oln/automatic/image_being_random_accessible.hh: New.
      	* oln/core/abstract/topology_having_bbox.hh
      	(bbox): New; mutable version.
      	* oln/core/abstract/image.hh (has): Remove; this method
      	is now specific to a sub-abstraction.
      	* oln/core/abstract/image/mutability/hierarchy.hh
      	(lvalue_t, psite_t): Update.
      	(~image_being_mutable): Fix typo.
      	(using): New; it allows disambiguation of overloading
      	thru inheritance.
      	* oln/core/abstract/image/accessibility/hierarchy.hh
      	(has, has_large): Update.
      	(include): Update.
      	* oln/core/abstract/image/bbox/hierarchy.hh
      	(bbox_t, point_t): Update.
      	(bbox): Change return signature.
      	(pmin, pmax): New.
      	* oln/core/gen/topo_bbox.hh (impl_bbox): New.
      	* oln/Makefile.am (nobase_oln_HEADERS): Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@575 4aad255d-cdde-0310-9447-f3009e2ae8c0
      3814dc0f
    • Thierry Geraud's avatar
      2006-09-26 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · e6708a33
      Thierry Geraud authored
      	Add some abstract image sub-hierarchies.
      	
      	* oln/automatic/image_being_mutable.hh: New.
      	* oln/core/abstract/image/mutability/hierarchy.hh: New.
      	* oln/core/abstract/image/accessibility/hierarchy.hh: New.
      	* oln/core/abstract/image/bbox/hierarchy.hh: New.
      	* oln/core/typedefs.hh (lvalue_type, is_mutable_type): New.
      	* oln/core/macros.hh (oln_deduce_type_of): New.
      	* oln/core/abstract/image.hh: Cosmetics.
      	* oln/core/abstract/image/hierarchies.hh
      	(image_hierarchy_wrt_bbox): New.
      	(image_hierarchy_wrt_accessibility): New.
      	(image_hierarchy_wrt_mutability): New.
      	(include): Update.	
      	* oln/core/abstract/image/neighborhood/hierarchy.hh (decl): New.
      	(~image_having_neighborhood): New.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@574 4aad255d-cdde-0310-9447-f3009e2ae8c0
      e6708a33
    • Thierry Geraud's avatar
      2006-09-26 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 754f9cde
      Thierry Geraud authored
      	Dispatch image abstract classes into subdirs and files.
      	
      	* oln/core/abstract/image/type: New directory.
      	* oln/core/abstract/image/dimension: New directory.
      	* oln/core/abstract/image/neighborhood: New directory.
      	* oln/core/abstract/image_type.hh (internal): Remove.
      	Rename into...
      	* oln/core/abstract/image/type/hierarchy.hh: ...this file.
      	* oln/core/abstract/image_dimension.hh: Rename into...
      	* oln/core/abstract/image/dimension/hierarchy.hh: ...this file.
      	* oln/core/abstract/image_hierarchies.hh: Rename into...
      	* oln/core/abstract/image/hierarchies.hh: ...this file.
      	* oln/core/abstract/image_type_integre.hh: Rename into...
      	* oln/core/abstract/image/type/integre.hh: ...this file.
      	* oln/core/abstract/image_having_neighborhood.hh: Rename into...
      	* oln/core/abstract/image/neighborhood/hierarchy.hh: ...this file.
      	* oln/core/abstract/image.hh (include): Update.
      	* Makefile.am: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@570 4aad255d-cdde-0310-9447-f3009e2ae8c0
      754f9cde
  14. 25 Sep, 2006 3 commits
    • Thierry Geraud's avatar
      2006-09-25 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · b605d237
      Thierry Geraud authored
      	Properly define fwd_piter_type and bkd_piter_type for the
      	add_neighborhood image morpher.
      	
      	* oln/core/abstract/image_hierarchies.hh: Remove end blank line.
      	* oln/core/gen/fwd_piter_bbox.hh (change_topology_): New.
      	* oln/core/gen/bkd_piter_bbox.hh (change_topology_): New.
      	* oln/morpher/add_neighborhood.hh (morpher_type): Remove; obsolete
      	cause defined in super class.
      	(fwd_piter_type, bkd_piter_type): New definitions.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@566 4aad255d-cdde-0310-9447-f3009e2ae8c0
      b605d237
    • Thierry Geraud's avatar
      2006-09-25 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · a5e25b0e
      Thierry Geraud authored
      	Update image_extension, add_neighborhood, and some related
      	classes.
      	
      	* oln/automatic/image.hh: New.
      	* oln/core/abstract/image.hh: Include oln/automatic/image.hh.
      	Inherit from automatic::impl.
      	(has): Add FIXME.
      	* oln/core/abstract/image_having_neighborhood.hh (neighborhood):
      	Change so that it relies on topo().  impl_neighborhood() is now
      	obsolete in image classes.
      	* oln/core/2d/aliases.hh (topo2d, fwd_piter2d, bkd_piter2d):
      	Update aliases.
      	* oln/basics2d.hh: Update.
      	* oln/core/2d/image2d.hh (topo2d, fwd_piter2d, bkd_piter2d):
      	Update and make them explicit.
      	(ctor): Add border argument with default.
      	(impl_op_read): Change fake code.
      	* oln/core/2d/neighb2d.hh: Cosmetics.
      	* oln/core/gen/bbox.hh: Include files for piter types.
      	* oln/morpher/internal/image_extension.hh (morpher_type): New.
      	This class thus factors this definition.
      	(impl_topo, impl_op_read, impl_has): Remove.  These methods
      	are expected to be automatically fetch from top implementation
      	classes.
      	(self_t, image_t, topo_t, value_t, point_t): Remove cause obsolete.
      	* oln/morpher/add_neighborhood.hh (add_neighborhood): Add second
      	parameter Neighb.
      	(include, set_super_type): Update.
      	(neighborhood_type): Change.
      	(ctor): Update.
      	(impl_neighborhood): Remove.
      	(impl_topo): New.
      	(nbh_): Remove.
      	(topo_): New.
      	* tests/add_neighborhood_morpher.cc: Update.
      	* tests/morphers.cc: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@565 4aad255d-cdde-0310-9447-f3009e2ae8c0
      a5e25b0e
    • Thierry Geraud's avatar
      2006-09-25 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 3a586d8a
      Thierry Geraud authored
      	Add morpher capabilities to topology classes.
      	
      	* oln/automatic/topology_having_bbox.hh: New.
      	* oln/automatic/topology_being_random_accessible.hh: New.
      	* oln/automatic/topology_having_neighborhood.hh: New.
      	* oln/core/abstract/topology_having_neighborhood.hh: New.
      	* oln/core/gen/topo_add_nbh.hh: New.
      	* oln/core/internal/topology_morpher.hh: New.
      	* oln/automatic/image_having_neighborhood.hh: Fix typo in guards.
      	Fix comment.
      	Fix delegation code.
      	* oln/core/topology_entry.hh (neighborhood_type, morpher_type):
      	New.
      	* oln/core/abstract/topology_hierarchies.hh
      	(topology_hierarchy_wrt_neighborhood): New.
      	Update include.
      	* oln/core/abstract/topology_having_bbox.hh: Inherit from
      	automatic::impl.
      	* oln/core/abstract/topology_being_random_accessible.hh: Likewise.
      	* oln/core/abstract/topology.hh (neighborhood): New vtype.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@564 4aad255d-cdde-0310-9447-f3009e2ae8c0
      3a586d8a
  15. 20 Sep, 2006 2 commits
    • Roland Levillain's avatar
      Fix the identity and neighborhood addition morphers. · 507b4bda
      Roland Levillain authored
      	* oln/automatic/image_having_neighborhood.hh: Add a forward
      	declaration of oln::abstract::image_having_neighborhood.
      	(impl<abstract::image_having_neighborhood, morpher::tag::identity, E>):
      	Inherit from abstract::image<E>.
      	(impl_neighborhood): Make it const.
      	Get the exact type before calling delegate().
      	* oln/core/abstract/image_having_neighborhood.hh
      	(oln/automatic/image_having_neighborhood.hh): Include it.
      	(oln::abstract::image_having_neighborhood::neighborhood): New.
      	(case_<image_hierarchy_wrt_neighborhood, E, 1>): Only inherit from
      	oln::abstract::image_having_neighborhood if neighborhood is
      	different from mlc::not_found.
      	(oln::ext_vtype<image_entry<E>, typedef_::neighborhood_type>):
      	Remove.
      	* oln/core/image_entry.hh
      	(single_vtype<image_entry<E>, typedef_::morpher_type>): Remove.
      	Instead, defined the `morpher' virtual type...
      	(vtypes< image_entry<E> >): ...here.
      
      	* oln/morpher/internal/image_extension.hh (image_extension):
      	Fix the inheritance: derive from `oln::image_entry<Exact>' instead
      	of `oln::image_entry< image_extension<Image, Exact> >'.
      	* oln/morpher/identity.hh (oln/morpher/tags.hh): Include it.
      	(oln::single_vtype<morpher::identity<Image>, typedef_::morpher_type>):
      	Remove.
      	Instead, defined the `morpher' virtual type...
      	(oln::vtypes< morpher::identity<Image> >): ...here
      	(oln::morpher::tag::identity): Move...
      	* oln/morpher/tags.hh: ...here (new file).
      	* oln/morpher/add_neighborhood.hh (oln/morpher/tags.hh)
      	(oln/core/2d/aliases.hh): Include them.
      	(oln::single_vtype<morpher::add_neighborhood<Image>,
      	 typedef_::morpher_type>): Remove.
      	Instead, defined the `morpher' virtual type...
      	(oln::vtypes< morpher::add_neighborhood<Image> >): ...here
      	(oln::morpher::add_neighborhood::neighborhood_t): Fix the virtual
      	type retrieval: get it from `self_t', not from `Image'.
      	(ext_vtype<morpher::add_neighborhood< oln::image2d<T> >,
      	 typedef_::neighborhood_type>): Remove.
      	Remove corresponding forward declarations as well.
      	(oln::morpher::tag::add_neighborhood): Move...
      	* oln/morpher/tags.hh: ...here.
      	* tests/identity_morpher.cc, tests/morphers.cc: Fix the test.
      	Add more static assertions.
      
      	* oln/Makefile.am (nobase_oln_HEADERS): Add core/2d/neighb2d.hh,
      	core/abstract/neighborhood.hh, core/gen/neighb.hh and
      	core/neighborhood_entry.hh.
      	* oln/core/2d/image2d.hh: Fix copyright header.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@555 4aad255d-cdde-0310-9447-f3009e2ae8c0
      507b4bda
    • Thierry Geraud's avatar
      2006-09-20 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · c8b45f16
      Thierry Geraud authored
      	Add classes for classical 2d neighborhood.
      	
      	* oln/core/neighborhood_entry.hh: New.
      	* oln/core/abstract/neighborhood.hh: New.
      	* oln/core/2d/neighb2d.hh: New.
      	* oln/core/gen/neighb.hh: New.
      	* oln/core/2d/aliases.hh (neighb2d): New.
      	* oln/basics2d.hh: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@553 4aad255d-cdde-0310-9447-f3009e2ae8c0
      c8b45f16
  16. 18 Sep, 2006 3 commits
    • Roland Levillain's avatar
      Add the first two morphers: identity and neighborhood addition. · 7b62e266
      Roland Levillain authored
      	* oln/core/typedefs.hh (morpher_type, neighborhood_type): New
      	typedef declarations.
      	(neighb_type, image_neighbness_type, image_constness_type)
      	(image_dimension_type, image_typeness_type)
      	(image_valuedness_type, image_rawness_type): Remove typedef
      	declarations.
      	* oln/core/image_entry.hh
      	(single_vtype<image_entry<E>, typedef_::morpher_type>): New
      	virtual type.
      	* oln/core/abstract/image.hh: Check it.
      
      	* oln/core/abstract/image_hierarchies.hh
      	(image_dimension_hierarchy, image_type_hierarchy): Rename as...
      	(image_hierarchy_wrt_dimension, image_hierarchy_wrt_type):
      	...this.
      	(image_neighborhood_hierarchy): Make it the third image hierarchy.
      	Rename as...
      	(image_hierarchy_wrt_neighborhood).
      	(image_value_hierarchy, image_rawness_hierarchy): Adjust and
      	rename as...
      	(image_hierarchy_wrt_value, image_hierarchy_wrt_data_retrieval):
      	...this.	
      	(oln/core/abstract/image_having_neighborhood.hh): Include it.
      	* oln/core/abstract/image_dimension.hh:
      	s/image_dimension_hierarchy/image_hierarchy_wrt_dimension/.
      	(oln::abstract::image1d, oln::abstract::image2d)
      	(oln::abstract::image3d): Inherit from automatic::impl.
      	* oln/core/abstract/image_type.hh,
      	* oln/core/abstract/image_type_integre.hh:
      	s/image_type_hierarchy/image_hierarchy_wrt_type/.
      	* oln/core/abstract/image_having_neighborhood.hh: New
      	abstraction.
      	* oln/automatic/image_having_neighborhood.hh: New automatic
      	implementation.
      
      	* oln/morpher/internal/image_extension.hh: New abstract
      	class.
      	* oln/morpher/identity.hh,
      	* oln/morpher/add_neighborhood.hh: New morphers.
      	* tests/morphers.cc, tests/identity_morpher.cc: New tests.
      
      	* oln/Makefile.am (nobase_oln_HEADERS): Catch up with renamings
      	from the previous patches.
      	Add automatic/image_having_neighborhood.hh,
      	core/abstract/image_having_neighborhood.hh,
      	morpher/internal/image_extension.hh,
      	morpher/add_neighborhood.hh and
      	morpher/identity.hh.
      	* tests/Makefile.am (check_PROGRAMS): Add identity_morpher and
      	morphers.
      	(identity_morpher_SOURCES, morphers_SOURCES): New.
      	* oln/core/abstract/topology_hierarchies.hh: Aesthetic changes.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@552 4aad255d-cdde-0310-9447-f3009e2ae8c0
      7b62e266
    • Thierry Geraud's avatar
      2006-09-18 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · bb7bfc23
      Thierry Geraud authored
      	Rename bbox point iterators.
      	
      	* oln/core/abstract/iterator_on_points.hh
      	(p_): Remove.  Abstract classes should not have attributes.
      	(to_point): Turn abstract.
      	(point_adr): New.
      	* oln/core/gen/fwd_piter.hh: Update and rename as...
      	* oln/core/gen/bbox_fwd_piter.hh: ...this.
      	* oln/core/gen/bkd_piter.hh: Update and rename as...
      	* oln/core/gen/bbox_bkd_piter.hh: ...this.
      	* oln/core/2d/aliases.hh: Update.
      	* oln/core/gen/bbox.hh: Update.
      	* oln/basics2d.hh: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@551 4aad255d-cdde-0310-9447-f3009e2ae8c0
      bb7bfc23
    • Thierry Geraud's avatar
      2006-09-18 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 0a01ef5e
      Thierry Geraud authored
      	Move some abstract classes below entries into internal.
      	
      	* oln/core/abstract/point_nd.hh: Update and rename as...
      	* oln/core/internal/point_nd.hh: ...this.
      	* oln/core/abstract/dpoint_nd.hh: Update and rename as...
      	* oln/core/internal/dpoint_nd.hh: ...this.
      	* oln/core/point_set_entry.hh (is_connected_type): Add in vtypes.
      	* oln/core/abstract/bbox.hh: Change super class from point_set_entry
      	to point_set_having_bbox.
      	(vtypes): Remove.
      	(set_super_type): Remove.
      	* oln/core/abstract/point_set_hierarchies.hh (include): Update.
      	* oln/core/abstract/point_set_having_bbox.hh (case_): Move to...
      	* oln/core/abstract/bbox.hh: ...this file.
      	(case_): Refine for abstract::bbox.
      	* oln/core/2d/dpoint2d.hh: Update.
      	* oln/core/2d/point2d.hh: Update.
      	* oln/core/gen/bbox.hh: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@550 4aad255d-cdde-0310-9447-f3009e2ae8c0
      0a01ef5e