oln::morpher::super_border_morpher< SrcType, BehaviorType, Exact > Class Template Reference

Abstract border morpher class used for code factorization. More...

#include <border_morpher.hh>

Inheritance diagram for oln::morpher::super_border_morpher< SrcType, BehaviorType, Exact >:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef super_border_morpher<
SrcType, BehaviorType, Exact > 
self_type
 The self type.
typedef image_id< self_type
>::exact_type 
exact_type
 The exact type of the morpher.
typedef abstract::generic_morpher<
SrcType, Exact > 
super_type
 The upper class.
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.

Public Member Functions

const size_type size () const
 Return the size (different from the original picture).
const dpoint_type get_dp () const
 Return the point (-width, -width, ...).
const BehaviorType get_behavior () const
 Return the behavior of the border.
const coord get_width () const
 Return width, the width of the border.

Static Public Member Functions

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

Protected Member Functions

 super_border_morpher (const SrcType &ima, const coord width, const BehaviorType &be)
 Default constructor.
 super_border_morpher ()
 Empty constructor.

Protected Attributes

const coord width
 The width of the border.
const BehaviorType be
 The behavior of the border.
size_type size_
dpoint_type dp_

Detailed Description

template<class SrcType, class BehaviorType, class Exact>
class oln::morpher::super_border_morpher< SrcType, BehaviorType, Exact >

Abstract border morpher class used for code factorization.

Definition at line 94 of file border_morpher.hh.


Constructor & Destructor Documentation

template<class SrcType, class BehaviorType, class Exact>
oln::morpher::super_border_morpher< SrcType, BehaviorType, Exact >::super_border_morpher ( const SrcType &  ima,
const coord  width,
const BehaviorType &  be 
) [inline, protected]

Default constructor.

Definition at line 115 of file border_morpher.hh.

00118         : super_type(ima), width(width), be(be)
00119       {
00120         be.adapt_border(ima, width + this->get_ima().border());
00121         for (unsigned i = 0; i < image_id<exact_type>::dim; ++i)
00122         {
00123           size_.nth(i) = this->get_ima().size().nth(i) + 2 * width;
00124           dp_.nth(i) = -width;
00125         }
00126         size_.border() = this->get_ima().size().border();
00127       }

template<class SrcType, class BehaviorType, class Exact>
oln::morpher::super_border_morpher< SrcType, BehaviorType, Exact >::super_border_morpher (  )  [inline, protected]

Empty constructor.

Needed by mlc_hierarchy::any_with_diamond.

Definition at line 139 of file border_morpher.hh.

00140         : super_type(), width(0), be()
00141       {}


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