1. 27 Sep, 2006 1 commit
    • 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
  2. 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
    • Roland Levillain's avatar
      Have all classes of oln::automatic inherit from stc::any__simple. · 998033fd
      Roland Levillain authored
      	* oln/automatic/image_having_neighborhood.hh
      	(impl<abstract::image_having_neighborhood, morpher::tag::identity, E>):
      	Inherit from stc::any__simple<E> instead of abstract::image<E>.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@568 4aad255d-cdde-0310-9447-f3009e2ae8c0
      998033fd
  3. 25 Sep, 2006 2 commits
    • 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
  4. 20 Sep, 2006 1 commit
    • 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
  5. 18 Sep, 2006 1 commit
    • 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