aimstil  5.0.5
til::functor Namespace Reference

Classes

struct  Abs
 Absolute value. More...
 
struct  Add
 Addition functor. More...
 
struct  AddTo
 In-place addition functor. More...
 
struct  Assign
 Assignment functor. More...
 
struct  Call
 Function call functor. More...
 
struct  Cast
 Static cast functor. More...
 
struct  CastTo
 Static cast functor. More...
 
class  CastTo< AimsSurface< 3, Void >, T >
 
class  CastTo< AimsSurfaceTriangle, T >
 
class  CastTo< AimsVector< float, 3 >, numeric_array< float, 3 > >
 
class  CastTo< AimsVector< uint, 3 >, boost::array< size_t, 3 > >
 
class  CastTo< AimsVector< uint, 3 >, numeric_array< size_t, 3 > >
 
class  CastTo< boost::array< size_t, 3 >, AimsVector< uint, 3 > >
 
class  CastTo< Mesh< TParam >, AimsSurface< 3, Void > >
 
class  CastTo< Mesh< TParam >, AimsSurfaceTriangle >
 
class  CastTo< numeric_array< float, 3 >, AimsVector< float, 3 > >
 
class  CastTo< numeric_array< size_t, 3 >, AimsVector< uint, 3 > >
 
struct  CastTo< numeric_array< T1, D >, numeric_array< T2, D > >
 
struct  CastTo< Point< T, D, TStorage >, X >
 By default, bounce any cast to the underlying container. More...
 
class  CastTo< Texture1d, TContainer >
 
struct  Convertor
 Two-step static class functor. More...
 
struct  Deref
 Dereferenciation functor. More...
 
struct  Diff
 Computes the Euclidean distance between two vectors. More...
 
struct  Diff2
 Computes the squared Euclidean distance between two vectors. More...
 
struct  Div
 Division functor. More...
 
struct  DivTo
 In-place division functor. More...
 
struct  Exp
 Exponential. More...
 
struct  LaplacianForce
 
struct  MeshNeighborhoodFunctor_label
 Label class for Mesh neighborhood functors. More...
 
struct  Mul
 Multiplication functor. More...
 
struct  Mul< Affine< T1 >, numeric_array< T2, 3 > >
 
struct  MulTo
 In-place multiplication functor. More...
 
struct  Normalize
 Normalize a vector with its Euclidean norm. More...
 
struct  Pow
 Square. More...
 
struct  Pow< T, 0 >
 
struct  Pow< T, 1 >
 
struct  Size
 
struct  SpringEnergy
 
struct  SpringForce
 Spring force functor. More...
 
struct  Sqrt
 Square root. More...
 
struct  Sub
 Subtraction functor. More...
 
struct  SubTo
 In-place subtraction functor. More...
 

Functions

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type add (T1 x, T2 y, T3 &z)
 The following functions are necessary for the coming functors. More...
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type sub (T1 x, T2 y, T3 &z)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type mul (T1 x, T2 y, T3 &z)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type div (T1 x, T2 y, T3 &z)
 
template<typename TParam , typename T >
boost::enable_if< boost::is_pointer< typename TParam::FaceIndex::value_type > >::type convertAimsMesh (Mesh< TParam > &mesh, const T &aimsmesh)
 
template<typename TParam , typename T >
boost::disable_if< boost::is_pointer< typename TParam::FaceIndex::value_type > >::type convertAimsMesh (Mesh< TParam > &mesh, const T &aimsmesh)
 
template<typename TParam , typename T >
boost::enable_if< boost::is_pointer< typename TParam::FaceIndex::value_type > >::type convertAimsMesh (T &aimsmesh, const Mesh< TParam > &mesh)
 
template<typename TParam , typename T >
boost::disable_if< boost::is_pointer< typename TParam::FaceIndex::value_type > >::type convertAimsMesh (T &aimsmesh, const Mesh< TParam > &mesh)
 
template<typename TPrecision , typename TVector3D >
TPrecision diff2 (const TVector3D &v1, const TVector3D &v2)
 Computes the squared Euclidean distance between two vectors. More...
 
template<typename TPrecision , typename TVector3D >
TPrecision diff (const TVector3D &v1, const TVector3D &v2)
 Computes the Euclidean distance between two vectors. More...
 

Function Documentation

◆ add()

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits<T1>::is_specialized && std::numeric_limits<T2>::is_specialized>::type til::functor::add ( T1  x,
T2  y,
T3 &  z 
)
inline

The following functions are necessary for the coming functors.

They should probably be the only cases when those ternary functors (that are really doing two things: operate THEN assign) are simply a call to z = x OP y.

Definition at line 21 of file basicFunctors.h.

◆ convertAimsMesh() [1/4]

template<typename TParam , typename T >
boost::enable_if<boost::is_pointer<typename TParam::FaceIndex::value_type> >::type til::functor::convertAimsMesh ( Mesh< TParam > &  mesh,
const T &  aimsmesh 
)

Definition at line 668 of file aims_wrap.h.

References til::detail::convert_mesh_2().

◆ convertAimsMesh() [2/4]

template<typename TParam , typename T >
boost::disable_if<boost::is_pointer<typename TParam::FaceIndex::value_type> >::type til::functor::convertAimsMesh ( Mesh< TParam > &  mesh,
const T &  aimsmesh 
)

Definition at line 675 of file aims_wrap.h.

References til::detail::convert_aimsmeshTomesh1().

◆ convertAimsMesh() [3/4]

template<typename TParam , typename T >
boost::enable_if<boost::is_pointer<typename TParam::FaceIndex::value_type> >::type til::functor::convertAimsMesh ( T &  aimsmesh,
const Mesh< TParam > &  mesh 
)

Definition at line 683 of file aims_wrap.h.

References til::detail::convert_mesh_3().

◆ convertAimsMesh() [4/4]

template<typename TParam , typename T >
boost::disable_if<boost::is_pointer<typename TParam::FaceIndex::value_type> >::type til::functor::convertAimsMesh ( T &  aimsmesh,
const Mesh< TParam > &  mesh 
)

◆ diff()

template<typename TPrecision , typename TVector3D >
TPrecision til::functor::diff ( const TVector3D &  v1,
const TVector3D &  v2 
)
inline

Computes the Euclidean distance between two vectors.

Definition at line 250 of file miscUtils.h.

References til::sqrt().

◆ diff2()

template<typename TPrecision , typename TVector3D >
TPrecision til::functor::diff2 ( const TVector3D &  v1,
const TVector3D &  v2 
)
inline

Computes the squared Euclidean distance between two vectors.

Definition at line 243 of file miscUtils.h.

References til::norm2().

◆ div()

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits<T1>::is_specialized && std::numeric_limits<T2>::is_specialized>::type til::functor::div ( T1  x,
T2  y,
T3 &  z 
)
inline

Definition at line 54 of file basicFunctors.h.

◆ mul()

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits<T1>::is_specialized && std::numeric_limits<T2>::is_specialized>::type til::functor::mul ( T1  x,
T2  y,
T3 &  z 
)
inline

Definition at line 43 of file basicFunctors.h.

◆ sub()

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits<T1>::is_specialized && std::numeric_limits<T2>::is_specialized>::type til::functor::sub ( T1  x,
T2  y,
T3 &  z 
)
inline

Definition at line 32 of file basicFunctors.h.