|
| struct | Tolerance< float > |
| struct | Tolerance< double > |
| struct | Delta< float > |
| struct | Delta< double > |
| struct | Maximum< T > |
| | Maximum floating-point values. More...
|
| class | Coord |
| | Signed (i, j, k) 32-bit integer coordinate class, similar to openvdb::math::Coord. More...
|
| class | Coord2 |
| | Signed (i, j) 32-bit integer coordinate class, similar to openvdb::math::Coord. More...
|
| class | Vec2< T > |
| | A simple vector class with three components, similar to openvdb::math::Vec3. More...
|
| class | MatBase< T, ROWS, COLS > |
| class | Mat2< T > |
| class | Mat2x3< T > |
| class | Mat3x2< T > |
| class | Mat3< T > |
| class | Mat4< T > |
| class | Vec3< T > |
| | A simple vector class with three components, similar to openvdb::math::Vec3. More...
|
| class | Vec4< T > |
| | A simple vector class with four components, similar to openvdb::math::Vec4. More...
|
| struct | BaseBBox< Vec3T > |
| struct | BBox< Vec3T, true > |
| | Partial template specialization for floating point coordinate types. More...
|
| struct | BBox< CoordT, false > |
| | Partial template specialization for integer coordinate types. More...
|
| class | BBox< CoordT, false >::Iterator |
| | Iterator over the domain covered by a BBox. More...
|
| class | Rgba8 |
| | 8-bit red, green, blue, alpha packed into 32 bit unsigned int More...
|
| class | Rgba8 |
| | 8-bit red, green, blue, alpha packed into 32 bit unsigned int More...
|
| class | Coord |
| | Signed (i, j, k) 32-bit integer coordinate class, similar to openvdb::math::Coord. More...
|
| struct | BBox< Vec3T, bool > |
|
| template<typename T> |
| __hostdev__ constexpr T | pi () |
| | Pi constant taken from Boost to match old behaviour.
|
| template<> |
| __hostdev__ constexpr float | pi () |
| template<> |
| __hostdev__ constexpr double | pi () |
| template<> |
| __hostdev__ constexpr long double | pi () |
| template<typename Type> |
| __hostdev__ bool | isApproxZero (const Type &x) |
| template<typename Type> |
| __hostdev__ Type | Min (Type a, Type b) |
| __hostdev__ int32_t | Min (int32_t a, int32_t b) |
| __hostdev__ uint32_t | Min (uint32_t a, uint32_t b) |
| __hostdev__ float | Min (float a, float b) |
| __hostdev__ double | Min (double a, double b) |
| template<typename Type> |
| __hostdev__ Type | Max (Type a, Type b) |
| __hostdev__ int32_t | Max (int32_t a, int32_t b) |
| __hostdev__ uint32_t | Max (uint32_t a, uint32_t b) |
| __hostdev__ float | Max (float a, float b) |
| __hostdev__ double | Max (double a, double b) |
| __hostdev__ float | Clamp (float x, float a, float b) |
| __hostdev__ double | Clamp (double x, double a, double b) |
| __hostdev__ float | Fract (float x) |
| __hostdev__ double | Fract (double x) |
| __hostdev__ int32_t | Floor (float x) |
| __hostdev__ int32_t | Floor (double x) |
| __hostdev__ int32_t | Ceil (float x) |
| __hostdev__ int32_t | Ceil (double x) |
| template<typename T> |
| __hostdev__ T | Pow2 (T x) |
| template<typename T> |
| __hostdev__ T | Pow3 (T x) |
| template<typename T> |
| __hostdev__ T | Pow4 (T x) |
| template<typename T> |
| __hostdev__ T | Abs (T x) |
| template<> |
| __hostdev__ float | Abs (float x) |
| template<> |
| __hostdev__ double | Abs (double x) |
| template<> |
| __hostdev__ int | Abs (int x) |
| template<typename CoordT, typename RealT, template< typename > class Vec3T> |
| __hostdev__ CoordT | Round (const Vec3T< RealT > &xyz) |
| template<typename CoordT, template< typename > class Vec3T> |
| __hostdev__ CoordT | Round (const Vec3T< float > &xyz) |
| template<typename CoordT, template< typename > class Vec3T> |
| __hostdev__ CoordT | Round (const Vec3T< double > &xyz) |
| template<typename CoordT, typename RealT, template< typename > class Vec3T> |
| __hostdev__ CoordT | RoundDown (const Vec3T< RealT > &xyz) |
| __hostdev__ float | Sqrt (float x) |
| | Return the square root of a floating-point value.
|
| __hostdev__ double | Sqrt (double x) |
| template<typename T> |
| __hostdev__ T | Sign (const T &x) |
| | Return the sign of the given value as an integer (either -1, 0 or 1).
|
| template<typename Vec3T> |
| __hostdev__ int | MinIndex (const Vec3T &v) |
| template<typename Vec3T> |
| __hostdev__ int | MaxIndex (const Vec3T &v) |
| template<uint64_t wordSize> |
| __hostdev__ uint64_t | AlignUp (uint64_t byteCount) |
| | round up byteSize to the nearest wordSize, e.g. to align to machine word: AlignUp<sizeof(size_t)(n)
|
| template<typename T1, typename T2> |
| __hostdev__ Vec2< T2 > | operator* (T1 scalar, const Vec2< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec2< T2 > | operator/ (T1 scalar, const Vec2< T2 > &vec) |
| template<typename T> |
| __hostdev__ Mat2< T > | operator* (const T &s, const Mat2< T > &m) |
| | Multiply a scalar by a 2x2 matrix, result is a 2x2 matrix.
|
| template<typename T> |
| __hostdev__ Mat2< T > | operator* (const Mat2x3< T > &lhs, const Mat3x2< T > &rhs) |
| | Multiply a 2x3 matrix by a 3x2 matrix, result is a 2x2 matrix.
|
| template<typename T> |
| __hostdev__ Mat2x3< T > | operator* (const Mat3< T > &lhs, const Mat2x3< T > &rhs) |
| | Multiply a 3x3 matrix by a 2x3 matrix, result is a 2x3 matrix.
|
| template<typename T> |
| __hostdev__ Mat2x3< T > | operator* (const Mat2x3< T > &lhs, const Mat3< T > &rhs) |
| | Multiply a 2x3 matrix by a 3x3 matrix, result is a 2x3 matrix.
|
| template<typename T> |
| __hostdev__ Mat3x2< T > | operator* (const Mat3x2< T > &lhs, const Mat2< T > &rhs) |
| | Multiply a 3x2 matrix by a 2x2 matrix, result is a 3x2 matrix.
|
| template<typename T> |
| __hostdev__ Mat2x3< T > | operator* (const Mat2< T > &lhs, const Mat2x3< T > &rhs) |
| | Multiply a 2x2 matrix by a 2x3 matrix, result is a 2x3 matrix.
|
| template<typename T> |
| __hostdev__ Mat3< T > | operator* (const Mat3x2< T > &lhs, const Mat2x3< T > &rhs) |
| | Multiply a 3x2 matrix by a 2x3 matrix, result is a 3x3 matrix.
|
| template<typename T1, typename T2> |
| __hostdev__ Vec3< T2 > | operator* (T1 scalar, const Vec3< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec3< T2 > | operator/ (T1 scalar, const Vec3< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec4< T2 > | operator* (T1 scalar, const Vec4< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec4< T2 > | operator/ (T1 scalar, const Vec4< T2 > &vec) |
| template<typename T> |
| __hostdev__ Vec4< T > | operator* (const Mat4< T > &m, const Vec4< T > &v) |
| | Return the matrix vector product of a 4x4 matrix and a 4d vector.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const float *mat, const Vec3T &xyz) |
| | Multiply a 3x3 matrix and a 3d vector using 32bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const double *mat, const Vec3T &xyz) |
| | Multiply a 3x3 matrix and a 3d vector using 64bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const float *mat, const float *vec, const Vec3T &xyz) |
| | Multiply a 3x3 matrix to a 3d vector and add another 3d vector using 32bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const double *mat, const double *vec, const Vec3T &xyz) |
| | Multiply a 3x3 matrix to a 3d vector and add another 3d vector using 64bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const float *mat, const Vec3T &xyz) |
| | Multiply the transposed of a 3x3 matrix and a 3d vector using 32bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const double *mat, const Vec3T &xyz) |
| | Multiply the transposed of a 3x3 matrix and a 3d vector using 64bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const float *mat, const float *vec, const Vec3T &xyz) |
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const double *mat, const double *vec, const Vec3T &xyz) |
Math functions and classes.
- Author
- Ken Museth
- Date
- January 8, 2020