Classes | |
struct | complex_geometry_data |
The data stored in a complex_geometry object. More... | |
Functions | |
template<typename W> | |
unsigned | delta_dispatch (trait::window::support::regular, 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::any, 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. | |
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. | |
static unsigned | next (unsigned i) |
i + 1 and i - 1 modulo 3 | |
static unsigned | prev (unsigned i) |
unsigned mln::geom::internal::delta_dispatch | ( | trait::window::support::regular | , | |
trait::window::definition::any | , | |||
const W & | win | |||
) | [inline] |
unsigned mln::geom::internal::delta_dispatch | ( | trait::window::support::regular | , | |
trait::window::definition::varying | , | |||
const W & | win | |||
) | [inline] |
unsigned mln::geom::internal::delta_dispatch | ( | trait::window::support::any | , | |
trait::window::definition::any | , | |||
const W & | win | |||
) | [inline] |
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 430 of file misc.hh.
References rot_coord_sys().
Referenced by mln::geom::mesh_curvature().
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 367 of file misc.hh.
Referenced by mln::geom::mesh_curvature().
static unsigned mln::geom::internal::prev | ( | unsigned | i | ) | [inline, static] |
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 406 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 375 of file misc.hh.
Referenced by diagonalize_curv(), and proj_curv().