#include <point.hh>
Public Types | |
enum | { dim = G::dim } |
typedef C | coord |
Coordinate associated type. | |
typedef dpoint< G, C > | delta |
Delta associated type. | |
typedef dpoint< G, C > | dpsite |
DPsite associated type. | |
typedef G | grid |
Grid associated type. | |
typedef algebra::h_vec< G::dim, float > | h_vec |
Algebra hexagonal vector (hvec) associated type. | |
typedef algebra::vec< G::dim, float > | vec |
Algebra vector (vec) associated type. | |
Public Member Functions | |
C & | last_coord () |
Read-write access to the last coordinate. | |
const C & | last_coord () const |
Read-only access to the last coordinate. | |
point< G, C > & | operator+= (const delta &dp) |
Shifting by dp . | |
point< G, C > & | operator-= (const delta &dp) |
Shifting by the inverse of dp. | |
C & | operator[] (unsigned i) |
Read-write access to the i-th coordinate value. | |
const C & | operator[] (unsigned i) const |
Read-only access to the i-th coordinate value. | |
template<typename F> | |
point (const Function_v2v< F > &f) | |
Constructor; coordinates are set by function f . | |
template<typename C2> | |
point (const algebra::vec< dim, C2 > &v) | |
Constructor from an algebra vector. | |
point () | |
Constructor without argument. | |
void | set_all (C c) |
Set all coordinates to the value c . | |
h_vec | to_h_vec () const |
Transform to point in homogene coordinate system. | |
vec | to_vec () const |
Explicit conversion towards mln::algebra::vec. | |
point (const literal::origin_t &) | |
Constructors/assignments with literals. | |
point (C ind) | |
Static Public Member Functions | |
static const point< G, C > & | minus_infty () |
Point with all coordinates set to the mininum value. | |
static const point< G, C > & | plus_infty () |
Point with all coordinates set to the maximum value. | |
Static Public Attributes | |
static const point< G, C > | origin = all_to(0) |
Origin point (all coordinates are 0). | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename P, typename D> | |
P | operator+ (const Gpoint< P > &p, const Gdpoint< D > &dp) |
Add a delta-point rhs to a grid point lhs . | |
template<typename P, typename D> | |
P & | operator+= (Gpoint< P > &p, const Gdpoint< D > &dp) |
Shift a point by a delta-point dp . | |
template<typename L, typename R> | |
L::delta | operator- (const Gpoint< L > &lhs, const Gpoint< R > &rhs) |
Difference between a couple of grid point lhs and rhs . | |
template<typename P, typename D> | |
P & | operator-= (Gpoint< P > &p, const Gdpoint< D > &dp) |
Shift a point by the negate of a delta-point dp . | |
template<typename P, typename D> | |
P | operator/ (const Gpoint< P > &p, const value::scalar_< D > &dp) |
Divise a point by a scalar s . | |
template<typename P> | |
std::ostream & | operator<< (std::ostream &ostr, const Gpoint< P > &p) |
Print a grid point p into the output stream ostr . | |
template<typename L, typename R> | |
bool | operator== (const Gpoint< L > &lhs, const Gpoint< R > &rhs) |
Equality comparison between a couple of grid point lhs and rhs . |
Parameters are n
the dimension of the space and C
the coordinate type in this space.
typedef C mln::point< G, C >::coord |
Coordinate associated type.
typedef dpoint<G,C> mln::point< G, C >::delta |
Delta associated type.
typedef dpoint<G,C> mln::point< G, C >::dpsite |
DPsite associated type.
typedef G mln::point< G, C >::grid |
Grid associated type.
typedef algebra::h_vec<G::dim, float> mln::point< G, C >::h_vec |
Algebra hexagonal vector (hvec) associated type.
typedef algebra::vec<G::dim, float> mln::point< G, C >::vec |
Algebra vector (vec) associated type.
anonymous enum |
mln::point< G, C >::point | ( | ) | [inline] |
Constructor without argument.
mln::point< G, C >::point | ( | const algebra::vec< dim, C2 > & | v | ) | [inline] |
mln::point< G, C >::point | ( | C | ind | ) | [inline, explicit] |
Constructors with different numbers of arguments (coordinates) w.r.t. the dimension.
mln::point< G, C >::point | ( | const literal::origin_t & | ) | [inline] |
Constructors/assignments with literals.
mln::point< G, C >::point | ( | const Function_v2v< F > & | f | ) | [inline] |
C & mln::point< G, C >::last_coord | ( | ) | [inline] |
const C & mln::point< G, C >::last_coord | ( | ) | const [inline] |
Read-only access to the last coordinate.
References mln::point< G, C >::dim.
Referenced by mln::p_run< P >::end(), mln::p_run< P >::operator[](), and mln::debug::put_word().
const point< G, C > & mln::point< G, C >::minus_infty | ( | ) | [inline, static] |
point< G, C > & mln::point< G, C >::operator+= | ( | const delta & | dp | ) | [inline] |
point< G, C > & mln::point< G, C >::operator-= | ( | const delta & | dp | ) | [inline] |
C & mln::point< G, C >::operator[] | ( | unsigned | i | ) | [inline] |
Read-write access to the i-th
coordinate value.
[in] | i | The coordinate index. |
i
< dim
References mln::point< G, C >::dim.
const C & mln::point< G, C >::operator[] | ( | unsigned | i | ) | const [inline] |
Read-only access to the i-th
coordinate value.
[in] | i | The coordinate index. |
i
< dim
References mln::point< G, C >::dim.
const point< G, C > & mln::point< G, C >::plus_infty | ( | ) | [inline, static] |
void mln::point< G, C >::set_all | ( | C | c | ) | [inline] |
Set all coordinates to the value c
.
point< G, C >::h_vec mln::point< G, C >::to_h_vec | ( | ) | const [inline] |
point< G, C >::vec mln::point< G, C >::to_vec | ( | ) | const [inline] |
Explicit conversion towards mln::algebra::vec.
References mln::point< G, C >::dim.
Referenced by mln::io::dicom::load().
L::delta operator- | ( | const Gpoint< L > & | lhs, | |
const Gpoint< R > & | rhs | |||
) | [related, inherited] |
Difference between a couple of grid point lhs
and rhs
.
lhs
and rhs
have to be defined on the same topology and with the same type of coordinates; otherwise this test does not compile.dp
, is such as lhs
== rhs
+ dp
.P operator/ | ( | const Gpoint< P > & | p, | |
const value::scalar_< D > & | dp | |||
) | [related, inherited] |
std::ostream & operator<< | ( | std::ostream & | ostr, | |
const Gpoint< P > & | p | |||
) | [related, inherited] |
Print a grid point p
into the output stream ostr
.
ostr
. References mln::debug::format().
bool operator== | ( | const Gpoint< L > & | lhs, | |
const Gpoint< R > & | rhs | |||
) | [related, inherited] |
const point< G, C > mln::point< G, C >::origin = all_to(0) [inline, static] |
Origin point (all coordinates are 0).