Classes | |
class | DummyPolarFunctor |
class | DynamicLegendre |
class | Legendre |
class | MagnitudoComparer |
class | MarsenneTwisterRNG |
struct | MAX_FACTORIAL |
struct | MAX_FACTORIAL< double > |
struct | MAX_FACTORIAL< float > |
struct | MAX_FACTORIAL< int > |
struct | MAX_FACTORIAL< long double > |
struct | MAX_FACTORIAL< short > |
class | Perlin |
class | Quadric |
class | RandomGenerator |
class | ScalingFactor |
class | SphericalHarmonics |
class | SubtractiveRingRNG |
Typedefs | |
typedef Quadric< double > | Quadricd |
typedef Quadric< float > | Quadricf |
typedef Quadric< int > | Quadrici |
typedef Quadric< short > | Quadrics |
typedef double | ScalarType |
Functions | |
float | Abs (const float v) |
double | Abs (const double v) |
float | Acos (const float v) |
double | Acos (const double v) |
float | Asin (const float v) |
double | Asin (const double v) |
float | Atan2 (const float v0, const float v1) |
double | Atan2 (const double v0, const double v1) |
double | box_muller (RandomGenerator &generator, double m, double s) |
template<class SCALAR > | |
SCALAR | Clamp (const SCALAR &val, const SCALAR &minval, const SCALAR &maxval) |
float | Cos (const float v) |
double | Cos (const double v) |
template<typename ScalarType > | |
ScalarType | Factorial (unsigned i) |
template<typename ScalarType > | |
ScalarType | factorial_table (unsigned i) |
template<> | |
double | factorial_table< double > (unsigned i) |
template<> | |
float | factorial_table< float > (unsigned i) |
template<> | |
int | factorial_table< int > (unsigned i) |
template<> | |
long double | factorial_table< long double > (unsigned i) |
template<class ScalarType , class GeneratorType > | |
vcg::Point3< ScalarType > | GenerateBarycentricUniform (GeneratorType &rnd) |
Generate the barycentric coords of a random point over a single face, with a uniform distribution over the triangle. It uses the parallelogram folding trick. | |
template<class ScalarType , class GeneratorType > | |
vcg::Point3< ScalarType > | GeneratePointInBox3Uniform (GeneratorType &rnd, const Box3< ScalarType > &bb) |
Generate a random point insidie a box with uniform distribution. | |
template<class ScalarType , class GeneratorType > | |
vcg::Point3< ScalarType > | GeneratePointInUnitBallUniform (GeneratorType &rnd) |
generate a point inside a unit sphere with uniform distribution | |
template<class ScalarType , class GeneratorType > | |
vcg::Point3< ScalarType > | GeneratePointOnUnitSphereUniform (GeneratorType &rnd) |
Generate a point over the surface of a unit sphere with uniform distribution This is the algorithm proposed by George Marsaglia [1] to generate a point over a unit sphere Independently generate V1 and V2, taken from a uniform distribution on (-1,1) such that S=(V1^2+V2^2)<1. | |
ScalarType | inproduct5 (const ScalarType a[5], const ScalarType b[5]) |
template<class T > | |
int | IsNAN (T t) |
template<class T > | |
const T & | Max (const T &a, const T &b, const T &c) |
template<class T > | |
const T & | Min (const T &a, const T &b, const T &c) |
void | normalize_vec3 (ScalarType v[3]) |
void | normalize_vec5 (ScalarType v[5]) |
void | outproduct5 (const ScalarType a[5], const ScalarType b[5], ScalarType r[5][5]) |
void | prod_matvec5 (const ScalarType m[5][5], const ScalarType v[5], ScalarType r[5]) |
void | prod_vecmat5 (ScalarType v[5], ScalarType m[5][5], ScalarType r[5]) |
template<typename T > | |
int | Sgn (T val) |
float | Sin (const float v) |
double | Sin (const double v) |
template<class T > | |
void | Sort (T &a, T &b) |
template<class T > | |
void | Sort (T &a, T &b, T &c) |
template<typename T > | |
static T | Sqr (T a) |
float | Sqrt (const short v) |
float | Sqrt (const int v) |
float | Sqrt (const float v) |
double | Sqrt (const double v) |
void | sub_mat5 (ScalarType dest[5][5], ScalarType m[5][5]) |
void | sub_symmat5 (ScalarType dest[15], ScalarType m[15]) |
void | sub_vec5 (const ScalarType a[5], const ScalarType b[5], ScalarType r[5]) |
void | symprod_vvt5 (ScalarType dest[15], ScalarType v[5]) |
float | ToDeg (const float &a) |
double | ToDeg (const double &a) |
float | ToRad (const float &a) |
double | ToRad (const double &a) |
typedef Quadric<double> vcg::math::Quadricd |
typedef Quadric<float> vcg::math::Quadricf |
typedef Quadric<int> vcg::math::Quadrici |
typedef Quadric<short> vcg::math::Quadrics |
typedef double vcg::math::ScalarType |
Definition at line 59 of file quadric5.h.
float vcg::math::Abs | ( | const float | v | ) | [inline] |
Definition at line 121 of file vcg/math/base.h.
double vcg::math::Abs | ( | const double | v | ) | [inline] |
Definition at line 129 of file vcg/math/base.h.
float vcg::math::Acos | ( | const float | v | ) | [inline] |
Definition at line 124 of file vcg/math/base.h.
double vcg::math::Acos | ( | const double | v | ) | [inline] |
Definition at line 132 of file vcg/math/base.h.
float vcg::math::Asin | ( | const float | v | ) | [inline] |
Definition at line 125 of file vcg/math/base.h.
double vcg::math::Asin | ( | const double | v | ) | [inline] |
Definition at line 133 of file vcg/math/base.h.
float vcg::math::Atan2 | ( | const float | v0, |
const float | v1 | ||
) | [inline] |
Definition at line 126 of file vcg/math/base.h.
double vcg::math::Atan2 | ( | const double | v0, |
const double | v1 | ||
) | [inline] |
Definition at line 134 of file vcg/math/base.h.
double vcg::math::box_muller | ( | RandomGenerator & | generator, |
double | m, | ||
double | s | ||
) | [inline] |
Definition at line 436 of file random_generator.h.
SCALAR vcg::math::Clamp | ( | const SCALAR & | val, |
const SCALAR & | minval, | ||
const SCALAR & | maxval | ||
) | [inline] |
Definition at line 175 of file vcg/math/base.h.
float vcg::math::Cos | ( | const float | v | ) | [inline] |
Definition at line 122 of file vcg/math/base.h.
double vcg::math::Cos | ( | const double | v | ) | [inline] |
Definition at line 130 of file vcg/math/base.h.
ScalarType vcg::math::Factorial | ( | unsigned | i | ) |
Definition at line 272 of file factorial.h.
ScalarType vcg::math::factorial_table | ( | unsigned | i | ) |
Definition at line 252 of file factorial.h.
double vcg::math::factorial_table< double > | ( | unsigned | i | ) |
Definition at line 220 of file factorial.h.
float vcg::math::factorial_table< float > | ( | unsigned | i | ) |
Definition at line 226 of file factorial.h.
int vcg::math::factorial_table< int > | ( | unsigned | i | ) |
Definition at line 246 of file factorial.h.
long double vcg::math::factorial_table< long double > | ( | unsigned | i | ) |
Definition at line 40 of file factorial.h.
vcg::Point3<ScalarType> vcg::math::GenerateBarycentricUniform | ( | GeneratorType & | rnd | ) |
Generate the barycentric coords of a random point over a single face, with a uniform distribution over the triangle. It uses the parallelogram folding trick.
Definition at line 73 of file random_generator.h.
vcg::Point3<ScalarType> vcg::math::GeneratePointInBox3Uniform | ( | GeneratorType & | rnd, |
const Box3< ScalarType > & | bb | ||
) |
Generate a random point insidie a box with uniform distribution.
Definition at line 91 of file random_generator.h.
vcg::Point3<ScalarType> vcg::math::GeneratePointInUnitBallUniform | ( | GeneratorType & | rnd | ) |
generate a point inside a unit sphere with uniform distribution
Definition at line 130 of file random_generator.h.
vcg::Point3<ScalarType> vcg::math::GeneratePointOnUnitSphereUniform | ( | GeneratorType & | rnd | ) |
Generate a point over the surface of a unit sphere with uniform distribution This is the algorithm proposed by George Marsaglia [1] to generate a point over a unit sphere Independently generate V1 and V2, taken from a uniform distribution on (-1,1) such that S=(V1^2+V2^2)<1.
The random vector is then : (2V1 sqrt(1-S), 2V2 sqrt(1-S),1-2S)
Marsaglia, G. "Choosing a Point from the Surface of a Sphere." Ann. Math. Stat. 43, 645-646, 1972.
Definition at line 112 of file random_generator.h.
ScalarType vcg::math::inproduct5 | ( | const ScalarType | a[5], |
const ScalarType | b[5] | ||
) | [inline] |
Definition at line 72 of file quadric5.h.
int vcg::math::IsNAN | ( | T | t | ) |
Definition at line 202 of file vcg/math/base.h.
const T& vcg::math::Max | ( | const T & | a, |
const T & | b, | ||
const T & | c | ||
) | [inline] |
Definition at line 147 of file vcg/math/base.h.
const T& vcg::math::Min | ( | const T & | a, |
const T & | b, | ||
const T & | c | ||
) | [inline] |
Definition at line 138 of file vcg/math/base.h.
void vcg::math::normalize_vec3 | ( | ScalarType | v[3] | ) | [inline] |
Definition at line 114 of file quadric5.h.
void vcg::math::normalize_vec5 | ( | ScalarType | v[5] | ) | [inline] |
Definition at line 103 of file quadric5.h.
void vcg::math::outproduct5 | ( | const ScalarType | a[5], |
const ScalarType | b[5], | ||
ScalarType | r[5][5] | ||
) | [inline] |
Definition at line 78 of file quadric5.h.
void vcg::math::prod_matvec5 | ( | const ScalarType | m[5][5], |
const ScalarType | v[5], | ||
ScalarType | r[5] | ||
) | [inline] |
Definition at line 86 of file quadric5.h.
void vcg::math::prod_vecmat5 | ( | ScalarType | v[5], |
ScalarType | m[5][5], | ||
ScalarType | r[5] | ||
) | [inline] |
Definition at line 96 of file quadric5.h.
int vcg::math::Sgn | ( | T | val | ) |
Definition at line 190 of file vcg/math/base.h.
float vcg::math::Sin | ( | const float | v | ) | [inline] |
Definition at line 123 of file vcg/math/base.h.
double vcg::math::Sin | ( | const double | v | ) | [inline] |
Definition at line 131 of file vcg/math/base.h.
void vcg::math::Sort | ( | T & | a, |
T & | b | ||
) | [inline] |
Definition at line 157 of file vcg/math/base.h.
void vcg::math::Sort | ( | T & | a, |
T & | b, | ||
T & | c | ||
) | [inline] |
Definition at line 160 of file vcg/math/base.h.
static T vcg::math::Sqr | ( | T | a | ) | [inline, static] |
Definition at line 136 of file vcg/math/base.h.
float vcg::math::Sqrt | ( | const short | v | ) | [inline] |
Definition at line 117 of file vcg/math/base.h.
float vcg::math::Sqrt | ( | const int | v | ) | [inline] |
Definition at line 118 of file vcg/math/base.h.
float vcg::math::Sqrt | ( | const float | v | ) | [inline] |
Definition at line 120 of file vcg/math/base.h.
double vcg::math::Sqrt | ( | const double | v | ) | [inline] |
Definition at line 128 of file vcg/math/base.h.
void vcg::math::sub_mat5 | ( | ScalarType | dest[5][5], |
ScalarType | m[5][5] | ||
) | [inline] |
Definition at line 126 of file quadric5.h.
void vcg::math::sub_symmat5 | ( | ScalarType | dest[15], |
ScalarType | m[15] | ||
) | [inline] |
Definition at line 155 of file quadric5.h.
void vcg::math::sub_vec5 | ( | const ScalarType | a[5], |
const ScalarType | b[5], | ||
ScalarType | r[5] | ||
) | [inline] |
Definition at line 62 of file quadric5.h.
void vcg::math::symprod_vvt5 | ( | ScalarType | dest[15], |
ScalarType | v[5] | ||
) | [inline] |
Definition at line 134 of file quadric5.h.
float vcg::math::ToDeg | ( | const float & | a | ) | [inline] |
Definition at line 184 of file vcg/math/base.h.
double vcg::math::ToDeg | ( | const double & | a | ) | [inline] |
Definition at line 186 of file vcg/math/base.h.
float vcg::math::ToRad | ( | const float & | a | ) | [inline] |
Definition at line 185 of file vcg/math/base.h.
double vcg::math::ToRad | ( | const double & | a | ) | [inline] |
Definition at line 187 of file vcg/math/base.h.