oln::neighborhood2d Class Reference

Neighborhood 2 dimensions. More...

#include <neighborhood2d.hh>

Inheritance diagram for oln::neighborhood2d:

Inheritance graph
[legend]
Collaboration diagram for oln::neighborhood2d:

Collaboration graph
[legend]
List of all members.

Public Types

typedef abstract::neighborhoodnd<
neighborhood2d
super_type
 Super type.

typedef neighborhood2d self_type
 Self type.

typedef struct_elt_traits<
self_type >::iter_type 
iter_type
 The associate image's type of iterator.

typedef struct_elt_traits<
self_type >::neighb_type 
neighb_type
 Set the neighborhood type.

typedef struct_elt_traits<
self_type >::dpoint_type 
dpoint_type
 The associate image's type of dpoint (move point).


Public Member Functions

neighborhood2dadd (const dpoint_type &dp)
 Add a dpoint (move point) to the neighborhood.
  • dp The new point.


neighborhood2dadd (coord row, coord col)
 Add a point by coordinates to the neighborhood.
  • row The coordinates of the new point.
  • col The coordinates of the new point.


 neighborhood2d ()
 Construct a neighborhood of 2 dimensions.

 neighborhood2d (unsigned size)
 Construct a neighborhood of 2 dimensions.
  • size Reserve 'size' elements for the neighborhood.


 neighborhood2d (unsigned n, const coord crd[])
 Construct a neighborhood of 2 dimensions.
  • n Add 'n' elements to the neighborhood.
  • crd Coordinates of the 'n' elements.


 neighborhood2d (const io::internal::anything &r)

Static Public Member Functions

std::string name ()
 Return the name of the type.


Protected Member Functions

coord delta_update_ (const dpoint_type &dp)
 Update delta.
  • dp a deplacement point.



Friends

class abstract::window_base< abstract::neighborhood< neighborhood2d >, neighborhood2d >

Detailed Description

Neighborhood 2 dimensions.

It looks like structuring elements but here, when you add an element, you add its opposite. Points have 2 dimensions.

Definition at line 65 of file neighborhood2d.hh.


Member Typedef Documentation

typedef struct_elt_traits< self_type >::dpoint_type oln::neighborhood2d::dpoint_type
 

The associate image's type of dpoint (move point).

Warning:
Prefer the macros oln_dpoint_type(Pointable) and oln_dpoint_type_(Pointable) (the same without the 'typename' keyword)

Reimplemented from oln::abstract::neighborhoodnd< neighborhood2d >.

Definition at line 88 of file neighborhood2d.hh.

Referenced by add(), and neighborhood2d().

typedef struct_elt_traits< self_type >::iter_type oln::neighborhood2d::iter_type
 

The associate image's type of iterator.

Warning:
Prefer the macros oln_iter_type(Iterable) and oln_iter_type_(Iterable) (the same without the 'typename' keyword)

Reimplemented from oln::abstract::neighborhood< neighborhood2d >.

Definition at line 79 of file neighborhood2d.hh.


Member Function Documentation

neighborhood2d& oln::neighborhood2d::add coord  row,
coord  col
[inline]
 

Add a point by coordinates to the neighborhood.

  • row The coordinates of the new point.
  • col The coordinates of the new point.

Add a new member by its coordinates to the neighborhood. The coordinates have 2 dimensions.

Definition at line 115 of file neighborhood2d.hh.

References add(), oln::coord, and dpoint_type.

00116     {
00117       return this->add(dpoint_type(row, col));
00118     }

neighborhood2d& oln::neighborhood2d::add const dpoint_type dp  )  [inline]
 

Add a dpoint (move point) to the neighborhood.

  • dp The new point.

Add a new member to the neighborhood. This point must be of 2 dimensions.

Definition at line 100 of file neighborhood2d.hh.

Referenced by add(), oln::mk_neighb_rectangle(), and neighborhood2d().

00101     {
00102       this->exact().add_(dp);
00103       return this->exact().add_(-dp);
00104     }

coord oln::neighborhood2d::delta_update_ const dpoint_type dp  )  [inline, protected]
 

Update delta.

  • dp a deplacement point.

Returns:
Delta.
If the point is the biggest element of the neighborhood, then this point is assigned to delta.

Definition at line 168 of file neighborhood2d.hh.

References oln::abstract::window_base< neighborhood< neighborhood2d >, neighborhood2d >::delta_.

00169     {
00170       delta_(abs(dp.row()));
00171       delta_(abs(dp.col()));
00172       return delta_;
00173     }


The documentation for this class was generated from the following file:
Generated on Thu Apr 15 20:14:24 2004 for Olena by doxygen 1.3.6-20040222