Functions | |
template<typename T > | |
BALL_INLINE T | BALL::getDeterminant_ (const T *m, Size dim) |
template<typename T > | |
T | BALL::getDeterminant (const T *m, Size dim) |
template<typename T > | |
BALL_INLINE T | BALL::getDeterminant2 (const T *m) |
template<typename T > | |
BALL_INLINE T | BALL::getDeterminant2 (const T &m00, const T &m01, const T &m10, const T &m11) |
template<typename T > | |
BALL_INLINE T | BALL::getDeterminant3 (const T *m) |
template<typename T > | |
BALL_INLINE T | BALL::getDeterminant3 (const T &m00, const T &m01, const T &m02, const T &m10, const T &m11, const T &m12, const T &m20, const T &m21, const T &m22) |
template<typename T > | |
bool | BALL::SolveSystem (const T *m, T *x, const Size dim) |
template<typename T > | |
BALL_INLINE bool | BALL::SolveSystem2 (const T &a1, const T &b1, const T &c1, const T &a2, const T &b2, const T &c2, T &x1, T &x2) |
template<typename T > | |
short | BALL::SolveQuadraticEquation (const T &a, const T &b, const T &c, T &x1, T &x2) |
template<typename T > | |
BALL_INLINE TVector3< T > | BALL::GetPartition (const TVector3< T > &a, const TVector3< T > &b) |
template<typename T > | |
BALL_INLINE TVector3< T > | BALL::GetPartition (const TVector3< T > &a, const TVector3< T > &b, const T &r, const T &s) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TVector3< T > &a, const TVector3< T > &b) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TLine3< T > &line, const TVector3< T > &point) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TVector3< T > &point, const TLine3< T > &line) throw (Exception::DivisionByZero) |
template<typename T > | |
T | BALL::GetDistance (const TLine3< T > &a, const TLine3< T > &b) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TVector3< T > &point, const TPlane3< T > &plane) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TPlane3< T > &plane, const TVector3< T > &point) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TLine3< T > &line, const TPlane3< T > &plane) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TPlane3< T > &plane, const TLine3< T > &line) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE T | BALL::GetDistance (const TPlane3< T > &a, const TPlane3< T > &b) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE bool | BALL::GetAngle (const TVector3< T > &a, const TVector3< T > &b, TAngle< T > &intersection_angle) |
template<typename T > | |
BALL_INLINE bool | BALL::GetAngle (const TLine3< T > &a, const TLine3< T > &b, TAngle< T > &intersection_angle) |
template<typename T > | |
BALL_INLINE bool | BALL::GetAngle (const TPlane3< T > &plane, const TVector3< T > &vector, TAngle< T > &intersection_angle) |
template<typename T > | |
BALL_INLINE bool | BALL::GetAngle (const TVector3< T > &vector, const TPlane3< T > &plane, TAngle< T > &intersection_angle) |
template<typename T > | |
BALL_INLINE bool | BALL::GetAngle (const TPlane3< T > &plane, const TLine3< T > &line, TAngle< T > &intersection_angle) |
template<typename T > | |
BALL_INLINE bool | BALL::GetAngle (const TLine3< T > &line, const TPlane3< T > &plane, TAngle< T > &intersection_angle) |
template<typename T > | |
BALL_INLINE bool | BALL::GetAngle (const TPlane3< T > &a, const TPlane3< T > &b, TAngle< T > &intersection_angle) |
template<typename T > | |
bool | BALL::GetIntersection (const TLine3< T > &a, const TLine3< T > &b, TVector3< T > &point) |
template<typename T > | |
BALL_INLINE bool | BALL::GetIntersection (const TPlane3< T > &plane, const TLine3< T > &line, TVector3< T > &intersection_point) |
template<typename T > | |
BALL_INLINE bool | BALL::GetIntersection (const TLine3< T > &line, const TPlane3< T > &plane, TVector3< T > &intersection_point) |
template<typename T > | |
bool | BALL::GetIntersection (const TPlane3< T > &plane1, const TPlane3< T > &plane2, TLine3< T > &line) |
template<typename T > | |
bool | BALL::GetIntersection (const TSphere3< T > &sphere, const TLine3< T > &line, TVector3< T > &intersection_point1, TVector3< T > &intersection_point2) |
template<typename T > | |
BALL_INLINE bool | BALL::GetIntersection (const TLine3< T > &line, const TSphere3< T > &sphere, TVector3< T > &intersection_point1, TVector3< T > &intersection_point2) |
template<typename T > | |
bool | BALL::GetIntersection (const TSphere3< T > &sphere, const TPlane3< T > &plane, TCircle3< T > &intersection_circle) |
template<typename T > | |
BALL_INLINE bool | BALL::GetIntersection (const TPlane3< T > &plane, const TSphere3< T > &sphere, TCircle3< T > &intersection_circle) |
template<typename T > | |
bool | BALL::GetIntersection (const TSphere3< T > &a, const TSphere3< T > &b, TCircle3< T > &intersection_circle) |
template<class T > | |
bool | BALL::GetIntersection (const TSphere3< T > &s1, const TSphere3< T > &s2, const TSphere3< T > &s3, TVector3< T > &p1, TVector3< T > &p2, bool test=true) |
template<typename T > | |
BALL_INLINE bool | BALL::isCollinear (const TVector3< T > &a, const TVector3< T > &b) |
template<typename T > | |
BALL_INLINE bool | BALL::isComplanar (const TVector3< T > &a, const TVector3< T > &b, const TVector3< T > &c) |
template<typename T > | |
BALL_INLINE bool | BALL::isComplanar (const TVector3< T > &a, const TVector3< T > &b, const TVector3< T > &c, const TVector3< T > &d) |
template<typename T > | |
BALL_INLINE bool | BALL::isOrthogonal (const TVector3< T > &a, const TVector3< T > &b) |
template<typename T > | |
BALL_INLINE bool | BALL::isOrthogonal (const TVector3< T > &vector, const TLine3< T > &line) |
template<typename T > | |
BALL_INLINE bool | BALL::isOrthogonal (const TLine3< T > &line, const TVector3< T > &vector) |
template<typename T > | |
BALL_INLINE bool | BALL::isOrthogonal (const TLine3< T > &a, const TLine3< T > &b) |
template<typename T > | |
BALL_INLINE bool | BALL::isOrthogonal (const TVector3< T > &vector, const TPlane3< T > &plane) |
template<typename T > | |
BALL_INLINE bool | BALL::isOrthogonal (const TPlane3< T > &plane, const TVector3< T > &vector) |
template<typename T > | |
BALL_INLINE bool | BALL::isOrthogonal (const TPlane3< T > &a, const TPlane3< T > &b) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TVector3< T > &point, const TLine3< T > &line) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TLine3< T > &line, const TVector3< T > &point) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TLine3< T > &a, const TLine3< T > &b) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TVector3< T > &point, const TPlane3< T > &plane) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TPlane3< T > &plane, const TVector3< T > &point) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TLine3< T > &line, const TPlane3< T > &plane) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TPlane3< T > &plane, const TLine3< T > &line) |
template<typename T > | |
BALL_INLINE bool | BALL::isIntersecting (const TPlane3< T > &a, const TPlane3< T > &b) |
template<typename T > | |
BALL_INLINE bool | BALL::isParallel (const TLine3< T > &line, const TPlane3< T > &plane) |
template<typename T > | |
BALL_INLINE bool | BALL::isParallel (const TPlane3< T > &plane, const TLine3< T > &line) |
template<typename T > | |
BALL_INLINE bool | BALL::isParallel (const TPlane3< T > &a, const TPlane3< T > &b) |
template<typename T > | |
TAngle< T > | BALL::getOrientedAngle (const T &ax, const T &ay, const T &az, const T &bx, const T &by, const T &bz, const T &nx, const T &ny, const T &nz) throw (Exception::DivisionByZero) |
template<typename T > | |
BALL_INLINE TAngle< T > | BALL::getOrientedAngle (const TVector3< T > &a, const TVector3< T > &b, const TVector3< T > &normal) throw (Exception::DivisionByZero) |
template<typename T > | |
TAngle< T > | BALL::getTorsionAngle (const T &ax, const T &ay, const T &az, const T &bx, const T &by, const T &bz, const T &cx, const T &cy, const T &cz, const T &dx, const T &dy, const T &dz) throw (Exception::DivisionByZero) |
representation of analytical geometry functions, using the classes: TAngle, TCircle3, TLine3, TPlane3, TSphere3, TVector3.
BALL_INLINE bool BALL::GetAngle | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b, | |||
TAngle< T > & | intersection_angle | |||
) | [inline] |
Get the angle between two planes.
a | the first plane | |
b | the second plane | |
intersection_angle | the resulting angle |
References BALL::Maths::abs(), BALL::Maths::isZero(), and BALL::TPlane3< T >::n.
BALL_INLINE bool BALL::GetAngle | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane, | |||
TAngle< T > & | intersection_angle | |||
) | [inline] |
Get the angle between a line and a plane.
line | the line | |
plane | the plane | |
intersection_angle | the resulting angle |
References BALL::GetAngle().
BALL_INLINE bool BALL::GetAngle | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line, | |||
TAngle< T > & | intersection_angle | |||
) | [inline] |
Get the angle between a plane and a line.
plane | the plane | |
line | the line | |
intersection_angle | the resulting angle |
References BALL::Maths::abs(), BALL::TLine3< T >::d, BALL::Maths::isZero(), and BALL::TPlane3< T >::n.
BALL_INLINE bool BALL::GetAngle | ( | const TVector3< T > & | vector, | |
const TPlane3< T > & | plane, | |||
TAngle< T > & | intersection_angle | |||
) | [inline] |
Get the angle between a vector3 and a plane.
vector | the vector3 | |
plane | the plane | |
intersection_angle | the resulting angle |
References BALL::GetAngle().
BALL_INLINE bool BALL::GetAngle | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | vector, | |||
TAngle< T > & | intersection_angle | |||
) | [inline] |
Get the angle between a plane and a Vector3.
plane | the plane | |
vector | the Vector3 | |
intersection_angle | the resulting angle |
References BALL::Maths::abs(), BALL::TVector3< T >::getSquareLength(), BALL::Maths::isZero(), and BALL::TPlane3< T >::n.
BALL_INLINE bool BALL::GetAngle | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b, | |||
TAngle< T > & | intersection_angle | |||
) | [inline] |
Get the angle between two lines.
a | the first line | |
b | the second line | |
intersection_angle | the resulting angle |
References BALL::Maths::abs(), BALL::TLine3< T >::d, and BALL::Maths::isZero().
BALL_INLINE bool BALL::GetAngle | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
TAngle< T > & | intersection_angle | |||
) | [inline] |
Get the angle between two Vector3.
a | the first vector | |
b | the second vector | |
intersection_angle | the resulting angle |
References BALL::TVector3< T >::getAngle(), BALL::TVector3< T >::getSquareLength(), and BALL::Maths::isZero().
Referenced by BALL::GetAngle().
T BALL::getDeterminant | ( | const T * | m, | |
Size | dim | |||
) | [inline] |
Get the determinant of any matrix.
m | pointer to matrix | |
dim | dimension of the matrix |
References BALL_CELL, and BALL::getDeterminant_().
BALL_INLINE T BALL::getDeterminant2 | ( | const T & | m00, | |
const T & | m01, | |||
const T & | m10, | |||
const T & | m11 | |||
) | [inline] |
Get the determinant of an 2x2 matrix.
m00 | first value of the matrix | |
m01 | second value of the matrix | |
m10 | third value of the matrix | |
m11 | fourth value of the matrix |
BALL_INLINE T BALL::getDeterminant2 | ( | const T * | m | ) | [inline] |
BALL_INLINE T BALL::getDeterminant3 | ( | const T & | m00, | |
const T & | m01, | |||
const T & | m02, | |||
const T & | m10, | |||
const T & | m11, | |||
const T & | m12, | |||
const T & | m20, | |||
const T & | m21, | |||
const T & | m22 | |||
) | [inline] |
Get the determinant of an 3x3 matrix.
m00,m01,m02,m10,m11,m12,m20,m21,m22 | the elements of the matrix |
BALL_INLINE T BALL::getDeterminant3 | ( | const T * | m | ) | [inline] |
BALL_INLINE T BALL::getDeterminant_ | ( | const T * | m, | |
Size | dim | |||
) | [inline] |
Subroutine to get the determinant of any matrix. Direct usage of this function should be avoided. Instead use T getDeterminant(const T* m, Size dim)
m | pointer to matrix | |
dim | dimension of the matrix |
References BALL::Constants::k.
Referenced by BALL::getDeterminant().
BALL_INLINE T BALL::GetDistance | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between two planes.
a | the first plane | |
b | the second plane |
References BALL::Maths::abs().
BALL_INLINE T BALL::GetDistance | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between a plane and a line.
plane | the plane | |
line | the line |
References BALL::GetDistance().
BALL_INLINE T BALL::GetDistance | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between a line and a plane.
line | the line | |
plane | the plane |
References BALL::Maths::abs().
BALL_INLINE T BALL::GetDistance | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | point | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between a plane and a point.
plane | the plane | |
point | the point |
References BALL::GetDistance().
BALL_INLINE T BALL::GetDistance | ( | const TVector3< T > & | point, | |
const TPlane3< T > & | plane | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between a point and a plane.
point | the point | |
plane | the plane |
References BALL::Maths::abs().
T BALL::GetDistance | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between two lines.
a | the first line | |
b | the second line |
References BALL::Maths::abs(), BALL::TVector3< T >::getTripleProduct(), BALL::Maths::isNotZero(), and BALL::Maths::isZero().
BALL_INLINE T BALL::GetDistance | ( | const TVector3< T > & | point, | |
const TLine3< T > & | line | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between a point and a line.
point | the point | |
line | the line |
References BALL::GetDistance().
BALL_INLINE T BALL::GetDistance | ( | const TLine3< T > & | line, | |
const TVector3< T > & | point | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the distance between a line and a point.
line | the line | |
point | the point |
BALL_INLINE T BALL::GetDistance | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) | [inline] |
Get the distance between two points.
a | the first point | |
b | the second point |
References BALL::TVector3< T >::x, BALL::TVector3< T >::y, and BALL::TVector3< T >::z.
Referenced by BALL::GetDistance(), BALL::GetIntersection(), and BALL::isIntersecting().
bool BALL::GetIntersection | ( | const TSphere3< T > & | s1, | |
const TSphere3< T > & | s2, | |||
const TSphere3< T > & | s3, | |||
TVector3< T > & | p1, | |||
TVector3< T > & | p2, | |||
bool | test = true | |||
) | [inline] |
Get the intersection points between three spheres.
s1 | the first sphere | |
s2 | the second sphere | |
s3 | the third sphere | |
p1 | the first intersection point | |
p2 | the second intersection point | |
test |
References BALL::TLine3< T >::d, BALL::GetIntersection(), BALL::Maths::isNotEqual(), BALL::TLine3< T >::p, BALL::TSphere3< T >::p, BALL::TSphere3< T >::radius, and BALL::SolveQuadraticEquation().
bool BALL::GetIntersection | ( | const TSphere3< T > & | a, | |
const TSphere3< T > & | b, | |||
TCircle3< T > & | intersection_circle | |||
) | [inline] |
Get the intersection circle between two spheres. This methods returns false, if the two spheres are identical, since then no intersection circle exists.
a | the first sphere | |
b | the second sphere | |
intersection_circle | the intersection circle |
References BALL::Maths::abs(), BALL::Maths::isGreaterOrEqual(), BALL::Maths::isLess(), BALL::Maths::isZero(), BALL::TCircle3< T >::n, BALL::TCircle3< T >::p, BALL::TSphere3< T >::p, BALL::TCircle3< T >::radius, and BALL::TSphere3< T >::radius.
BALL_INLINE bool BALL::GetIntersection | ( | const TPlane3< T > & | plane, | |
const TSphere3< T > & | sphere, | |||
TCircle3< T > & | intersection_circle | |||
) | [inline] |
Get the intersection circle between a plane and a sphere.
plane | the plane | |
sphere | the sphere | |
intersection_circle | the intersection circle |
References BALL::GetIntersection().
bool BALL::GetIntersection | ( | const TSphere3< T > & | sphere, | |
const TPlane3< T > & | plane, | |||
TCircle3< T > & | intersection_circle | |||
) | [inline] |
Get the intersection circle between a sphere and a plane.
sphere | the sphere | |
plane | the plane | |
intersection_circle | the intersection circle |
References BALL::GetDistance(), BALL::Maths::isEqual(), BALL::Maths::isGreater(), BALL::TPlane3< T >::n, BALL::TVector3< T >::normalize(), BALL::TSphere3< T >::p, BALL::TSphere3< T >::radius, and BALL::TCircle3< T >::set().
BALL_INLINE bool BALL::GetIntersection | ( | const TLine3< T > & | line, | |
const TSphere3< T > & | sphere, | |||
TVector3< T > & | intersection_point1, | |||
TVector3< T > & | intersection_point2 | |||
) | [inline] |
Get the intersection point between a line and a sphere.
line | the line | |
sphere | the sphere | |
intersection_point1 | the first intersection point | |
intersection_point2 | the second intersection point |
References BALL::GetIntersection().
bool BALL::GetIntersection | ( | const TSphere3< T > & | sphere, | |
const TLine3< T > & | line, | |||
TVector3< T > & | intersection_point1, | |||
TVector3< T > & | intersection_point2 | |||
) | [inline] |
Get the intersection point between a sphere and a line.
sphere | the sphere | |
line | the line | |
intersection_point1 | the first intersection point | |
intersection_point2 | the second intersection point |
References BALL::TLine3< T >::d, BALL::TSphere3< T >::p, BALL::TLine3< T >::p, BALL::TSphere3< T >::radius, and BALL::SolveQuadraticEquation().
bool BALL::GetIntersection | ( | const TPlane3< T > & | plane1, | |
const TPlane3< T > & | plane2, | |||
TLine3< T > & | line | |||
) | [inline] |
Get the intersection line between two planes.
plane1 | the first plane | |
plane2 | the second plane | |
line | the resulting intersection |
References BALL::Constants::c, BALL::TLine3< T >::d, BALL::Maths::isZero(), BALL::TPlane3< T >::n, BALL::TLine3< T >::p, and BALL::TPlane3< T >::p.
BALL_INLINE bool BALL::GetIntersection | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane, | |||
TVector3< T > & | intersection_point | |||
) | [inline] |
Get the intersection point between a line and a plane.
line | the line | |
plane | the plane | |
intersection_point | the resulting intersection |
References BALL::GetIntersection().
BALL_INLINE bool BALL::GetIntersection | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line, | |||
TVector3< T > & | intersection_point | |||
) | [inline] |
Get the intersection point between a plane and a line.
plane | the plane | |
line | the line | |
intersection_point | the resulting intersection |
References BALL::TLine3< T >::d, BALL::Maths::isZero(), BALL::TPlane3< T >::n, BALL::TPlane3< T >::p, BALL::TLine3< T >::p, and BALL::TVector3< T >::set().
bool BALL::GetIntersection | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b, | |||
TVector3< T > & | point | |||
) | [inline] |
Get the intersection point between two lines.
a | the first line | |
b | the second line | |
point | the resulting intersection |
References BALL::TLine3< T >::d, BALL::Maths::isEqual(), BALL::TLine3< T >::p, BALL::TVector3< T >::set(), and BALL::SolveSystem2().
Referenced by BALL::GetIntersection().
BALL_INLINE TAngle<T> BALL::getOrientedAngle | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
const TVector3< T > & | normal | |||
) | throw (Exception::DivisionByZero) [inline] |
Return the oriented angle of two vectors with a normal vector.
References BALL::getOrientedAngle().
TAngle<T> BALL::getOrientedAngle | ( | const T & | ax, | |
const T & | ay, | |||
const T & | az, | |||
const T & | bx, | |||
const T & | by, | |||
const T & | bz, | |||
const T & | nx, | |||
const T & | ny, | |||
const T & | nz | |||
) | throw (Exception::DivisionByZero) [inline] |
Return the oriented angle of two vectors with a normal vector.
References BALL::Constants::PI.
Referenced by BALL::getOrientedAngle().
BALL_INLINE TVector3<T> BALL::GetPartition | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
const T & | r, | |||
const T & | s | |||
) | throw (Exception::DivisionByZero) [inline] |
Get the partition of two vectors, calculated with two ratio factors.
a | the first vector | |
b | the second vector | |
r | the ratio factor of the first vector | |
s | the ratio factor of the second vector |
BALL_INLINE TVector3<T> BALL::GetPartition | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) | [inline] |
Get the partition of two vectors.
a | the first vector | |
b | the second vector |
References BALL::TVector3< T >::x, BALL::TVector3< T >::y, and BALL::TVector3< T >::z.
TAngle<T> BALL::getTorsionAngle | ( | const T & | ax, | |
const T & | ay, | |||
const T & | az, | |||
const T & | bx, | |||
const T & | by, | |||
const T & | bz, | |||
const T & | cx, | |||
const T & | cy, | |||
const T & | cz, | |||
const T & | dx, | |||
const T & | dy, | |||
const T & | dz | |||
) | throw (Exception::DivisionByZero) [inline] |
Return the torsion angle of four points to each other.
ax | 1. vector x component | |
ay | 1. vector y component | |
az | 1. vector z component | |
bx | 2. vector x component | |
by | 2. vector y component | |
bz | 2. vector z component | |
cx | 3. vector x component | |
cy | 3. vector y component | |
cz | 3. vector z component | |
dx | 4. vector x component | |
dy | 4. vector y component | |
dz | 4. vector z component |
References BALL::Constants::PI.
BALL_INLINE bool BALL::isCollinear | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) | [inline] |
Test whether two vector3 are collinear
a | the first vector3 | |
b | the second vector3 |
Referenced by BALL::isOrthogonal(), and BALL::isParallel().
BALL_INLINE bool BALL::isComplanar | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
const TVector3< T > & | c, | |||
const TVector3< T > & | d | |||
) | [inline] |
Test whether four vector3 are complanar
a | the first vector3 | |
b | the second vector3 | |
c | the third vector3 | |
d | the fourth vector3 |
References BALL::isComplanar().
BALL_INLINE bool BALL::isComplanar | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
const TVector3< T > & | c | |||
) | [inline] |
Test whether three vector3 are complanar
a | the first vector3 | |
b | the second vector3 | |
c | the third vector3 |
References BALL::Maths::isZero().
Referenced by BALL::isComplanar().
BALL_INLINE bool BALL::isIntersecting | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) | [inline] |
Test whether two planes are intersecting.
a | the first plane | |
b | the second plane |
References BALL::GetDistance(), and BALL::Maths::isZero().
BALL_INLINE bool BALL::isIntersecting | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line | |||
) | [inline] |
Test whether a plane is intersecting a line.
plane | the plane | |
line | the line |
References BALL::isIntersecting().
BALL_INLINE bool BALL::isIntersecting | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane | |||
) | [inline] |
Test whether a line is intersecting a plane.
line | the line | |
plane | the plane |
References BALL::GetDistance(), and BALL::Maths::isZero().
BALL_INLINE bool BALL::isIntersecting | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | point | |||
) | [inline] |
Test whether a point lies in a plane.
plane | the plane | |
point | the point |
References BALL::isIntersecting().
BALL_INLINE bool BALL::isIntersecting | ( | const TVector3< T > & | point, | |
const TPlane3< T > & | plane | |||
) | [inline] |
Test whether a point lies in a plane.
point | the point | |
plane | the plane |
References BALL::GetDistance(), and BALL::Maths::isZero().
BALL_INLINE bool BALL::isIntersecting | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b | |||
) | [inline] |
Test whether two lines are intersecting.
a | the first line | |
b | the second line |
References BALL::GetDistance(), and BALL::Maths::isZero().
BALL_INLINE bool BALL::isIntersecting | ( | const TLine3< T > & | line, | |
const TVector3< T > & | point | |||
) | [inline] |
Test whether a line is intersecting a point.
line | the line | |
point | the point |
References BALL::isIntersecting().
BALL_INLINE bool BALL::isIntersecting | ( | const TVector3< T > & | point, | |
const TLine3< T > & | line | |||
) | [inline] |
Test whether a line is intersecting a point.
point | the point | |
line | the line |
References BALL::GetDistance(), and BALL::Maths::isZero().
Referenced by BALL::isIntersecting().
BALL_INLINE bool BALL::isOrthogonal | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) | [inline] |
Test whether two planes are orthogonal.
a | the first plane | |
b | the second plane |
References BALL::Maths::isZero(), and BALL::TPlane3< T >::n.
BALL_INLINE bool BALL::isOrthogonal | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | vector | |||
) | [inline] |
Test whether a plane and a vector3 are orthogonal.
plane | the plane | |
vector | the vector3 |
References BALL::isOrthogonal().
BALL_INLINE bool BALL::isOrthogonal | ( | const TVector3< T > & | vector, | |
const TPlane3< T > & | plane | |||
) | [inline] |
Test whether a vector3 and a plane are orthogonal.
vector | the vector3 | |
plane | the plane |
References BALL::isCollinear(), and BALL::TPlane3< T >::n.
BALL_INLINE bool BALL::isOrthogonal | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b | |||
) | [inline] |
Test whether two lines are orthogonal.
a | the first line | |
b | the second line |
References BALL::TLine3< T >::d, and BALL::Maths::isZero().
BALL_INLINE bool BALL::isOrthogonal | ( | const TLine3< T > & | line, | |
const TVector3< T > & | vector | |||
) | [inline] |
Test whether a line and a vector3 are orthogonal
line | the line | |
vector | the vector |
References BALL::isOrthogonal().
BALL_INLINE bool BALL::isOrthogonal | ( | const TVector3< T > & | vector, | |
const TLine3< T > & | line | |||
) | [inline] |
Test whether a vector3 and a line are orthogonal
vector | the vector | |
line | the line |
References BALL::TLine3< T >::d, and BALL::Maths::isZero().
BALL_INLINE bool BALL::isOrthogonal | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) | [inline] |
Test whether two vector3 are orthogonal
a | the first vector3 | |
b | the second vector3 |
References BALL::Maths::isZero().
Referenced by BALL::isOrthogonal(), and BALL::isParallel().
BALL_INLINE bool BALL::isParallel | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) | [inline] |
Test whether two planes are parallel.
a | the first plane | |
b | the second plane |
References BALL::isCollinear(), and BALL::TPlane3< T >::n.
BALL_INLINE bool BALL::isParallel | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line | |||
) | [inline] |
Test whether a plane and a line are parallel.
plane | the plane | |
line | the line |
References BALL::isParallel().
BALL_INLINE bool BALL::isParallel | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane | |||
) | [inline] |
Test whether a line and a plane are parallel.
line | the line | |
plane | the plane |
References BALL::TLine3< T >::d, BALL::isOrthogonal(), and BALL::TPlane3< T >::n.
Referenced by BALL::isParallel().
short BALL::SolveQuadraticEquation | ( | const T & | a, | |
const T & | b, | |||
const T & | c, | |||
T & | x1, | |||
T & | x2 | |||
) | [inline] |
Solve a quadratic equation of the form a .
a | ||
b | ||
c | ||
x1 | the first solution | |
x2 | the second solution |
References BALL::Maths::isLess(), and BALL::Maths::isZero().
Referenced by BALL::GetIntersection().
bool BALL::SolveSystem | ( | const T * | m, | |
T * | x, | |||
const Size | dim | |||
) | [inline] |
Solve a system of linear equations. Given a system of linear equations
m
should point to a C-style array containing the matrix A. x
points to a C-style array that will contain the solution vector x upon successful termination of the function. m | pointer to the factors in the equations | |
x | pointer in which the results are stored | |
dim | the dimension of the equation system (number of variables) |
true
if a solution is found References BALL_MATRIX_CELL, BALL::Maths::isLess(), BALL::Maths::isNan(), BALL::Maths::isZero(), and BALL::Constants::k.
BALL_INLINE bool BALL::SolveSystem2 | ( | const T & | a1, | |
const T & | b1, | |||
const T & | c1, | |||
const T & | a2, | |||
const T & | b2, | |||
const T & | c2, | |||
T & | x1, | |||
T & | x2 | |||
) | [inline] |
Solve a system of two equations of the form and .
a1,b1,c1,a2,b2,c2 | constants of the system | |
x1 | the first solution | |
x2 | the second solution |
true
if a solution is found References BALL::Maths::isZero().
Referenced by BALL::GetIntersection().