oln::abstract::neighborhoodnd< Exact > Struct Template Reference

Neighborhood N dimensions. More...

#include <neighborhoodnd.hh>

Inheritance diagram for oln::abstract::neighborhoodnd< Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::abstract::neighborhoodnd< Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef window_base< neighborhood<
Exact >, Exact > 
super_type
 Super type.

typedef neighborhoodnd< Exact > self_type
 Self type.

typedef Exact exact_type
 Exact type.

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


Static Public Member Functions

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


Protected Member Functions

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


 neighborhoodnd ()
 Construct a neighborhood N dimensions.

 neighborhoodnd (unsigned size)
 Construct a neighborhood of 'size' elements.
  • size The number of elements to reserve for the neighborhood.



Friends

class neighborhood< exact_type >

Detailed Description

template<class Exact>
struct oln::abstract::neighborhoodnd< Exact >

Neighborhood N dimensions.

It looks like structuring elements but here, when you add an element, you add its opposite: $$\forall d \in N, -d \in N$$

Points have N dimensions.

Definition at line 63 of file neighborhoodnd.hh.


Member Typedef Documentation

template<class Exact>
typedef struct_elt_traits<Exact>::dpoint_type oln::abstract::neighborhoodnd< Exact >::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::window_base< neighborhood< Exact >, Exact >.

Reimplemented in oln::neighborhood1d, oln::neighborhood2d, and oln::neighborhood3d.

Definition at line 75 of file neighborhoodnd.hh.


Member Function Documentation

template<class Exact>
exact_type& oln::abstract::neighborhoodnd< Exact >::add_ const dpoint_type dp  )  [inline, protected]
 

Add a point to the neighborhood.

  • dp The new point.

Precondition:
!dp.is_centered().
Add a new member to the neighborhood.

Definition at line 96 of file neighborhoodnd.hh.

00097       {
00098         precondition( !dp.is_centered() );
00099         this->centered_ = true;
00100         if (!(has_(dp)))
00101           this->dp_.push_back(dp);
00102         delta_update(dp);
00103         return this->exact();
00104       }


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