oln::morpher::piece_morpher< SrcType, Exact > Struct Template Reference

The default piece morpher class. More...

#include <piece_morpher.hh>

Inheritance diagram for oln::morpher::piece_morpher< SrcType, Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::morpher::piece_morpher< SrcType, Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef piece_morpher< SrcType,
Exact > 
self_type
 The self type.
typedef image_id< self_type
>::exact_type 
exact_type
 The exact type of the morpher.
typedef super_piece_morpher<
SrcType, exact_type
super_type
 The upper class.
typedef image_id< exact_type
>::point_type 
point_type
 The morpher point type.
typedef image_id< exact_type
>::dpoint_type 
dpoint_type
 The morpher dpoint type.
typedef image_id< exact_type
>::size_type 
size_type
 The morpher size type.
typedef image_id< exact_type
>::value_type 
value_type
 The morpher value type.

Public Member Functions

 piece_morpher (const SrcType &ima, const dpoint_type p, const size_type s)
 Construct the piece morpher with an image ima.
 piece_morpher (const self_type &r)
 Construct the piece morpher with another piece morpher.
 piece_morpher ()
 Empty constructor.
value_typeat (const point_type &p)
 Return the stored value at the point.
const value_type at (const point_type &p) const
 Return the stored value at the point.
self_typeassign (self_type &rhs)
self_typeoperator= (SrcType &rhs)
 This operator= assigns rhs to the current image.

Static Public Member Functions

static std::string name ()
 Useful to debug.

Detailed Description

template<class SrcType, class Exact>
struct oln::morpher::piece_morpher< SrcType, Exact >

The default piece morpher class.

Using this class, a piece of picture is a picture.

See also:
oln::morpher::abstract::generic_morpher

oln::morpher::piece_morph

Definition at line 167 of file piece_morpher.hh.


Constructor & Destructor Documentation

template<class SrcType, class Exact>
oln::morpher::piece_morpher< SrcType, Exact >::piece_morpher (  )  [inline]

Empty constructor.

Needed by mlc_hierarchy::any_with_diamond.

Definition at line 198 of file piece_morpher.hh.

00199         : super_type()
00200       {}


Member Function Documentation

template<class SrcType, class Exact>
value_type& oln::morpher::piece_morpher< SrcType, Exact >::at ( const point_type p  )  [inline]

Return the stored value at the point.

Definition at line 208 of file piece_morpher.hh.

00209       {
00210         return const_cast<value_type &>
00211           ( const_cast<SrcType &>(this->ima_)[p + this->p_] );
00212       }

template<class SrcType, class Exact>
const value_type oln::morpher::piece_morpher< SrcType, Exact >::at ( const point_type p  )  const [inline]

Return the stored value at the point.

Definition at line 220 of file piece_morpher.hh.

00221       {
00222         return this->ima_[p + this->p_];
00223       }

template<class SrcType, class Exact>
self_type& oln::morpher::piece_morpher< SrcType, Exact >::assign ( self_type rhs  )  [inline]

Perform a shallow copy from the decorated image of rhs to the current decorated image. The points will be shared by the two images.

Definition at line 230 of file piece_morpher.hh.

00231       {
00232         oln_iter_type(SrcType)  it(rhs);
00233 
00234         for_all(it)
00235           this->at(it) = rhs[it];
00236         return this->exact();
00237       }


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