#include <limits>
#include <cmath>
#include <ostream>
#include <map>
#include <vector>
#include "fv_compiler.h"
#include <stdint.h>
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_t > | FemViewer::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_t > | FemViewer::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< T > | FemViewer::fvmath::operator+ (const Vec3< T > &v, const Vec3< T > &u) |
template<typename T > | |
CVec3< T > | FemViewer::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< T > | FemViewer::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< T > | FemViewer::fvmath::operator* (T alfa, const Vec3< T > &v) |
template<typename T > | |
CVec3< T > | FemViewer::fvmath::operator* (const Vec3< T > &v, T alfa) |
template<typename T > | |
CVec3< T > | FemViewer::fvmath::operator/ (const T &l, const Vec3< T > &rhs) |
template<typename T > | |
Vec3< T > | FemViewer::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< T > | FemViewer::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< T > | FemViewer::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 |