mod_fem_viewer/FemViewer/inc/MathHelper.h File Reference

#include <limits>
#include <cmath>
#include <ostream>
#include <map>
#include <vector>
#include "fv_compiler.h"
#include <stdint.h>
Include dependency graph for MathHelper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FemViewer::fvmath::Vec3< T >
struct  FemViewer::fvmath::Vec4< T >
class  FemViewer::fvmath::Ray3< T >
class  FemViewer::fvmath::CVec3< T >
struct  FemViewer::fvmath::ComparatorSpec< TVertex >

Namespaces

namespace  FemViewer
namespace  FemViewer::fvmath

Defines

#define AVEC3(T)   union { struct { T x,y,z; }; T v[3]; }
#define AVEC4(T)   union { struct { T x,y,z,w; }; T v[4]; }

Typedefs

typedef Vec4< float > FemViewer::fvmath::Vec4f
typedef Vec3< int > FemViewer::fvmath::Vec3i
typedef Vec3< uint32_tFemViewer::fvmath::Vec3u
typedef Vec3< float > FemViewer::fvmath::Vec3f
typedef Vec3< double > FemViewer::fvmath::Vec3d
typedef Vec3d FemViewer::fvmath::Point3d
typedef CVec3< int > FemViewer::fvmath::CVec3i
typedef CVec3< uint32_tFemViewer::fvmath::CVec3u
typedef CVec3< float > FemViewer::fvmath::CVec3f
typedef CVec3< double > FemViewer::fvmath::CVec3d
typedef unsigned int FemViewer::fvmath::indextype

Functions

template<typename T >
std::ostream & FemViewer::fvmath::operator<< (std::ostream &os, const CVec3< T > &rhs)
template<typename T >
T FemViewer::fvmath::Norm (const Vec3< T > &v)
template<typename T >
T FemViewer::fvmath::Normalize (Vec3< T > &v)
template<typename T >
T FemViewer::fvmath::Normalize (Vec3< T > *v)
template<typename T >
CVec3< TFemViewer::fvmath::operator+ (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
CVec3< TFemViewer::fvmath::operator- (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
T FemViewer::fvmath::Dot (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
CVec3< TFemViewer::fvmath::operator* (const Vec3< T > &v, const Vec3< T > &u)
template<typename T >
void FemViewer::fvmath::Cross (const Vec3< T > *v, const Vec3< T > *u, Vec3< T > *out)
template<typename T >
CVec3< TFemViewer::fvmath::operator* (T alfa, const Vec3< T > &v)
template<typename T >
CVec3< TFemViewer::fvmath::operator* (const Vec3< T > &v, T alfa)
template<typename T >
CVec3< TFemViewer::fvmath::operator/ (const T &l, const Vec3< T > &rhs)
template<typename T >
Vec3< TFemViewer::fvmath::operator/ (const Vec3< T > &lhs, const Vec3< T > &rhs)
template<typename T >
bool FemViewer::fvmath::operator== (const CVec3< T > &lhs, const CVec3< T > &rhs)
template<typename T >
CVec3< TFemViewer::fvmath::MulM3x3V (const T mat3[9], const Vec3< T > &v)
template<typename T >
bool FemViewer::fvmath::ValueWithin (const T &v, const T &v1, const T &v2)
template<typename T >
bool FemViewer::fvmath::Compare (const T &arg1, const T &arg2)
template<>
bool FemViewer::fvmath::Compare< float > (const float &arg1, const float &arg2)
template<>
bool FemViewer::fvmath::Compare< double > (const double &arg1, const double &arg2)
template<>
bool FemViewer::fvmath::Compare< CVec3f > (const CVec3f &v1, const CVec3f &v2)
template<typename T >
bool FemViewer::fvmath::Less (const T &arg1, const T &arg2)
template<>
bool FemViewer::fvmath::Less (const double &arg1, const double &arg2)
template<typename T >
T FemViewer::fvmath::max (T arg1, T arg2)
template<typename T >
T FemViewer::fvmath::min (T arg1, T arg2)
template<typename T >
T FemViewer::fvmath::DotProd (const T v1[], const T v2[])
template<typename T >
const T FemViewer::fvmath::abs (const T &arg)
template<typename T >
T FemViewer::fvmath::clamp (const T &v, const T &lo, const T &hi)
int FemViewer::fvmath::log2 (const float f)
int FemViewer::fvmath::npow2 (const float f)
int FemViewer::fvmath::npow2 (unsigned int v)
template<typename T , typename U >
CVec3< TFemViewer::fvmath::GetNormal2Plane (const U *A, const U *B, const U *C)
int FemViewer::fvmath::roundup (const int value, const int div)
template<typename T >
bool FemViewer::fvmath::is_near (T v1, T v2, T margin)
template<typename TValue >
CVec3< TValue > FemViewer::fvmath::convertToRGB (TValue f)
template<typename TIndex , typename TVertex , typename TComp = ComparatorSpec<TVertex>>
bool FemViewer::fvmath::getSimilarVertexIndex (TVertex &packed, std::map< TVertex, TIndex, TComp > &VertexToOutIndex, TIndex &result)
template<typename TIndex , typename TVertex , typename TComp = ComparatorSpec<TVertex>>
void FemViewer::fvmath::removeDuplicates (std::vector< TVertex > &inout_vertices, std::vector< TIndex > &inout_indices)

Variables

const float FemViewer::fvmath::epsil = 0.000001f
const double FemViewer::fvmath::ref = 1.4142135623730950

Define Documentation

#define AVEC3 ( T   )     union { struct { T x,y,z; }; T v[3]; }
#define AVEC4 ( T   )     union { struct { T x,y,z,w; }; T v[4]; }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1