oln::morpho::attr::ball_parent_change< I, Exact > Class Template Reference

Inheritance diagram for oln::morpho::attr::ball_parent_change< I, Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::morpho::attr::ball_parent_change< I, Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ball_parent_change<
I, Exact > 
self_type
typedef oln::abstract::image<
typename mlc::exact< I
>::ret > 
im_type
typedef mlc::exact_vt< self_type,
Exact >::ret 
exact_type
typedef oln::morpho::attr::attr_traits<
exact_type >::value_type 
value_type
typedef oln::morpho::attr::attr_traits<
exact_type >::env_type 
env_type
typedef oln::morpho::attr::attr_traits<
exact_type >::lambda_type 
lambda_type
typedef mlc::exact< I >::ret::value_type pts_type
 should be list <?>
typedef pts_type::const_iterator cst_iter_type
 const iterator on Point vector.
typedef pts_type::value_type point_type
 Point type associated to im_type.
typedef mlc::exact< point_type
>::ret::dpoint_type 
dpoint_type
 Dpoint type associated to im_type.

Public Member Functions

 ball_parent_change ()
 Constructor.
 ball_parent_change (const lambda_type &lambda)
 lambda_type Constructor.
template<typename IM>
 ball_parent_change (const oln::abstract::image< IM > &, const typename mlc::exact< IM >::ret::point_type &p, const env_type &e)
 Image Constructor.
const value_typegetValue () const
 Accessor to value_.
const pts_typegetPts () const
 Accessor to pts_.
const value_typegetValue_impl () const
 Implementation of getValue().
const pts_typegetPts_impl () const
 Implementation of getValue().
void pe_impl (const self_type &rhs)
 += operator implementation.
bool less_impl (const lambda_type &lambda) const
 "<" operator implementation.
bool ne_impl (const lambda_type &lambda) const
 != operator implementation.

Protected Member Functions

void compute_value ()

Protected Attributes

value_type value_
pts_type points_

Detailed Description

template<class I, class Exact = mlc::final>
class oln::morpho::attr::ball_parent_change< I, Exact >

Definition at line 556 of file morpho/attributes.hh.


Constructor & Destructor Documentation

template<class I, class Exact = mlc::final>
oln::morpho::attr::ball_parent_change< I, Exact >::ball_parent_change (  )  [inline]

Constructor.

Dispatch to Dad constructor.

Definition at line 573 of file morpho/attributes.hh.

00573                             : value_(ntg_zero_val(value_type)), points_()
00574         {
00575         };

template<class I, class Exact = mlc::final>
oln::morpho::attr::ball_parent_change< I, Exact >::ball_parent_change ( const lambda_type lambda  )  [inline]

lambda_type Constructor.

Dispatch to Dad constructor.

Definition at line 582 of file morpho/attributes.hh.

00582                                                      : value_(lambda), points_()
00583         {
00584         };

template<class I, class Exact = mlc::final>
template<typename IM>
oln::morpho::attr::ball_parent_change< I, Exact >::ball_parent_change ( const oln::abstract::image< IM > &  ,
const typename mlc::exact< IM >::ret::point_type &  p,
const env_type e 
) [inline]

Image Constructor.

Dispatch to Dad constructor but substitute image argument with the image contained in the environment.

Definition at line 593 of file morpho/attributes.hh.

References oln::morpho::attr::ball_parent_change< I, Exact >::points_.

00595                                              : points_()//: super_type(/*e.getImage(), */e.getPoint(p), e)
00596         {
00597           std::copy(e.getParent()[p].begin(),
00598                     e.getParent()[p].end(),
00599                     std::back_inserter(points_));
00600         }


Member Function Documentation

template<class I, class Exact = mlc::final>
const value_type& oln::morpho::attr::ball_parent_change< I, Exact >::getValue (  )  const [inline]

Accessor to value_.

Virtual method.

See also:
getValue_impl()

Definition at line 608 of file morpho/attributes.hh.

00609           {
00610             mlc_dispatch(getValue)();
00611           };

template<class I, class Exact = mlc::final>
const pts_type& oln::morpho::attr::ball_parent_change< I, Exact >::getPts (  )  const [inline]

Accessor to pts_.

Virtual method.

See also:
getPts_impl()

Definition at line 620 of file morpho/attributes.hh.

00621           {
00622             mlc_dispatch(getPts)();
00623           };

template<class I, class Exact = mlc::final>
const value_type& oln::morpho::attr::ball_parent_change< I, Exact >::getValue_impl (  )  const [inline]

Implementation of getValue().

Override this method in order to provide a new version of getValue().

Warning:
Do not call this method, use getValue() instead.

Definition at line 634 of file morpho/attributes.hh.

References oln::morpho::attr::ball_parent_change< I, Exact >::value_.

00635           {
00636             return value_;
00637           };

template<class I, class Exact = mlc::final>
const pts_type& oln::morpho::attr::ball_parent_change< I, Exact >::getPts_impl (  )  const [inline]

Implementation of getValue().

Override this method in order to provide a new version of getPts().

Warning:
Do not call this method, use getPts() instead.

Definition at line 647 of file morpho/attributes.hh.

References oln::morpho::attr::ball_parent_change< I, Exact >::points_.

00648           {
00649             return points_;
00650           };

template<class I, class Exact = mlc::final>
void oln::morpho::attr::ball_parent_change< I, Exact >::pe_impl ( const self_type rhs  )  [inline]

+= operator implementation.

This is an implementation of the += operator. Override this method to provide a new implementation of this operator.

Warning:
This method SHOULDN'T directly be called.

Definition at line 659 of file morpho/attributes.hh.

References oln::morpho::attr::ball_parent_change< I, Exact >::compute_value(), oln::morpho::attr::ball_parent_change< I, Exact >::points_, and oln::morpho::attr::ball_parent_change< I, Exact >::value_.

00660           {
00661             precondition(points_.size() < (128 * 128 * 128 + 1));
00662             std::copy(rhs.getPts().begin(),
00663                       rhs.getPts().end(),
00664                       std::back_inserter(points_));
00665             compute_value();
00666             value_ = ntg::max(value_, rhs.getValue());
00667           };

template<class I, class Exact = mlc::final>
bool oln::morpho::attr::ball_parent_change< I, Exact >::less_impl ( const lambda_type lambda  )  const [inline]

"<" operator implementation.

This is an implementation of the += operator. Override this method to provide a new implementation of this operator.

Warning:
This method SHOULDN'T directly be called.

Definition at line 676 of file morpho/attributes.hh.

References oln::morpho::attr::ball_parent_change< I, Exact >::value_.

00677           {
00678             return value_ < lambda;
00679           };

template<class I, class Exact = mlc::final>
bool oln::morpho::attr::ball_parent_change< I, Exact >::ne_impl ( const lambda_type lambda  )  const [inline]

!= operator implementation.

This is an implementation of the += operator. Override this method to provide a new implementation of this operator.

Warning:
This method SHOULDN'T directly be called.

Definition at line 688 of file morpho/attributes.hh.

References oln::morpho::attr::ball_parent_change< I, Exact >::value_.

00689           {
00690             return lambda != value_;
00691           };


The documentation for this class was generated from the following file:
Generated on Tue Feb 20 20:28:48 2007 for Olena by  doxygen 1.5.1