FemViewer::fvmath Namespace Reference

Classes

struct  Vec3
struct  Vec4
class  Ray3
class  CVec3
struct  ComparatorSpec
class  Interval

Typedefs

typedef Vec4< float > Vec4f
typedef Vec3< int > Vec3i
typedef Vec3< uint32_tVec3u
typedef Vec3< float > Vec3f
typedef Vec3< double > Vec3d
typedef Vec3d Point3d
typedef CVec3< int > CVec3i
typedef CVec3< uint32_tCVec3u
typedef CVec3< float > CVec3f
typedef CVec3< double > CVec3d
typedef unsigned int indextype

Functions

template<typename T >
std::ostream & operator<< (std::ostream &os, const CVec3< T > &rhs)
template<typename T >
T Norm (const Vec3< T > &v)
template<typename T >
T Normalize (Vec3< T > &v)
template<typename T >
T Normalize (Vec3< T > *v)
template<typename T >
CVec3< Toperator+ (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
CVec3< Toperator- (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
T Dot (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
CVec3< Toperator* (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
void Cross (const Vec3< T > *v, const Vec3< T > *u, Vec3< T > *out)
template<typename T >
CVec3< Toperator* (T alfa, const Vec3< T > &v)
template<typename T >
CVec3< Toperator* (const Vec3< T > &v, T alfa)
template<typename T >
CVec3< Toperator/ (const T &l, const Vec3< T > &rhs)
template<typename T >
Vec3< Toperator/ (const Vec3< T > &lhs, const Vec3< T > &rhs)
template<typename T >
bool operator== (const CVec3< T > &lhs, const CVec3< T > &rhs)
template<typename T >
CVec3< TMulM3x3V (const T mat3[9], const Vec3< T > &v)
template<typename T >
bool ValueWithin (const T &v, const T &v1, const T &v2)
template<typename T >
bool Compare (const T &arg1, const T &arg2)
template<>
bool Compare< float > (const float &arg1, const float &arg2)
template<>
bool Compare< double > (const double &arg1, const double &arg2)
template<>
bool Compare< CVec3f > (const CVec3f &v1, const CVec3f &v2)
template<typename T >
bool Less (const T &arg1, const T &arg2)
template<>
bool Less (const double &arg1, const double &arg2)
template<typename T >
T max (T arg1, T arg2)
template<typename T >
T min (T arg1, T arg2)
template<typename T >
T DotProd (const T v1[], const T v2[])
template<typename T >
const T abs (const T &arg)
template<typename T >
T clamp (const T &v, const T &lo, const T &hi)
int log2 (const float f)
int npow2 (const float f)
int npow2 (unsigned int v)
template<typename T , typename U >
CVec3< TGetNormal2Plane (const U *A, const U *B, const U *C)
int roundup (const int value, const int div)
template<typename T >
bool is_near (T v1, T v2, T margin)
template<typename TValue >
CVec3< TValue > convertToRGB (TValue f)
template<typename TIndex , typename TVertex , typename TComp = ComparatorSpec<TVertex>>
bool getSimilarVertexIndex (TVertex &packed, std::map< TVertex, TIndex, TComp > &VertexToOutIndex, TIndex &result)
template<typename TIndex , typename TVertex , typename TComp = ComparatorSpec<TVertex>>
void removeDuplicates (std::vector< TVertex > &inout_vertices, std::vector< TIndex > &inout_indices)
template<>
bool Compare< Vec3d > (const Vec3d &v1, const Vec3d &v2)
template<class T1 , class T2 >
bool Compare2 (const T1 &arg1, const T2 &arg2)
template<>
bool Compare2< Vec3d, double > (const Vec3d &v, const double &val)
template<>
bool Less (const float &arg1, const float &arg2)
template<typename T >
bool Subset (const Interval< T > &a, const Interval< T > &b)
template<typename T >
Interval< Tfabs (const Interval< T > &rhs)
template<typename T >
Interval< Toperator+ (const Interval< T > &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator/ (const Interval< T > &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator/ (const Interval< T > &lhs, const double &rhs)
template<typename T >
Interval< Toperator/ (const Interval< T > &lhs, const float &rhs)
template<typename T >
Interval< Toperator/ (const double &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator/ (const float &lhs, const Interval< T > &rhs)
template<typename T >
void Divide (const Interval< T > &lhs, const Interval< T > &rhs, Interval< T > &out1, Interval< T > &out2)
template<typename T >
void Divide (const T &lhs, const Interval< T > &rhs, Interval< T > &out1, Interval< T > &out2)
template<typename T >
void Divide (const Interval< T > &lhs, const T &rhs, Interval< T > &out1, Interval< T > &out2)
template<typename T >
Interval< Toperator+ (const Interval< T > &lhs, const double &rhs)
template<typename T >
Interval< Toperator+ (const double &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator+ (const Interval< T > &lhs, const float &rhs)
template<typename T >
Interval< Toperator+ (const float &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator- (const Interval< T > &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator- (const Interval< T > &lhs, const float &rhs)
template<typename T >
Interval< Toperator- (const Interval< T > &lhs, const double &rhs)
template<typename T >
Interval< Toperator- (const float &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator- (const double &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator- (const Interval< T > &rhs)
template<typename T >
Interval< Toperator* (const Interval< T > &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator* (const Interval< T > &lhs, const double &rhs)
template<typename T >
Interval< Toperator* (const double &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Toperator* (const Interval< T > &lhs, const float &rhs)
template<typename T >
Interval< Toperator* (const float &lhs, const Interval< T > &rhs)
template<typename T >
bool Overlaps (const Interval< T > &lhs, const Interval< T > &rhs)
template<typename T >
Interval< TIntersection (const Interval< T > &lhs, const Interval< T > &rhs)
template<typename T >
Interval< TUnion (const Interval< T > &lhs, const Interval< T > &rhs)
template<typename T >
Interval< Texp (const Interval< T > &rhs)
template<typename T >
std::ostream & operator<< (std::ostream &os, const Interval< T > &interval)

Variables

const float epsil = 0.000001f
const double ref = 1.4142135623730950
const double epsild = 0.00000000000001

Typedef Documentation

typedef unsigned int FemViewer::fvmath::indextype
typedef Vec3<double> FemViewer::fvmath::Vec3d

Function Documentation

template<typename T >
const T FemViewer::fvmath::abs ( const T arg  )  [inline]
template<typename T >
T FemViewer::fvmath::clamp ( const T v,
const T lo,
const T hi 
) [inline]

Here is the call graph for this function:

template<typename T >
bool FemViewer::fvmath::Compare ( const T arg1,
const T arg2 
) [inline]

Here is the caller graph for this function:

template<class T1 , class T2 >
bool FemViewer::fvmath::Compare2 ( const T1 &  arg1,
const T2 &  arg2 
) [inline]
template<>
bool FemViewer::fvmath::Compare2< Vec3d, double > ( const Vec3d v,
const double &  val 
) [inline]
template<>
bool FemViewer::fvmath::Compare< CVec3f > ( const CVec3f &  v1,
const CVec3f &  v2 
) [inline]
template<>
bool FemViewer::fvmath::Compare< double > ( const double &  arg1,
const double &  arg2 
) [inline]
template<>
bool FemViewer::fvmath::Compare< float > ( const float &  arg1,
const float &  arg2 
) [inline]
template<>
bool FemViewer::fvmath::Compare< Vec3d > ( const Vec3d v1,
const Vec3d v2 
) [inline]
template<typename TValue >
CVec3<TValue> FemViewer::fvmath::convertToRGB ( TValue  f  )  [inline]

Here is the call graph for this function:

template<typename T >
void FemViewer::fvmath::Cross ( const Vec3< T > *  v,
const Vec3< T > *  u,
Vec3< T > *  out 
) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T >
void FemViewer::fvmath::Divide ( const Interval< T > &  lhs,
const T rhs,
Interval< T > &  out1,
Interval< T > &  out2 
) [inline]

Here is the call graph for this function:

template<typename T >
void FemViewer::fvmath::Divide ( const T lhs,
const Interval< T > &  rhs,
Interval< T > &  out1,
Interval< T > &  out2 
) [inline]

Here is the call graph for this function:

template<typename T >
void FemViewer::fvmath::Divide ( const Interval< T > &  lhs,
const Interval< T > &  rhs,
Interval< T > &  out1,
Interval< T > &  out2 
) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T >
T FemViewer::fvmath::Dot ( const Vec3< T > &  v,
const Vec3< T > &  u 
) [inline]

Here is the caller graph for this function:

template<typename T >
T FemViewer::fvmath::DotProd ( const T  v1[],
const T  v2[] 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::exp ( const Interval< T > &  rhs  )  [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::fabs ( const Interval< T > &  rhs  )  [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T , typename U >
CVec3<T> FemViewer::fvmath::GetNormal2Plane ( const U *  A,
const U *  B,
const U *  C 
) [inline]

Here is the call graph for this function:

template<typename TIndex , typename TVertex , typename TComp = ComparatorSpec<TVertex>>
bool FemViewer::fvmath::getSimilarVertexIndex ( TVertex &  packed,
std::map< TVertex, TIndex, TComp > &  VertexToOutIndex,
TIndex &  result 
) [inline]

Here is the caller graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::Intersection ( const Interval< T > &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
bool FemViewer::fvmath::is_near ( T  v1,
T  v2,
T  margin 
) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

template<>
bool FemViewer::fvmath::Less ( const float &  arg1,
const float &  arg2 
) [inline]
template<>
bool FemViewer::fvmath::Less ( const double &  arg1,
const double &  arg2 
) [inline]
template<typename T >
bool FemViewer::fvmath::Less ( const T arg1,
const T arg2 
) [inline]
int FemViewer::fvmath::log2 ( const float  f  )  [inline]

Here is the caller graph for this function:

template<typename T >
T FemViewer::fvmath::max ( T  arg1,
T  arg2 
) [inline]

Here is the caller graph for this function:

template<typename T >
T FemViewer::fvmath::min ( T  arg1,
T  arg2 
) [inline]

Here is the caller graph for this function:

template<typename T >
CVec3<T> FemViewer::fvmath::MulM3x3V ( const T  mat3[9],
const Vec3< T > &  v 
) [inline]

Here is the call graph for this function:

template<typename T >
T FemViewer::fvmath::Norm ( const Vec3< T > &  v  )  [inline]

Here is the caller graph for this function:

template<typename T >
T FemViewer::fvmath::Normalize ( Vec3< T > *  v  )  [inline]

Here is the call graph for this function:

template<typename T >
T FemViewer::fvmath::Normalize ( Vec3< T > &  v  )  [inline]

Here is the caller graph for this function:

int FemViewer::fvmath::npow2 ( unsigned int  v  )  [inline]

Here is the call graph for this function:

int FemViewer::fvmath::npow2 ( const float  f  )  [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator* ( const float &  lhs,
const Interval< T > &  rhs 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::operator* ( const Interval< T > &  lhs,
const float &  rhs 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::operator* ( const double &  lhs,
const Interval< T > &  rhs 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::operator* ( const Interval< T > &  lhs,
const double &  rhs 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::operator* ( const Interval< T > &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
CVec3<T> FemViewer::fvmath::operator* ( const Vec3< T > &  v,
T  alfa 
) [inline]
template<typename T >
CVec3<T> FemViewer::fvmath::operator* ( T  alfa,
const Vec3< T > &  v 
) [inline]
template<typename T >
CVec3<T> FemViewer::fvmath::operator* ( const Vec3< T > &  v,
const Vec3< T > &  u 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::operator+ ( const float &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator+ ( const Interval< T > &  lhs,
const float &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator+ ( const double &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator+ ( const Interval< T > &  lhs,
const double &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator+ ( const Interval< T > &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
CVec3<T> FemViewer::fvmath::operator+ ( const Vec3< T > &  v,
const Vec3< T > &  u 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::operator- ( const Interval< T > &  rhs  )  [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator- ( const double &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator- ( const float &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator- ( const Interval< T > &  lhs,
const double &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator- ( const Interval< T > &  lhs,
const float &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator- ( const Interval< T > &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
CVec3<T> FemViewer::fvmath::operator- ( const Vec3< T > &  v,
const Vec3< T > &  u 
) [inline]
template<typename T >
Interval<T> FemViewer::fvmath::operator/ ( const float &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator/ ( const double &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator/ ( const Interval< T > &  lhs,
const float &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator/ ( const Interval< T > &  lhs,
const double &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::operator/ ( const Interval< T > &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
Vec3<T> FemViewer::fvmath::operator/ ( const Vec3< T > &  lhs,
const Vec3< T > &  rhs 
) [inline]
template<typename T >
CVec3<T> FemViewer::fvmath::operator/ ( const T l,
const Vec3< T > &  rhs 
) [inline]
template<typename T >
std::ostream& FemViewer::fvmath::operator<< ( std::ostream &  os,
const Interval< T > &  interval 
) [inline]

Here is the call graph for this function:

template<typename T >
std::ostream & FemViewer::fvmath::operator<< ( std::ostream &  os,
const CVec3< T > &  rhs 
) [inline]
template<typename T >
bool FemViewer::fvmath::operator== ( const CVec3< T > &  lhs,
const CVec3< T > &  rhs 
) [inline]
template<typename T >
bool FemViewer::fvmath::Overlaps ( const Interval< T > &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename TIndex , typename TVertex , typename TComp = ComparatorSpec<TVertex>>
void FemViewer::fvmath::removeDuplicates ( std::vector< TVertex > &  inout_vertices,
std::vector< TIndex > &  inout_indices 
) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

int FemViewer::fvmath::roundup ( const int  value,
const int  div 
) [inline]
template<typename T >
bool FemViewer::fvmath::Subset ( const Interval< T > &  a,
const Interval< T > &  b 
) [inline]

Here is the call graph for this function:

template<typename T >
Interval<T> FemViewer::fvmath::Union ( const Interval< T > &  lhs,
const Interval< T > &  rhs 
) [inline]

Here is the call graph for this function:

template<typename T >
bool FemViewer::fvmath::ValueWithin ( const T v,
const T v1,
const T v2 
) [inline]

Here is the caller graph for this function:


Variable Documentation

const float FemViewer::fvmath::epsil = 0.000001f
const double FemViewer::fvmath::epsild = 0.00000000000001
const double FemViewer::fvmath::ref = 1.4142135623730950
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1