$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::point3df Class Reference

#include <mln/core/alias/point3d.hh>

Public Member Functions

 point3df ()
template<typename C2 >
 point3df (const mln::algebra::vec< dim, C2 > &v)
 point3df (const mln::algebra::vec< dim, mln::def::coord > &v)
 point3df (mln::def::coord sli, mln::def::coord row, mln::def::coord col)
 point3df (const literal::origin_t &)
template<typename F >
 point3df (const Function_v2v< F > &f)
const C & col () const
C & col ()
mln::algebra::vec
< mln::grid::cube::dim,
mln::def::coordf > & 
hook_coord_ ()
const mln::def::coordflast_coord () const
mln::def::coordflast_coord ()
 operator typename internal::vec_of_point< mln::grid::cube, mln::def::coordf >::ret () const
point< mln::grid::cube,
mln::def::coordf > & 
operator+= (const delta &dp)
point< mln::grid::cube,
mln::def::coordf > & 
operator-= (const delta &dp)
const mln::def::coordfoperator[] (unsigned i) const
mln::def::coordfoperator[] (unsigned i)
const C & row () const
C & row ()
void set_all (mln::def::coordfc)
const C & sli () const
C & sli ()
h_vec to_h_vec () const
vec to_vec () const

Static Public Member Functions

static const point
< mln::grid::cube,
mln::def::coordf > & 
minus_infty ()
static const point
< mln::grid::cube,
mln::def::coordf > & 
plus_infty ()

Static Public Attributes

static const point
< mln::grid::cube,
mln::def::coordf
origin

Protected Attributes

mln::algebra::vec
< mln::grid::cube::dim,
mln::def::coordf
coord_

Public Types

enum  
typedef Gpoint< void > category
typedef mln::def::coordf coord
typedef dpoint
< mln::grid::cube,
mln::def::coordf
delta
typedef dpoint
< mln::grid::cube,
mln::def::coordf
dpsite
typedef E exact_t
typedef mln::grid::cube grid
typedef mln::algebra::h_vec
< mln::grid::cube::dim, float
h_vec
typedef point psite
typedef point site
typedef mln::algebra::vec
< mln::grid::cube::dim, float
vec

Related Functions

(Note that these are not member functions.)

template<typename P , typename D >
operator+ (const Gpoint< P > &p, const Gdpoint< D > &dp)
template<typename P , typename D >
P & operator+= (Gpoint< P > &p, const Gdpoint< D > &dp)
template<typename L , typename R >
L::delta operator- (const Gpoint< L > &lhs, const Gpoint< R > &rhs)
template<typename P , typename D >
P & operator-= (Gpoint< P > &p, const Gdpoint< D > &dp)
template<typename P , typename D >
operator/ (const Gpoint< P > &p, const value::scalar_< D > &dp)
template<typename P >
std::ostream & operator<< (std::ostream &ostr, const Gpoint< P > &p)
template<typename L , typename R >
bool operator== (const Gpoint< L > &lhs, const Gpoint< R > &rhs)

Detailed Description

Point defined on the 3D square grid with floating-point coordinates.

Definition at line 34 of file point3d.dox.

Constructor & Destructor Documentation

mln::point3df::point3df ( )

Constructor without argument.

template<typename C2 >
mln::point3df::point3df ( const mln::algebra::vec< dim, C2 > &  v)

Construct a 3D point from an algebra vector.

mln::point3df::point3df ( const mln::algebra::vec< dim, mln::def::coord > &  v)

Construct a 3D point from an algebra vector.

mln::point3df::point3df ( mln::def::coord  sli,
mln::def::coord  row,
mln::def::coord  col 
)

Construct a 3D point at slice sli, row row and column col.

mln::point3df::point3df ( const literal::origin_t )

Construct a 3D point at (0,0,0).

template<typename F >
mln::point3df::point3df ( const Function_v2v< F > &  f)

Coordinates are set by function f.

Member Function Documentation

template<typename C , typename E >
const C& mln::internal::mutable_coord_impl_< 3, C, E >::col ( ) const
inherited

Column index.

template<typename C , typename E >
C& mln::internal::mutable_coord_impl_< 3, C, E >::col ( )
inherited

Column index.

Return the underlying vector storing the coordinates.

const mln::def::coordf & mln::point< mln::grid::cube , mln::def::coordf >::last_coord ( ) const
inherited

Read-only access to the last coordinate.

mln::def::coordf & mln::point< mln::grid::cube , mln::def::coordf >::last_coord ( )
inherited

Read-write access to the last coordinate.

static const point<mln::grid::cube ,mln::def::coordf >& mln::point< mln::grid::cube , mln::def::coordf >::minus_infty ( )
staticinherited

Point with all coordinates set to the mininum value.

point<mln::grid::cube ,mln::def::coordf >& mln::point< mln::grid::cube , mln::def::coordf >::operator+= ( const delta dp)
inherited

Shifting by dp.

point<mln::grid::cube ,mln::def::coordf >& mln::point< mln::grid::cube , mln::def::coordf >::operator-= ( const delta dp)
inherited

Shifting by the inverse of dp.

const mln::def::coordf & mln::point< mln::grid::cube , mln::def::coordf >::operator[] ( unsigned  i) const
inherited

Read-only access to the i-th coordinate value.

Parameters
[in]iThe coordinate index.
Precondition
i < dim

Read-write access to the i-th coordinate value.

Parameters
[in]iThe coordinate index.
Precondition
i < dim
static const point<mln::grid::cube ,mln::def::coordf >& mln::point< mln::grid::cube , mln::def::coordf >::plus_infty ( )
staticinherited

Point with all coordinates set to the maximum value.

template<typename C , typename E >
const C& mln::internal::mutable_coord_impl_< 3, C, E >::row ( ) const
inherited

Row index.

template<typename C , typename E >
C& mln::internal::mutable_coord_impl_< 3, C, E >::row ( )
inherited

Row index.

void mln::point< mln::grid::cube , mln::def::coordf >::set_all ( mln::def::coordf  c)
inherited

Set all coordinates to the value c.

template<typename C , typename E >
const C& mln::internal::mutable_coord_impl_< 3, C, E >::sli ( ) const
inherited

Slice index.

template<typename C , typename E >
C& mln::internal::mutable_coord_impl_< 3, C, E >::sli ( )
inherited

Slice index.

h_vec mln::point< mln::grid::cube , mln::def::coordf >::to_h_vec ( ) const
inherited

Transform to point in homogene coordinate system.

vec mln::point< mln::grid::cube , mln::def::coordf >::to_vec ( ) const
inherited

Explicit conversion towards mln::algebra::vec.

Friends And Related Function Documentation

template<typename P , typename D >
P operator+ ( const Gpoint< P > &  p,
const Gdpoint< D > &  dp 
)
related

Add a delta-point rhs to a grid point lhs.

Parameters
[in]pA grid point.
[in]dpA delta-point.

The type of dp has to compatible with the type of p.

Returns
A point (temporary object).
\see mln::Gdpoint
template<typename P , typename D >
P & operator+= ( Gpoint< P > &  p,
const Gdpoint< D > &  dp 
)
related

Shift a point by a delta-point dp.

Parameters
[in,out]pThe targeted point.
[in]dpA delta-point.
Returns
A reference to the point p once translated by dp.
Precondition
The type of dp has to be compatible with the type of p.
template<typename L , typename R >
L::delta operator- ( const Gpoint< L > &  lhs,
const Gpoint< R > &  rhs 
)
related

Difference between a couple of grid point lhs and rhs.

Parameters
[in]lhsA first grid point.
[in]rhsA second grid point.
Warning
There is no type promotion in Milena so the client has to make sure that both points are defined with the same type of coordinates.
Precondition
Both lhs and rhs have to be defined on the same topology and with the same type of coordinates; otherwise this test does not compile.
Postcondition
The result, dp, is such as lhs == rhs + dp.
Returns
A delta point (temporary object).
\see mln::Gdpoint
template<typename P , typename D >
P & operator-= ( Gpoint< P > &  p,
const Gdpoint< D > &  dp 
)
related

Shift a point by the negate of a delta-point dp.

Parameters
[in,out]pThe targeted point.
[in]dpA delta-point.
Returns
A reference to the point p once translated by - dp.
Precondition
The type of dp has to be compatible with the type of p.
template<typename P , typename D >
P operator/ ( const Gpoint< P > &  p,
const value::scalar_< D > &  dp 
)
related

Divise a point by a scalar s.

Parameters
[in,out]pThe targeted point.
[in]dpA scalar.
Returns
A reference to the point p once divised by s.
template<typename P >
std::ostream & operator<< ( std::ostream &  ostr,
const Gpoint< P > &  p 
)
related

Print a grid point p into the output stream ostr.

Parameters
[in,out]ostrAn output stream.
[in]pA grid point.
Returns
The modified output stream ostr.
template<typename L , typename R >
bool operator== ( const Gpoint< L > &  lhs,
const Gpoint< R > &  rhs 
)
related

Equality comparison between a couple of grid point lhs and rhs.

Parameters
[in]lhsA first grid point.
[in]rhsA second grid point.
Precondition
Both lhs and rhs have to be defined on the same topology; otherwise this test does not compile.
Returns
True if both grid points have the same coordinates, otherwise false.

Member Data Documentation

Definition at line 200 of file point.hh.

Origin point (all coordinates are 0).

Definition at line 168 of file point.hh.

Member Typedef Documentation

template<typename E>
typedef Gpoint<void> mln::Gpoint< E >::category
inherited

Definition at line 124 of file gpoint.hh.

Coordinate associated type.

Definition at line 107 of file point.hh.

Delta associated type.

Definition at line 101 of file point.hh.

DPsite associated type.

Definition at line 104 of file point.hh.

template<typename E>
typedef E mln::Object< E >::exact_t
inherited

Definition at line 105 of file object.hh.

Grid associated type.

Definition at line 98 of file point.hh.

Algebra hexagonal vector (hvec) associated type.

Definition at line 113 of file point.hh.

Definition at line 89 of file point.hh.

Definition at line 88 of file point.hh.

Algebra vector (vec) associated type.

Definition at line 110 of file point.hh.

Member Enumeration Documentation

anonymous enum
inherited

Definition at line 95 of file point.hh.