1. 13 Mar, 2007 4 commits
    • Thierry Geraud's avatar
      Add oln_plain_value, update level::apply, and provide a sample test code. · f012fdca
      Thierry Geraud authored
      	* oln/core/internal/f_ch_value.hh (oln_plain_value): New.
      	* oln/core/internal/image_base.hh (include): Add f_ch_value.
      	* oln/level/apply.hh: Inactivate almost the whole code.
      	(apply): Update a single version.
      	* tests/core/apply.cc: New.
      	* tests/core/Makefile.am: Update.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@870 4aad255d-cdde-0310-9447-f3009e2ae8c0
      f012fdca
    • Thierry Geraud's avatar
      Add plain and ch_value functions on images. · 3ee9a03a
      Thierry Geraud authored
      	* oln/core/internal/f_ch_value.hh,
      	* oln/core/internal/f_pset_plain.hh: New.
      	* tests/core/neighb2d.cc: Fix.
      	* tests/core/Makefile.am: Fix.
      	* oln/core/concept/image.hh (plain): New.
      	* oln/core/equipment.hh (plain, skeleton): New.
      	(oln_plain): New.
      	* oln/core/2d/image2d.hh: Update.
      	* oln/core/2d/image2d_b.hh: Update.
      	* oln/core/gen/op.hh (op_): New ctor.
      	* oln/core/gen/single_value_image.hh: Update.
      	* oln/core/internal/op_image_plus_nbh.hh: Separate decl and impl.
      	(special_op_): New ctor.
      	* oln/core/internal/instant_value.hh: Inactivate code that does not
      	compile with g++-3.
      	* oln/core/internal/image_base.hh (pl::value, pl::rec): New.
      	(image_base_): Update.
      	* oln/stc/scoop.hh (stc_type_in_, stc_type_in): New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@869 4aad255d-cdde-0310-9447-f3009e2ae8c0
      3ee9a03a
    • Thierry Geraud's avatar
      Add initialization material; extend point2d and box2d with it. · 6cbbd47d
      Thierry Geraud authored
      	* oln/core/init.hh,
      	* oln/core/internal/initializer.hh,
      	* oln/core/internal/instant_value.hh: New.
      	* oln/core/concept/grid.hh (from, to): New.
      	* oln/core/2d/grid2d.hh (row, col),
      	(drow, dcol, nrows, ncols): New.
      	* oln/core/2d/box2d.hh (init__): New.
      	* oln/core/2d/point2d.hh (init__): New.
      	* oln/core/gen/box.hh (init__): New.
      	(operator<<): New.
      	* oln/core/internal/utils.hh: Add FIXME.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@868 4aad255d-cdde-0310-9447-f3009e2ae8c0
      6cbbd47d
    • Thierry Geraud's avatar
      Add 1D classes and remove some dead code. · 21d16acf
      Thierry Geraud authored
      	* oln/core/internal/utils.hh (triplet): New.
      	* oln/core/1d/image1d_b.hh,
      	* oln/core/1d/grid1d.hh,
      	* oln/core/1d/box1d.hh,
      	* oln/core/internal/dpoint1d.hh,
      	* oln/core/internal/point1d.hh: New.
      	* tests/core/grid.cc,
      	* oln/core/1d/neighb1d.hh,
      	* oln/core/1d/dpoint1d.hh,
      	* oln/core/1d/array1d.hh,
      	* oln/core/1d/image1d.hh,
      	* oln/core/1d/window1d.hh,
      	* oln/core/1d/point1d.hh: Update.
      
      	* oln/core/aliases.hh,
      	* oln/core/fwd_decls.hh,
      	* oln/core/1d/aliases.hh,
      	* oln/core/1d/topo1d.hh,
      	* oln/core/1d/fwd_decls.hh,
      	* oln/core/2d/aliases.hh,
      	* oln/core/2d/topo2d.hh,
      	* oln/core/2d/fwd_decls.hh,
      	* oln/core/3d/aliases.hh,
      	* oln/core/3d/topo3d.hh,
      	* oln/core/3d/fwd_decls.hh,
      	* oln/core/gen/fwd_decls.hh: Remove.
      	* oln/core/2d/box2d.hh,
      	* oln/core/2d/neighb2d.hh,
      	* oln/core/2d/window2d.hh (include): Remove aliases.
      	* oln/core/internal/point2d.hh (grid_): Remove fwd decl.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@866 4aad255d-cdde-0310-9447-f3009e2ae8c0
      21d16acf
  2. 12 Mar, 2007 1 commit
    • Thierry Geraud's avatar
      Add type of 2d images with border. · a6e757e7
      Thierry Geraud authored
      	* tests/core/Makefile.am (check_PROGRAMS): Add neighb2d.
      	* oln/debug/print.hh: Update.
      	* oln/core/2d/array2d.hh (operator[], blen_): New.
      	* oln/core/2d/image2d.hh (npoints): Fix; rename as...
      	(impl_npoints): ...this.
      	(operator[]): Update.
      	* oln/core/2d/image2d_b.hh: Update.
      	* oln/core/2d/grid2d.hh (OLN_ENV_2D): New.
      	* oln/core/equipment.hh (oln_coord): New.
      	* oln/core/gen/dpoints_piter.hh (dps_): Change type.
      	* oln/core/internal/image_base.hh (impl_npoints): New; default impl.
      	* oln/core/internal/point_set_std_based.hh: Fix.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@864 4aad255d-cdde-0310-9447-f3009e2ae8c0
      a6e757e7
  3. 11 Mar, 2007 1 commit
  4. 09 Mar, 2007 2 commits
    • Ugo Jardonnet's avatar
      Add test for neighborhood. · cb82d5a5
      Ugo Jardonnet authored
      	* tests/core/neighb2d.cc: New.
      	* tests/core/Makefile.am: .
      	* oln/core/automatic/impl.hh: .
      	* oln/core/abstract/internal/image_impl.hh: .
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@861 4aad255d-cdde-0310-9447-f3009e2ae8c0
      cb82d5a5
    • Thierry Geraud's avatar
      Update tests. · 9296b4a9
      Thierry Geraud authored
      	* tests/core/image_entry.cc: Remove; obsolete.
      	* tests/core/window2d.cc,
      	* tests/core/point2d.cc,
      	* tests/core/dpoint2d.cc,
      	* tests/core/at.cc,
      	* tests/core/Makefile.am,
      	* tests/core/grid.cc,
      	* tests/core/image2d.cc,
      	* tests/core/npoints.cc,
      	* oln/debug/print_nbh.hh,
      	* oln/level/fill.hh: Update.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@860 4aad255d-cdde-0310-9447-f3009e2ae8c0
      9296b4a9
  5. 08 Mar, 2007 2 commits
    • Thierry Geraud's avatar
      Add the notion of image plus neighborhood and the underlying · ae69f455
      Thierry Geraud authored
      	mechanism.
      	
      	* oln/debug/print_nbh.hh,
      	* oln/debug/iota.hh,
      	* oln/core/concept/image_identity.hh,
      	* oln/core/gen/op.hh,
      	* oln/core/internal/op_image_plus_nbh.hh,
      	* oln/core/internal/special_op.hh: New.
      	* oln/core/concept/image.hh (fwd_niter, bkd_niter, niter): New.
      	* oln/core/concept/neighborhood.hh (category): New.
      	(include): Add op_image_plus_nbh.hh.
      	(oln_decl_op_plus): New.  Handle "Image + Neighborhood".
      	* oln/core/equipment.hh (left, right, oper, tag): New.
      	* oln/core/gen/single_value_image.hh: Fix.
      	* oln/core/internal/neighborhood_base.hh (category): New.
      	(neighborhood_base_): Fix inheritance.
      	* oln/core/internal/image_base.hh (image_extension_): New.
      	(image_base_): Add dpoint.
      	* oln/stc/scoop.hxx (vtypes, super_trait_): Add specialization
      	for const types.
      	(super_trait_): Handle error when not user-defined.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@859 4aad255d-cdde-0310-9447-f3009e2ae8c0
      ae69f455
    • Thierry Geraud's avatar
      Move the responsibility of iteration on window points from · 8bd6feca
      Thierry Geraud authored
      	images to windows.
      
      	* ChangeLog: Add missing former entry.
      	* core/concept/image.hh (value): Add missing code.
      	(qiter, fwd_qiter, bkd_qiter): Move to...
      	* core/concept/window.hh: ...here.
      	(point): New virtual type.
      	* core/concept/neighborhood.hh (point): Likewise.
      	* core/2d/aliases.hh,
      	* core/2d/neighb2d.hh,
      	* core/2d/dpoint2d.hh,
      	* core/2d/window2d.hh,
      	* core/2d/box2d.hh: Update.
      	* core/gen/dpoints_piter.hh (include): Remove useless ones.
      	* oln/core/internal/neighborhood_base.hh: New.
      	* core/gen/neighb.hh: Update inheritance.
      	* oln/core/internal/window_base.hh: New.
      	* core/gen/window.hh: Update inheritance.
      	(vtypes): Update.
      	* core/internal/point_set_std_based.hh: Fix missing return.
      	* core/internal/image_base.hh: Update.
      	* core/internal/point2d.hh: Fix wrong visibility.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@858 4aad255d-cdde-0310-9447-f3009e2ae8c0
      8bd6feca
  6. 07 Mar, 2007 1 commit
  7. 06 Mar, 2007 2 commits
    • Thierry Geraud's avatar
      Update windows and neighborhoods + remove obsolete files. · c4188fdf
      Thierry Geraud authored
      	* oln/core/abstract/window.hh: Rename as...
      	* oln/core/concept/window.hh: ...this and update.
      	* oln/core/abstract/neighborhood.hh: Rename as...
      	* oln/core/concept/neighborhood.hh: ...this and update.
      	* oln/core/gen/fwd_qiter_win.hh: Rename as...
      	* oln/core/gen/dpoints_piter.hh: ...this and update.
      	* oln/core/internal/dpoints_impl.hh: New.
      	* oln/core/2d/neighb2d.hh: Update.
      	* oln/core/internal/image_base.hh (plain_primitive_image_): New.
      	* oln/core/2d/image2d.hh (image2d): Inherit from plain_primitive_image_.
      	* oln/core/2d/window2d.hh: Update
      	(mk_square): New.
      	* oln/core/gen/neighb.hh: Update.
      	* oln/core/internal/image_selectors.hh: Fix.
      	* oln/core/internal/dpoint_base.hh (include): Fix.
      
      	* oln/core/type.hh,
      	* oln/core/typedefs.hh,
      	* oln/core/macros.hh,
      	* oln/core/neighborhood_entry.hh,
      	* oln/core/gen/bkd_qiter_win.hh,
      	* oln/core/gen/grid.hh,
      	* oln/core/gen/topo_add_isubset.hh,
      	* oln/core/gen/topo_bbox.hh,
      	* oln/core/gen/fwd_niter_neighb.hh,
      	* oln/core/gen/topo_lbbox.hh,
      	* oln/core/gen/bkd_niter_neighb.hh,
      	* oln/core/gen/topo_add_nbh.hh,
      	* oln/core/internal/topology_morpher.hh: Remove.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@855 4aad255d-cdde-0310-9447-f3009e2ae8c0
      c4188fdf
    • Thierry Geraud's avatar
      Extend image selectors and add image2d type. · ece7a482
      Thierry Geraud authored
      	* core/concept/image.hh (doc): New.
      	(Fast_Image): New.
      	(Random_Accessible_Image, Random_Mutable_Image): Merge into
      	Fast_Image.
      	* core/concept/point_set.hh (include): Update.
      	* core/concept/point.hh: Likewise.
      	* core/2d/array2d.hh (include): Remove abstract/array.
      	(array2d): Rename as...
      	(array2d_): ...this.
      	(imin, jmin, imax, jmax, buffer, ncells): New methods.
      	* core/2d/image2d.hh: Update.
      	* core/2d/image2d_b.hh: New.
      	* core/2d/grid2d.hh (Grid_2D): New.
      	(grid2d_rec, grid2d_hex, grid2d_tri): New.
      	* core/equipment.hh (ch_value, output): New.
      	* core/gen/box.hh: Fix.
      	* core/internal/image_selectors.hh: Update.
      	* core/internal/image_base.hh (qiter, fwd_qiter, bkd_qiter): New.
      	* stc/scoop.hh (stc_get_type_, stc_get_type, stc_is_a): New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@854 4aad255d-cdde-0310-9447-f3009e2ae8c0
      ece7a482
  8. 05 Mar, 2007 3 commits
    • Thierry Geraud's avatar
      Update image concepts and add single_value_image. · 627292f4
      Thierry Geraud authored
      	* core/abstract/image.hh: Rename as...
      	* core/concept/image.hh: ...this.
      	Update.
      	Add some code from files in core/abstract/image/.
      	* core/image_entry.hh: Rename as...
      	* core/internal/image_base.hh: ...this.
      	Update.
      	Add some code from files in core/internal/.
      	* core/gen/image_pset_piter.hh,
      	* core/gen/single_value_image.hh,
      	* core/internal/utils.hh,
      	* core/internal/image_selectors.hh: New.
      	* core/topology_entry.hh: Remove this residue.
      	* core/concept/point_set.hh (has): Fix typo.
      	* core/concept/point.hh (oln/core/concept/operators):
      	Include.
      	* core/equipment.hh: Update.
      	* stc/scoop.hxx (internal::top): Rename as...
      	(internal::top__): ...this to disambiguate.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@850 4aad255d-cdde-0310-9447-f3009e2ae8c0
      627292f4
    • Thierry Geraud's avatar
      Update some abstractions and remove topology-related classes. · 5f554eed
      Thierry Geraud authored
      	* oln/core/abstract/value.hh: Rename as...
      	* oln/core/concept/value.hh: ...this and update.
      	* oln/core/abstract/iterator_on_values.hh: Rename as...
      	* oln/core/concept/iterator_on_values.hh: ...this and update.
      	* oln/core/abstract/topology/topology_having_bbox.hh,
      	* oln/core/abstract/topology/hierarchies.hh,
      	* oln/core/abstract/topology/all.hh,
      	* oln/core/abstract/topology/topology_being_random_accessible.hh,
      	* oln/core/abstract/topology/topology_having_subset.hh,
      	* oln/core/abstract/topology/topology_having_neighborhood.hh:
      	Remove.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@845 4aad255d-cdde-0310-9447-f3009e2ae8c0
      5f554eed
    • Thierry Geraud's avatar
      Cleaning point set classes. · 64b780e2
      Thierry Geraud authored
      	* oln/core/point_set_entry.hh: Rename as...
      	* oln/core/internal/point_set_base.hh: ...this and update.
      	* oln/core/abstract/point_set.hh: Rename as...
      	* oln/core/concept/point_set.hh: ...this and update.
      	* oln/core/abstract/iterator.hh: Rename as...
      	* oln/core/concept/iterator.hh: ...this and update.
      	* oln/core/abstract/iterator_on_points.hh: Rename as...
      	* oln/core/concept/iterator_on_points.hh: ...this and update.
      	* oln/core/abstract/point_set/point_set_being_random_accessible.hh,
      	* oln/core/abstract/point_set/point_set_having_known_size.hh,
      	* oln/core/abstract/point_set/hierarchies.hh,
      	* oln/core/abstract/point_set/all.hh,
      	* oln/core/abstract/point_set/point_set_being_connected.hh,
      	* oln/core/abstract/point_set/point_set_having_bbox.hh: Remove.
      	* oln/core/gen/bbox.hh: Split and rename as...
      	* oln/core/gen/box.hh: ...this and update...
      	* oln/core/gen/fbbox.hh: ...and this and update.
      	* oln/core/gen/bbox_fwd_piter.hh,
      	* oln/core/gen/bbox_bkd_piter.hh: Remove because merge with...
      	* oln/core/gen/box.hh: ...this.
      	* oln/core/gen/pset_.hh: Rename as...
      	* oln/core/gen/pset.hh: ...this and update.
      	* oln/core/gen/pset_list.hh: Rename as...
      	* oln/core/gen/plist.hh: ...this and update.
      	* oln/core/gen/pset_vec.hh: Rename as...
      	* oln/core/gen/pvec.hh: ...this and update.
      	* oln/core/gen/piter_on_std_based_pset.hh: Rename as...
      	* oln/core/internal/point_set_std_based.hh: ...this and update.
      	* oln/core/2d/aliases.hh: Update.
      	* oln/core/equipment.hh: Update.
      	* oln/core/2d/box2d.hh: New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@844 4aad255d-cdde-0310-9447-f3009e2ae8c0
      64b780e2
  9. 02 Mar, 2007 1 commit
    • Thierry Geraud's avatar
      Start cleaning so the trunk is BROKEN for several weeks. · 2689d29e
      Thierry Geraud authored
      	Add a temporary SCOOP equipment.
      
      	* oln/stc/scoop.hh: New.
      	* oln/stc/scoop.hxx: New.
      	* oln/core/equipment.hh: New.
      
      	Define some concepts.
      	
      	* oln/core/abstract/grid.hh: Rename as...
      	* oln/core/concept/grid.hh: ...this and update.
      	* oln/core/abstract/point.hh: Rename as...
      	* oln/core/concept/point.hh: ...this and update.
      	* oln/core/abstract/dpoint.hh: Rename as...
      	* oln/core/concept/dpoint.hh: ...this and update.
      	* oln/core/concept/operators.hh: New.
      	
      	Update implementation classes.
      
      	* oln/core/2d/grid2d.hh: New.
      	* oln/core/2d/dpoint2d.hh: Update.
      	* oln/core/2d/point2d.hh: Update.
      	* oln/core/internal/point_nd.hh: Rename as...
      	* oln/core/internal/point_base.hh: ...this and update.
      	* oln/core/internal/dpoint_base.hh: New.
      	* oln/core/internal/dpoint2d.hh: New.
      	* oln/core/internal/point2d.hh: New.
      
      	Last.
      
      	* oln/core/internal/tracked_ptr.hh (mlc/contract.hh): Include it.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@843 4aad255d-cdde-0310-9447-f3009e2ae8c0
      2689d29e
  10. 30 Jan, 2007 1 commit
    • Roland Levillain's avatar
      Catch up with Static. · f3857d7c
      Roland Levillain authored
      	* oln/core/typedefs.hh: Catch up with stc/scoop-alt.hh.
      	* oln/core/abstract/image/bbox/hierarchy.hh,
      	* oln/core/abstract/image/dimension/hierarchy.hh,
      	* oln/core/abstract/image/hybrid/classical.hh,
      	* oln/core/abstract/image/mutability/hierarchy.hh,
      	* oln/core/abstract/image/neighborhood/hierarchy.hh,
      	* oln/core/abstract/image/value_wise_accessibility/hierarchy.hh,
      	* oln/core/abstract/iterator_on_points.hh,
      	* oln/core/abstract/point.hh,
      	* oln/core/internal/dpoint_nd.hh,
      	* oln/core/image_entry.hh:
      	s/OLENA_USE_NEW_SCOOP2/OLENA_USE_SCOOP_ALT/g.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@727 4aad255d-cdde-0310-9447-f3009e2ae8c0
      f3857d7c
  11. 26 Jan, 2007 1 commit
    • Roland Levillain's avatar
      Add temporary helpers to support the new SCOOP 2 implementation. · 12a218c7
      Roland Levillain authored
      	The macro OLENA_USE_NEW_SCOOP2 is used to tag the places where
      	support code is introduced.
      
      	* oln/core/typedefs.hh (stc/scoop2.hh) [OLENA_USE_NEW_SCOOP2]:
      	Include it.
      	(stc/scoop.hh) [!OLENA_USE_NEW_SCOOP2]: Include it.
      	Invoke stc_scoop_equipment_for_namespace(oln).
      
      
      	Temporary hack: define deferred virtual types as single_vtypes
      	when using new SCOOP 2 implementation.
      
      	* oln/core/image_entry.hh
      	(vtypes< image_entry<E> >::rvalue_type)
      	[!OLENA_USE_NEW_SCOOP2]: Define it.
      	(single_vtype<image_entry<E>, typedef_::rvalue_type>
      	[!OLENA_USE_NEW_SCOOP2]: Define it.
      	* oln/core/abstract/iterator_on_points.hh
      	(vtypes< abstract::iterator_on_points<E> >)
      	[!OLENA_USE_NEW_SCOOP2]: Define it.
      	(single_vtype<abstract::iterator_on_points<E>, typedef_::coord_type>)
      	[OLENA_USE_NEW_SCOOP2]: Define it.
      	* oln/core/abstract/point.hh (oln, oln): 
      	(vtypes< abstract::point<E> >::coord_type)
      	(vtypes< abstract::point<E> >::vec_type)
      	[!OLENA_USE_NEW_SCOOP2]: Define them.
      	(single_vtype< abstract::point<E>, typedef_::coord_type>)
      	(single_vtype< abstract::point<E>, typedef_::vec_type>)
      	[OLENA_USE_NEW_SCOOP2]: Define them.
      	* oln/core/internal/point_nd.hh (vtypes< internal::point_nd<E> >):
      	Disable it (duplicate with vtypes< abstract::point<E> >).
      	* oln/core/internal/dpoint_nd.hh
      	(vtypes< internal::dpoint_nd<E> >::vec_type)
      	[!OLENA_USE_NEW_SCOOP2]: Define it.
      	(single_vtype< internal::dpoint_nd<E>, typedef_::vec_type >)
      	[OLENA_USE_NEW_SCOOP2]: Define it.
      
      
      	Fix the usage of stc::not_found and stc::is_found_.
      
      	* oln/core/abstract/image/dimension/hierarchy.hh
      	(case_<image_hierarchy_wrt_dimension, E, 1>)
      	(case_<image_hierarchy_wrt_dimension, E, 3>)
      	(case_<image_hierarchy_wrt_dimension, E, 5>)
      	[OLENA_USE_NEW_SCOOP2]: Use stc::is_found_ to check for the
      	existence of an lvalue.
      	[!OLENA_USE_NEW_SCOOP2]: Use mlc::is_found_ to check for the
      	existence of an lvalue.
      	* oln/core/abstract/image/mutability/hierarchy.hh
      	(case_<image_hierarchy_wrt_mutability, E, 1>)
      	[OLENA_USE_NEW_SCOOP2]: Use stc::is_found_ to check for the
      	existence of an lvalue.
      	[!OLENA_USE_NEW_SCOOP2]: Use mlc::is_found_ to check for the
      	existence of an lvalue.
      	* oln/core/abstract/image/bbox/hierarchy.hh
      	(case_<image_hierarchy_wrt_bbox, E, 1>)
      	[OLENA_USE_NEW_SCOOP2]: Use stc::is_found_ to check for the
      	existence of a bounding box.
      	[!OLENA_USE_NEW_SCOOP2]: Use mlc::is_found_ to check for the
      	existence of a bounding box.
      	* oln/core/abstract/image/hybrid/classical.hh
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 1>)
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 2>)
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 3>)
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 4>)
      	[OLENA_USE_NEW_SCOOP2]: Use stc::not_found to check for the
      	existence of a bounding box.
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 1>)
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 2>)
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 3>)
      	(case_<image_hybrid_hierarchy_wrt_classical, E, 4>)
      	[!OLENA_USE_NEW_SCOOP2]: Use mlc::not_found to check for the
      	existence of a bounding box.
      	* oln/core/abstract/image/value_wise_accessibility/hierarchy.hh
      	(case_<image_hierarchy_wrt_value_wise_accessibility, E, 1>):
      	(case_<image_hierarchy_wrt_value_wise_accessibility, E, 2>):
      	[OLENA_USE_NEW_SCOOP2]: Use stc::is_found_ to check for the
      	existence of a value iterator (and a value proxy).
      	[!OLENA_USE_NEW_SCOOP2]: Use mlc::is_found_ to check for the
      	existence of a value iterator (and a value proxy).
      	* oln/core/abstract/image/neighborhood/hierarchy.hh
      	(case_<image_hierarchy_wrt_neighborhood, E, 1>)
      	[OLENA_USE_NEW_SCOOP2]: Use stc::is_found_ to check for the
      	existence of a neighborhood.
      	[!OLENA_USE_NEW_SCOOP2]: Use mlc::is_found_ to check for the
      	existence of a neighborhood.
      
      
      	* oln/core/abstract/grid.hh (set_super_type<abstract::grid<E>>):
      	New.  Fix abstract::grid not having a super type.
      	* oln/morpher/thru_mfun.hxx: Move all implementations of methods
      	into...
      	(oln::morpher): ...this namespace.
      
      	* oln/core/gen/fwd_viter_lut.hh, oln/core/gen/bkd_viter_lut.hh,
      	* oln/core/gen/topo_bbox.hh, oln/core/gen/topo_lbbox.hh,
      	* oln/core/gen/topo_add_isubset.hh, oln/core/gen/topo_add_nbh.hh,
      	* oln/core/internal/bbox_fwd_piter.hh: Fix comments.
      	* oln/core/2d/point2d.hh (oln): Aesthetic changes.
      
      	* tests/core/point2d.cc: Fix inter-dependent headers.
      	* tests/core/dpoint2d.cc: Add a static assertion.
      	* tests/algorithms/fill.cc:
      	s/oln_type_of_(image_t, piter)/oln_piter_(image_t)/
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@723 4aad255d-cdde-0310-9447-f3009e2ae8c0
      12a218c7
  12. 19 Jan, 2007 1 commit
    • Thomas Moulard's avatar
      Split morphers' interface and implementation. · a161df7d
      Thomas Moulard authored
      	* oln/morpher/add_isubset.hh: Split into...
      	* oln/morpher/add_isubset.hxx: ...this new file.
      	* oln/morpher/add_neighborhood.hh: Split into...
      	* oln/morpher/add_neighborhood.hxx: : ...this new file.
      	* oln/morpher/count_rw.hh: Split into...
      	* oln/morpher/count_rw.hxx: : ...this new file.
      	* oln/morpher/identity.hh: Split into...
      	* oln/morpher/identity.hxx: : ...this new file.
      	* oln/morpher/stack.hh: Split into...
      	* oln/morpher/stack.hxx: : ...this new file.
      	* oln/morpher/stack_rw.hh: Split into...
      	* oln/morpher/stack_rw.hxx: : ...this new file.
      	* oln/morpher/thru_fun.hh: Split into...
      	* oln/morpher/thru_mfun.hh: Split into...
      	* oln/morpher/thru_mfun.hxx: : ...this new file.
      	* oln/morpher/two_way.hh: Split into...
      	* oln/morpher/two_way.hxx: : ...this new file.
      	* oln/morpher/two_way_rw.hh: Split into...
      	* oln/morpher/two_way_rw.hxx: : ...this new file.
      	* oln/morpher/value_cast.hh: Split into...
      	* oln/morpher/value_cast.hxx: : ...this new file.
      	* oln/morpher/with_lut.hh: Split into...
      	* oln/morpher/with_lut.hxx: : ...this new file.
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@720 4aad255d-cdde-0310-9447-f3009e2ae8c0
      a161df7d
  13. 04 Dec, 2006 1 commit
    • Thierry Geraud's avatar
      2006-12-04 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 791774fd
      Thierry Geraud authored
      	Propagate scoop update to oln.
      	
      	* oln/core/macros.hh
      	(oln_type_of_, oln_type_of, oln_deduce_type_of): Update and rename as...
      	(oln_vtype_, oln_vtype, oln_deduce_vtype): ...these.
      	(oln_deferred_vtype, oln_deduce_deferred_vtype): New.
      	(oln_find_vtype, oln_find_deferred_vtype): New.
      	* tests/morphers/add_neighborhood_morpher.cc: Update.
      	* tests/morphers/morphers.cc: Likewise.
      	* tests/core/image_entry.cc: Likewise.
      	* tests/core/grid.cc: Likewise.
      	* tests/core/image1d.cc: Likewise.
      	* tests/core/image2d.cc: Likewise.
      	* tests/core/image3d.cc: Likewise.
      	* tests/core/npoints.cc: Likewise.
      	* oln/debug/print.hh: Likewise.
      	* oln/core/typedefs.hh: Likewise.
      	* oln/core/automatic/impl.hh: Likewise.
      	* oln/core/automatic/image/image.hh: Likewise.
      	* oln/core/automatic/image/image_being_point_wise_random_accessible.hh: Likewise.
      	* oln/core/automatic/image/image_having_neighborhood.hh: Likewise.
      	* oln/core/automatic/image/image_being_value_wise_random_accessible.hh: Likewise.
      	* oln/core/automatic/topology/topology_having_bbox.hh: Likewise.
      	* oln/core/automatic/topology/topology_having_subset.hh: Likewise.
      	* oln/core/automatic/topology/topology_being_random_accessible.hh: Likewise.
      	* oln/core/automatic/topology/topology_having_neighborhood.hh: Likewise.
      	* oln/core/spe/row.hh: Likewise.
      	* oln/core/spe/col.hh: Likewise.
      	* oln/core/spe/slice.hh: Likewise.
      	* oln/core/iterator_vtypes.hh: Likewise.
      	* oln/core/abstract/iterator_on_points.hh: Likewise.
      	* oln/core/abstract/image/hybrid/classical.hh: Likewise.
      	* oln/core/abstract/image/type/integre.hh: Likewise.
      	* oln/core/abstract/image/type/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/computability/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/abstract/image/point_wise_accessibility/hierarchy.hh: Likewise.
      	* oln/core/abstract/point_set/point_set_being_random_accessible.hh: Likewise.
      	* oln/core/abstract/point_set/point_set_having_known_size.hh: Likewise.
      	* oln/core/abstract/point_set/point_set_being_connected.hh: Likewise.
      	* oln/core/abstract/point_set/point_set_having_bbox.hh: Likewise.
      	* oln/core/abstract/topology/topology_having_bbox.hh: Likewise.
      	* oln/core/abstract/topology/topology_being_random_accessible.hh: Likewise.
      	* oln/core/abstract/topology/topology_having_subset.hh: Likewise.
      	* oln/core/abstract/topology/topology_having_neighborhood.hh: Likewise.
      	* oln/core/abstract/internal/image_impl.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/bkd_viter_lut.hh: Likewise.
      	* oln/core/gen/pset_list.hh: Likewise.
      	* oln/core/gen/window.hh: Likewise.
      	* oln/core/gen/topo_lbbox.hh: Likewise.
      	* oln/core/gen/pset_vec.hh: Likewise.
      	* oln/core/gen/pset_.hh: Likewise.
      	* oln/core/gen/fwd_viter_lut.hh: Likewise.
      	* oln/core/gen/mapimage.hh: Likewise.
      	* oln/core/gen/topo_add_nbh.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/morpher/add_isubset.hh: Likewise.
      	* oln/morpher/value_cast.hh: Likewise.
      	* oln/morpher/thru_fun.hh: Likewise.
      	* oln/morpher/slice.hh: Likewise.
      	* oln/morpher/with_lut.hh: Likewise.
      	* oln/morpher/thru_mfun.hh: Likewise.
      	* oln/morpher/internal/image_value_morpher.hh: Likewise.
      	* oln/morpher/internal/image_extension.hh: Likewise.
      	* oln/morpher/add_neighborhood.hh: Likewise.
      
      	Entry classes now use:
      	- stc::abstract instead of mlc::undefined;
      	- stc::final when possible;
      	- 'deferred' versions of vtype access when required.
      	
      	* oln/core/point_set_entry.hh: Update.
      	(set_super_type): New.
      	(vtypes): Update.
      	* oln/core/neighborhood_entry.hh: Likewise.
      	* oln/core/topology_entry.hh: Likewise.
      	* oln/core/image_entry.hh: Likewise.
      	* oln/core/abstract/grid.hh: Likewise.
      	* oln/core/abstract/image.hh: Likewise.
      	(decl): Re-activate static checks.
      	* oln/core/abstract/iterator.hh: Likewise.
      	* oln/core/abstract/point.hh: Likewise.
      	* oln/core/abstract/dpoint.hh: Likewise.
      	* oln/core/abstract/iterator_on_values.hh: Likewise.
      	* oln/core/abstract/window.hh: Likewise.
      
      	Remove obsolete definitions of now final vtypes.
      	
      	* tests/core/image_entry.cc: Update.
      	* oln/core/1d/image1d.hh: Likewise.
      	* oln/core/2d/image2d.hh: Likewise.
      	* oln/core/3d/image3d.hh: Likewise.
      	
      	Update tests with the 'find' version of vtype access.
      	
      	* oln/core/abstract/image/mutability/hierarchy.hh: Update.
      	* oln/core/abstract/image/dimension/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/neighborhood/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/bbox/hierarchy.hh: Likewise.
      	* oln/core/abstract/image/value_wise_accessibility/hierarchy.hh: Likewise.
      
      	Update from 'delegated' to 'delegatee'.
      
      	* oln/core/abstract/internal/image_impl.hh: Update.
      	* oln/core/gen/topo_add_nbh.hh: Likewise.
      	* oln/core/internal/topology_morpher.hh: Likewise.
      	* oln/morpher/internal/image_value_morpher.hh: Likewise.
      	* oln/morpher/internal/image_extension.hh: Likewise.
      	* oln/core/typedefs.hh (delegated_type): Add commentary.
      
      	Misc.
      	
      	* tests/core/at.cc: Cosmetic change.
      	* oln/core/gen/bbox.hh (vtypes): Fix typo.
      	* oln/core/gen/pset_list.hh: Likewise.
      	* oln/core/gen/pset_vec.hh: Likewise.
      	* oln/core/gen/pset_.hh: Likewise.
      	* tests/core/image_entry.cc (is_computed_type): Fix missing.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@714 4aad255d-cdde-0310-9447-f3009e2ae8c0
      791774fd
  14. 15 Nov, 2006 2 commits
    • Roland Levillain's avatar
      Add a specialization of level::fill for value-wise random-accessible · cb68de46
      Roland Levillain authored
      	images.
      
      	* tests/morphers/with_lut.cc (main): More static checking of
      	the interface of an image with LUT.
      	Test oln::level::fill on an image with LUT.
      	* oln/level/fill.hh
      	(level::fill(abstract::
      	 mutable_image_being_value_wise_random_accessible<I>&))
      	(level::impl::
      	 fill(abstract::mutable_image_being_value_wise_random_accessible<I>&)):
      	 New.
      	* oln/core/typedefs.hh (oln_fwd_viter, oln_fwd_viter_)
      	(oln_bkd_viter, oln_bkd_viter_, oln_viter, oln_viter_): New macros.
      	* oln/core/gen/bkd_viter_lut.hh
      	(bkd_viter_lut::bkd_viter_lut(const morpher::with_lut<Image, Lut>&))
      	* oln/core/gen/fwd_viter_lut.hh
      	(fwd_viter_lut::fwd_viter_lut(const morpher::with_lut<Image, Lut>&))
      	New ctors.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@709 4aad255d-cdde-0310-9447-f3009e2ae8c0
      cb68de46
    • Roland Levillain's avatar
      Fix virtual types of oln::internal::point_nd and · ce652404
      Roland Levillain authored
      	oln::internal::dpoint_nd.
      
      	* oln/core/internal/point_nd.hh
      	(oln::vtypes< internal::point_nd<E> >::vec_t)
      	(oln::vtypes< internal::point_nd<E> >::psite_type): Remove
      	typedefs.
      	(oln::vtypes< internal::point_nd<E> >::vec_type): Fix typedef.
      	* oln/core/internal/point_nd.hh
      	(oln::vtypes< internal::point_nd<E> >::vec_t): Remove typedef.
      	(oln::vtypes< internal::point_nd<E> >::vec_type): Fix typedef.	
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@708 4aad255d-cdde-0310-9447-f3009e2ae8c0
      ce652404
  15. 14 Nov, 2006 1 commit
    • Thierry Geraud's avatar
      2006-11-14 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 27b9eb7f
      Thierry Geraud authored
      	Now call simplified scoop macros.
      	
      	* oln/core/macros.hh
      	(oln_deduce_direct_type_of_, oln_deduce_direct_type_of): Remove.
      	(oln_check_type_of, oln_check_type_of_): Remove.
      	(oln_check_direct_type_of, oln_check_direct_type_of_): Remove.
      	(oln_deduce): New; shortcut to oln_deduce_type_of.
      
      	Add missing shortcuts.
      	
      	* oln/core/typedefs.hh (oln_dim, oln_dim_): New.
      	(oln_vec, oln_vec_): New.
      	(oln_bbox, oln_bbox_): New.
      	(include): Fix and add fwd decls.
      
      	Move single_vtype definitions into vtypes structures.
      	
      	* oln/core/point_set_entry.hh: Update.
      	(single_vtype): Move into...
      	(vtypes): ...this.
      	* 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/point.hh: Likewise.
      	* oln/core/gen/topo_add_nbh.hh: Likewise.
      	* oln/core/internal/topology_morpher.hh: Likewise.
      	* oln/morpher/value_cast.hh: Likewise.
      	* oln/morpher/two_way.hh: Likewise.
      	* oln/morpher/thru_fun.hh: Likewise.
      	* oln/morpher/slice.hh: Likewise.
      	* oln/morpher/with_lut.hh: Likewise.
      	* oln/morpher/count_rw.hh: Likewise.
      	* oln/morpher/two_way_rw.hh: Likewise.
      	* oln/morpher/stack.hh: Likewise.
      	* oln/morpher/thru_mfun.hh: Likewise.
      	* oln/morpher/stack_rw.hh: Likewise.
      	* oln/morpher/internal/image_value_morpher.hh: Likewise.
      	
      	Prevent problems due to mutual recursion (thru inheritance
      	and dependent types).
      	
      	* oln/core/abstract/image.hh (decl): Disable static checks.
      	* oln/core/abstract/image/bbox/hierarchy.hh: Update.
      	(decl): Disable static check.
      	* oln/core/abstract/point_set.hh (~point_set): Fix code.
      	(decl): Disable static check.
      	* oln/core/gen/fwd_piter_bbox.hh: Update.
      	Disable static check.
      	* oln/core/gen/bkd_piter_bbox.hh: Update.
      	Disable static check.
      	
      	For safety purpose.
      	
      	* oln/basics2d.hh (include): Move iterator_vtypes up.
      
      	Decouple some files from specific code.
      	
      	* oln/core/automatic/image/mutable_image1d.hh
      	(include): Remove dependency to specific point header.
      	(tmp): Update.
      	* oln/core/automatic/image/mutable_image2d.hh: Likewise.
      	* oln/core/automatic/image/mutable_image3d.hh: Likewise.
      	* oln/core/automatic/image/image1d.hh: Likewise.
      	* oln/core/automatic/image/image2d.hh: Likewise.
      	* oln/core/automatic/image/image3d.hh: Likewise.
      	* oln/core/1d/dpoint1d.hh: Add fwd decls and/or aliases.
      	(include): Remove aliases header.
      	* oln/core/2d/dpoint2d.hh: Likewise.
      	* oln/core/3d/dpoint3d.hh: Likewise.
      	* oln/core/1d/point1d.hh: Add fwd decls and/or aliases.
      	(include): Remove aliases header.
      	* oln/core/2d/point2d.hh: Likewise.
      	* oln/core/3d/point3d.hh: Likewise.
      	* oln/core/1d/neighb1d.hh: Add alias.
      	* oln/core/2d/neighb2d.hh: Likewise.
      	* oln/core/3d/neighb3d.hh: Likewise.
      	* tests/core/point2d.cc (include): Solve FIXME.
      	(main): Change test.
      	* tests/core/dpoint2d.cc: Likewise.
      
      	Update.
      	
      	* tests/morphers/with_lut.cc: Cosmetics.
      	* tests/core/image_entry.cc: Update.
      	* oln/io/pnm.hh: Use shortcuts.
      	(include): Update.
      	* oln/core/abstract/point_set/point_set_having_bbox.hh: Update.
      	* oln/core/gen/bkd_qiter_win.hh: Update.
      	* oln/core/gen/grid.hh: Update.
      	* oln/core/gen/bkd_viter_lut.hh: Update.
      	* oln/core/gen/bbox_fwd_piter.hh: Update.
      	* oln/core/gen/fwd_niter_neighb.hh: Update.
      	* oln/core/gen/fwd_qiter_win.hh: Update.
      	* oln/core/gen/bbox_bkd_piter.hh: Update.
      	* oln/core/gen/bkd_niter_neighb.hh: Update.
      	* oln/core/gen/fwd_viter_lut.hh: Update.
      	* oln/core/internal/point_nd.hh: Update.
      	(vtypes): New.
      	* oln/core/internal/dpoint_nd.hh: Update.
      	(vtypes): New.
      	* oln/morpher/add_isubset.hh: Update.
      	Remove dead code.
      	* oln/morpher/identity.hh: Update.
      	* oln/morpher/add_neighborhood.hh: Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@707 4aad255d-cdde-0310-9447-f3009e2ae8c0
      27b9eb7f
  16. 13 Nov, 2006 3 commits
    • Roland Levillain's avatar
      Add backward value iterators on look-up tables. · 2fa680c6
      Roland Levillain authored
      	* oln/core/lookup_table.hh (oln::lookup_table::reverse_iterator)
      	(oln::lookup_table::const_reverse_iterator): New typedefs.
      	(oln::lookup_table::rbegin, oln::lookup_table::rend): New methods.
      	* oln/core/typedefs.hh (bkd_viter_type): New virtual type
      	declaration.
      	* oln/core/gen/bkd_viter_lut.hh: New.
      	* oln/core/gen/fwd_viter_lut.hh: Typos.
      	* oln/morpher/with_lut.hh
      	(single_vtype<morpher::with_lut<Image,Lut>, typedef_::bkd_viter_type>):
      	New.
      	* tests/morphers/with_lut.cc (main): Test backward value iterator
      	on look-up table.
      	* oln/Makefile.am (nobase_oln_HEADERS): Add
      	core/gen/bkd_viter_lut.hh.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@705 4aad255d-cdde-0310-9447-f3009e2ae8c0
      2fa680c6
    • Roland Levillain's avatar
      Merge oln::internal::fwd_viter_lut and oln::fwd_viter_lut. · 71ad6c3a
      Roland Levillain authored
      	* oln/core/internal/fwd_viter_lut.hh: Remove this file, and
      	merge...
      	(oln::internal::fwd_viter_lut): ...this class with...
      	* oln/core/gen/fwd_viter_lut.hh (oln::fwd_viter_lut): ...this one.
      	* oln/Makefile.am (nobase_oln_HEADERS): Remove
      	core/internal/fwd_viter_lut.hh.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@704 4aad255d-cdde-0310-9447-f3009e2ae8c0
      71ad6c3a
    • Roland Levillain's avatar
      Remove virtual type `is_value_wise_mutable'. · 932e3f8e
      Roland Levillain authored
      	* oln/core/typedefs.hh (is_value_wise_mutable): Remove virtual
      	type declaration.
      	* oln/core/abstract/image/value_wise_accessibility/hierarchy.hh:
      	(case_<image_hierarchy_wrt_value_wise_accessibility, E, 1>): No
      	longer use the virtual type `is_value_wise_mutable' in the
      	static switch condition; query `mutable_value_proxy' instead.
      	* olena/oln/morpher/with_lut.hh
      	(vtypes< morpher::with_lut<Image, Lut> >::is_value_wise_mutable_type):
      	Remove typedef.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@702 4aad255d-cdde-0310-9447-f3009e2ae8c0
      932e3f8e
  17. 10 Nov, 2006 1 commit
    • Roland Levillain's avatar
      Introduce oln::value::lut_value_proxy. · 14c62e75
      Roland Levillain authored
      	* olena/oln/value/lut_value_proxy.hh: New.
      	* oln/core/typedefs.hh (mutable_fwd_viter_type): Remove virtual
      	type declaration.
      	(value_proxy_type, mutable_value_proxy_type): New virtual types
      	declarations.
      	Aesthetic changes.
      	* oln/core/abstract/image/value_wise_accessibility/hierarchy.hh
      	(image_being_value_wise_random_accessible::fwd_viter_t): Remove
      	typedef.
      	(image_being_value_wise_random_accessible::value_proxy_t): New
      	typedef.
      	(image_being_value_wise_random_accessible::value): Return a value
      	proxy instead of a value iterator.
      	(mutable_image_being_value_wise_random_accessible::fwd_viter_t):
      	Remove typedef.
      	(mutable_image_being_value_wise_random_accessible::value_proxy_t):
      	New typedef.
      	(mutable_image_being_value_wise_random_accessible::value)): Return
      	a value proxy instead of a value iterator.
      	* oln/morpher/with_lut.hh (oln/value/lut_value_proxy.hh): Include
      	it.
      	(vtypes< morpher::with_lut<Image, Lut> >::value_proxy_type)
      	(vtypes< morpher::with_lut<Image, Lut> >::mutable_value_proxy_type):
      	New typedefs.
      	(single_vtype<morpher::with_lut<Image, Lut>,
      	 typedef_::mutable_fwd_viter_type>): Remove single virtual type.
      	(oln::morpher::with_lut::fwd_viter_type)
      	(oln::morpher::with_lut::mutable_fwd_viter_type): Remove.
      	(oln::morpher::with_lut::value_proxy_type)
      	(oln::morpher::with_lut::mutable_value_proxy_type): New typedefs.
      	(oln::morpher::with_lut::impl_value): Have these methods return
      	value proxies instead of value iterators.
      	* oln/Makefile.am (nobase_oln_HEADERS): Add
      	value/lut_value_proxy.hh.
      
      
      	Remove oln::mutable_fwd_viter_lut and clean up oln::fwd_viter_lut.
      
      	* olena/oln/core/abstract/iterator_on_values.hh: New.
      	* oln/core/internal/fwd_viter_lut.hh:
      	(oln::internal::fwd_viter_lut<Exact>): Inherit from
      	oln::abstract::iterator_on_values<Exact>.
      	s/rvalue_type/value_type/g.
      	(oln::internal::fwd_viter_lut(lut_type&, const value_type&)):
      	Remove ctor.
      	(oln::internal::fwd_viter_lut::start)
      	(oln::internal::fwd_viter_lut::next)
      	(oln::internal::fwd_viter_lut::invalidate)
      	(oln::internal::fwd_viter_lut::is_valid): Rename methods as...
      	(oln::internal::fwd_viter_lut::impl_start)
      	(oln::internal::fwd_viter_lut::impl_next)
      	(oln::internal::fwd_viter_lut::impl_invalidate)
      	(oln::internal::fwd_viter_lut::impl_is_valid): ...these.
      	* oln/core/gen/fwd_viter_lut.hh (oln::fwd_viter_lut<Lut>):
      	s/rvalue_type/value_type/g.
      	(oln::fwd_viter_lut::fwd_viter_lut(const Lut&, const rvalue_type&)):
      	Remove ctor.
      	(oln::fwd_viter_lut::operator rvalue_type): Turn this operator
      	into...
      	(oln::fwd_viter_lut::impl_to_value): ...this method.
      	(oln::mutable_fwd_viter_lut): Remove this class and it virtual
      	types.
      	(operator<<(std::ostream&, const mutable_fwd_viter_lut<Lut>&)):
      	Remove.
      	* oln/Makefile.am (nobase_oln_HEADERS): Add
      	core/abstract/iterator_on_values.hh
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@701 4aad255d-cdde-0310-9447-f3009e2ae8c0
      14c62e75
  18. 08 Nov, 2006 1 commit
  19. 07 Nov, 2006 1 commit
  20. 06 Nov, 2006 2 commits
    • Thierry Geraud's avatar
      2006-11-06 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 9d8ae71f
      Thierry Geraud authored
      	Add oln::morpher::two_way_rw.
      
      	* ChangeLog: Fix file dir in previous entry.
      	* tests/morphers/two_way_rw_morpher.cc: New.
      	* tests/morphers/Makefile.am: Update.
      	* oln/morpher/two_way_rw.hh: New.
      	* oln/Makefile.am: Update.
      	* oln/morpher/two_way.hh (value::two_way): Move impl into...
      	* oln/value/two_way.hxx: ...this new file.
      	* oln/core/abstract/functions.hh (fun_rw): Update.
      	* oln/morpher/count_rw.hh (count_rw): Move impl into guards.
      	* oln/morpher/stack_rw.hh (include): Update.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@696 4aad255d-cdde-0310-9447-f3009e2ae8c0
      9d8ae71f
    • Thierry Geraud's avatar
      2006-11-06 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> · 9f6eaa48
      Thierry Geraud authored
      	Add morpher::stack_rw.
      	
      	* olena/tests/morphers/stack_rw_morpher.cc: New.
      	* olena/tests/morphers/Makefile.am: Update.
      	* olena/oln/morpher/stack_rw.hh: New.
      	* olena/oln/Makefile.am: Update.
      	* olena/oln/debug/print.hh (print): Store loop 2D bounds.
      	* olena/oln/core/abstract/functions.hh (fun_rw): New.
      	* olena/oln/morpher/two_way.hh (ima_): Change type to pointer.
      	(two_way): New ctor for class value::two_way.
      	(read_, write_): New methods.
      	(operator, value): Call read_.
      	(operator=): Call write_.
      	* olena/oln/morpher/stack.hh (N): New.
      	* olena/oln/value/two_way.hh (two_way): New ctor decl.
      	(ima_): Change type to pointer.
      	(read_, write_): New method decls.
      
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@695 4aad255d-cdde-0310-9447-f3009e2ae8c0
      9f6eaa48
  21. 31 Oct, 2006 3 commits
    • Roland Levillain's avatar
      Clean up virtual types declarations. · 39967972
      Roland Levillain authored
      	* oln/core/typedefs.hh (size_type): Remove virtual type
      	declaration.
      	Clean up.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@693 4aad255d-cdde-0310-9447-f3009e2ae8c0
      39967972
    • Roland Levillain's avatar
      Rename the ``accessibility'' hierarchy as ``point_wise_accessibility''. · 36a59cb2
      Roland Levillain authored
      	* oln/core/abstract/image/accessibility/hierarchy.hh:
      	Rename as...
      	* oln/core/abstract/image/point_wise_accessibility/hierarchy.hh:
      	...this.
      	Adjust header guards.
      	(oln::abstract::image_being_random_accessible): Rename as...
      	(oln::abstract::image_being_point_wise_random_accessible): ...this.
      	Adjust.
      	(oln::case_<image_hierarchy_wrt_accessibility, E, 1>): Rename as...
      	(oln::case_<image_hierarchy_wrt_point_wise_accessibility, E, 1>):
      	...this.
      	Adjust.
      	* oln/core/abstract/image/hierarchies.hh,
      	* oln/core/abstract/image/all.hh,
      	* oln/core/abstract/image/hybrid/classical.hh: Adjust.
      	* oln/core/automatic/image/image_being_random_accessible.hh:
      	Adjust.
      	Rename as...
      	* oln/core/automatic/image/image_being_point_wise_random_accessible.hh:
      	...this.
      	Adjust header guards.
      	* oln/Makefile.am (nobase_oln_HEADERS): Remove
      	core/abstract/image/accessibility/hierarchy.hh and
      	core/automatic/image/image_being_random_accessible.hh.
      	Add core/abstract/image/point_wise_accessibility/hierarchy.hh
      	and core/automatic/image/image_being_point_wise_random_accessible.hh.
      	Remove duplicate core/automatic/image/image_having_neighborhood.hh
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@692 4aad255d-cdde-0310-9447-f3009e2ae8c0
      36a59cb2
    • Roland Levillain's avatar
      Fix the mutability of value-wise random accessible images. · 7c093014
      Roland Levillain authored
      	* oln/core/typedefs.hh (is_value_wise_mutable_type): New virtual
      	type declaration.
      	* oln/core/abstract/image/value_wise_accessibility/hierarchy.hh
      	(struct case_<image_hierarchy_wrt_value_wise_accessibility, E, 2>):
      	Re-enable.
      	Swap with...
      	(struct case_<image_hierarchy_wrt_value_wise_accessibility, E, 1>):
      	...this case.
      	* oln/morpher/with_lut.hh
      	(vtypes< morpher::with_lut<Image, Lut> >::is_value_wise_mutable_type):
      	New virtual type.
      	Set to mlc::true_.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@691 4aad255d-cdde-0310-9447-f3009e2ae8c0
      7c093014
  22. 27 Oct, 2006 1 commit
    • Roland Levillain's avatar
      Various fixes. · 1ce99eb5
      Roland Levillain authored
      	* oln/core/automatic/image/mutable_image1d.hh: Fix header guards,
      	(were the same as oln/core/automatic/image/image1d.hh's).
      	(oln::abstract::mutable_image1d): Forward-declare it.
      	s/abstract::image1d/abstract::mutable_image1d/g.
      	* oln/core/abstract/image/dimension/1d.hh (mutable_image1d)
      	* oln/core/abstract/image/dimension/2d.hh (mutable_image2d)
      	* oln/core/abstract/image/dimension/3d.hh (mutable_image3d): Fix
      	the lookup of impl_at().
      	* oln/core/type_fun/slice.hh: Remove unnecessary headers.
      	* oln/core/abstract/array.hh, oln/core/abstract/functions.hh,
      	* oln/core/internal/point_nd.hh, oln/morpher/thru_mfun.hh: Add
      	missing headers.
      	* oln/morpher/thru_fun.hh (xtd/mexpr.hh): Include it.
      	(struct case_<tag::fun_operator_1, mlc::pair_<Fun, A>, 1>): Turn
      	into...
      	(struct case_<tag::fun_operator_1, mlc::pair_<Fun, A>, 2>):
      	...this.
      	* oln/value/proxy.hh: Fix header guards.
      	(oln/core/typedefs.hh): Include it.
      	* oln/Makefile.am (nobase_oln_HEADERS): Add 
      	core/abstract/image/computability/hierarchy.hh,
      	core/abstract/image/value_wise_accessibility/hierarchy.hh,
      	core/automatic/image/image_being_value_wise_random_accessible.hh,
      	core/gen/topo_add_isubset.hh, core/gen/fwd_viter_lut.hh,
      	core/internal/fwd_viter_lut.hh and value/two_way.hh.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@688 4aad255d-cdde-0310-9447-f3009e2ae8c0
      1ce99eb5
  23. 26 Oct, 2006 1 commit
    • Roland Levillain's avatar
      Extend morpher adding a look-up table (oln::morpher::with_lut). · 29db6cbc
      Roland Levillain authored
      	* oln/core/abstract/image/hierarchies.hh
      	(image_hierarchy_wrt_value_wise_accessibility): New hierarchy.
      	(image_hybrid_hierarchy_wrt_classical)
      	(image_hierarchy_wrt_value, image_hierarchy_wrt_data_retrieval):
      	Adjust numbers.
      	* oln/core/abstract/image/all.hh
      	(oln/core/abstract/image/value_wise_accessibility/hierarchy.hh):
      	Include it.
      	Adjust.
      	* oln/core/abstract/image/value_wise_accessibility/hierarchy.hh: New.
      	* oln/core/automatic/image/image_being_value_wise_random_accessible.hh:
      	New.
      	* oln/core/internal/fwd_viter_lut.hh,
      	* oln/core/gen/fwd_viter_lut.hh: New.
      	* oln/core/typedefs.hh (fwd_viter_type, mutable_fwd_viter_type)
      	(lut_type, lut_iter_type): New virtual types declarations.
      	* oln/core/lookup_table.hh (lookup_table): Rename the first two
      	parameters to Orig_Value and New_Value.
      	Add two parameters Orig_Value_Compare and New_Value_Compare,
      	defaulting to std::less<Orig_Value> and std::less<New_Value>
      	respectively.
      	(lookup_table::key_type, lookup_table::data_type): Rename typedefs
      	as...
      	(lookup_table::orig_value_type, lookup_table::new_value_type):
      	...these.
      	(lookup_table::map_type): Remove typedef.
      	(lookup_table::orig_value_type, lookup_table::new_value_type)
      	(lookup_table::const_iterator, lookup_table::iterator): New
      	typedefs.
      	Adjust signatures of methods.
      	(lookup_table::map): Remove method.
      	(lookup_table::begin, lookup_table::end, lookup_table::find)
      	(lookup_table::orig_to_new_map, lookup_table::new_to_orig_map):
      	New methods.
      	(lookup_table::map_): Remove attributes.
      	(lookup_table::orig_to_new_map_, lookup_table::new_to_orig_map_):
      	New attributes.
      	(lookup_table::add): Adjust method.
      	* oln/morpher/with_lut.hh: Adjust.
      	(single_vtype<morpher::with_lut<Image, Lut>, typedef_::fwd_viter_type>)
      	(single_vtype<morpher::with_lut<Image ,Lut>,
      	 typedef_::mutable_fwd_viter_type>):
      	New.
      	(with_lut::lut_t, with_lut::value_t, with_lut::rvalue_t)
      	(with_lut::psite_t): Rename typedefs as...
      	(with_lut::lut_type, with_lut::value_type, with_lut::rvalue_type)
      	(with_lut::psite_type):	...these.
      	Adjust.
      	(with_lut::fwd_viter_type, with_lut::mutable_fwd_viter_type):
      	New typedefs.
      	(with_lut::impl_value): New methods.
      	(operator+ (const abstract::image<I>&, const lookup_table<K, D>&)):
      	Turn into...
      	(operator+ (const abstract::image<I>&, lookup_table<K, D>&)):
      	...this.
      	Adjust.
      	* tests/morphers/with_lut.cc: Augment this test.
      
      	* oln/value/color/rgb.hh
      	(rgb_<T>::operator==(const rgb_<U>&)): New operator.
      	* TODO: New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@685 4aad255d-cdde-0310-9447-f3009e2ae8c0
      29db6cbc
  24. 25 Oct, 2006 3 commits