Classes | Functions

mln::geom::internal Namespace Reference

Classes

struct  complex_geometry_data
 The data stored in a complex_geometry object. More...

Functions

template<typename W >
unsigned delta_dispatch (trait::window::support::any, trait::window::definition::any, const W &win)
template<typename W >
unsigned delta_dispatch (trait::window::support::regular, trait::window::definition::varying, const W &win)
template<typename W >
unsigned delta_dispatch (trait::window::support::regular, trait::window::definition::any, const W &win)
void diagonalize_curv (const algebra::vec< 3, float > &old_u, const algebra::vec< 3, float > &old_v, float ku, float kuv, float kv, const algebra::vec< 3, float > &new_norm, algebra::vec< 3, float > &pdir1, algebra::vec< 3, float > &pdir2, float &k1, float &k2)
 Given a curvature tensor, find principal directions and curvatures.
template<typename I >
mln::trait::concrete< I >::ret horizontal_symmetry_dispatch (trait::image::value_alignment::with_grid, trait::image::value_storage::one_block, trait::image::value_access::direct, const Image< I > &input)
template<typename I >
mln::trait::concrete< I >::ret horizontal_symmetry_dispatch (const Image< I > &input)
template<typename I >
mln::trait::concrete< I >::ret horizontal_symmetry_dispatch (trait::image::value_alignment::any, trait::image::value_storage::any, trait::image::value_access::any, const Image< I > &input)
void proj_curv (const algebra::vec< 3, float > &old_u, const algebra::vec< 3, float > &old_v, float old_ku, float old_kuv, float old_kv, const algebra::vec< 3, float > &new_u, const algebra::vec< 3, float > &new_v, float &new_ku, float &new_kuv, float &new_kv)
void rot_coord_sys (const algebra::vec< 3, float > &old_u, const algebra::vec< 3, float > &old_v, const algebra::vec< 3, float > &new_norm, algebra::vec< 3, float > &new_u, algebra::vec< 3, float > &new_v)
 Rotate a coordinate system to be perpendicular to the given normal.
template<typename I >
mln::trait::concrete< I >::ret vertical_symmetry_dispatch (trait::image::value_alignment::any, trait::image::value_storage::any, trait::image::value_access::any, const Image< I > &input)
template<typename I >
mln::trait::concrete< I >::ret vertical_symmetry_dispatch (trait::image::value_alignment::with_grid, trait::image::value_storage::one_block, trait::image::value_access::direct, const Image< I > &input)
template<typename I >
mln::trait::concrete< I >::ret vertical_symmetry_dispatch (const Image< I > &input)

static unsigned next (unsigned i)
 i + 1 and i - 1 modulo 3
static unsigned prev (unsigned i)

Function Documentation

template<typename W >
unsigned mln::geom::internal::delta_dispatch ( trait::window::support::any  ,
trait::window::definition::any  ,
const W &  win 
)

Definition at line 65 of file delta.hh.

Referenced by mln::geom::delta().

template<typename W >
unsigned mln::geom::internal::delta_dispatch ( trait::window::support::regular  ,
trait::window::definition::any  ,
const W &  win 
)

Definition at line 83 of file delta.hh.

template<typename W >
unsigned mln::geom::internal::delta_dispatch ( trait::window::support::regular  ,
trait::window::definition::varying  ,
const W &  win 
)

Definition at line 74 of file delta.hh.

void mln::geom::internal::diagonalize_curv ( const algebra::vec< 3, float > &  old_u,
const algebra::vec< 3, float > &  old_v,
float  ku,
float  kuv,
float  kv,
const algebra::vec< 3, float > &  new_norm,
algebra::vec< 3, float > &  pdir1,
algebra::vec< 3, float > &  pdir2,
float &  k1,
float &  k2 
) [inline]

Given a curvature tensor, find principal directions and curvatures.

Makes sure that pdir1 and pdir2 are perpendicular to normal.

Definition at line 428 of file misc.hh.

References rot_coord_sys().

Referenced by mln::geom::mesh_curvature().

template<typename I >
mln::trait::concrete< I >::ret mln::geom::internal::horizontal_symmetry_dispatch ( const Image< I > &  input  ) 

Definition at line 155 of file horizontal_symmetry.hh.

References horizontal_symmetry_dispatch().

template<typename I >
mln::trait::concrete< I >::ret mln::geom::internal::horizontal_symmetry_dispatch ( trait::image::value_alignment::any  ,
trait::image::value_storage::any  ,
trait::image::value_access::any  ,
const Image< I > &  input 
)
template<typename I >
mln::trait::concrete< I >::ret mln::geom::internal::horizontal_symmetry_dispatch ( trait::image::value_alignment::with_grid  ,
trait::image::value_storage::one_block  ,
trait::image::value_access::direct  ,
const Image< I > &  input 
)
static unsigned mln::geom::internal::next ( unsigned  i  )  [inline, static]

i + 1 and i - 1 modulo 3

Defined as macros in Trimesh.

define NEXT(i) ((i)<2 ? (i)+1 : (i)-2) define PREV(i) ((i)>0 ? (i)-1 : (i)+2)

According to Trimesh doc,

``This way of computing it tends to be faster than using ''

but I (Roland) just can't believe it... We should profile some code first.

Definition at line 365 of file misc.hh.

Referenced by mln::geom::mesh_curvature().

static unsigned mln::geom::internal::prev ( unsigned  i  )  [inline, static]

Definition at line 366 of file misc.hh.

Referenced by mln::geom::mesh_curvature().

void mln::geom::internal::proj_curv ( const algebra::vec< 3, float > &  old_u,
const algebra::vec< 3, float > &  old_v,
float  old_ku,
float  old_kuv,
float  old_kv,
const algebra::vec< 3, float > &  new_u,
const algebra::vec< 3, float > &  new_v,
float &  new_ku,
float &  new_kuv,
float &  new_kv 
) [inline]

Definition at line 404 of file misc.hh.

References rot_coord_sys().

Referenced by mln::geom::mesh_curvature().

void mln::geom::internal::rot_coord_sys ( const algebra::vec< 3, float > &  old_u,
const algebra::vec< 3, float > &  old_v,
const algebra::vec< 3, float > &  new_norm,
algebra::vec< 3, float > &  new_u,
algebra::vec< 3, float > &  new_v 
) [inline]

Rotate a coordinate system to be perpendicular to the given normal.

Definition at line 373 of file misc.hh.

Referenced by diagonalize_curv(), and proj_curv().

template<typename I >
mln::trait::concrete< I >::ret mln::geom::internal::vertical_symmetry_dispatch ( trait::image::value_alignment::with_grid  ,
trait::image::value_storage::one_block  ,
trait::image::value_access::direct  ,
const Image< I > &  input 
)
template<typename I >
mln::trait::concrete< I >::ret mln::geom::internal::vertical_symmetry_dispatch ( const Image< I > &  input  ) 

Definition at line 157 of file vertical_symmetry.hh.

References vertical_symmetry_dispatch().

template<typename I >
mln::trait::concrete< I >::ret mln::geom::internal::vertical_symmetry_dispatch ( trait::image::value_alignment::any  ,
trait::image::value_storage::any  ,
trait::image::value_access::any  ,
const Image< I > &  input 
)