Functions |
|
template<typename T > | |
T | BALL::getDeterminant_ (const T *m, Size dim) |
Subroutine to get the determinant of
any matrix. |
|
template<typename T > | |
T | BALL::getDeterminant (const T *m, Size dim) |
Get the determinant of any matrix.
|
|
template<typename T > | |
T | BALL::getDeterminant2 (const T *m) |
Get the determinant of an 2x2
matrix. |
|
template<typename T > | |
T | BALL::getDeterminant2 (const T &m00, const T &m01, const T &m10, const T &m11) |
Get the determinant of an 2x2
matrix. |
|
template<typename T > | |
T | BALL::getDeterminant3 (const T *m) |
Get the determinant of an 3x3
matrix. |
|
template<typename T > | |
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) |
Get the determinant of an 3x3
matrix. |
|
template<typename T > | |
bool | BALL::SolveSystem (const T *m, T *x, const Size dim) |
Solve a system of linear equations.
|
|
template<typename T > | |
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) |
Solve a system of two equations of
the form and
. |
|
template<typename T > | |
short | BALL::SolveQuadraticEquation (const T &a, const T &b, const T &c, T &x1, T &x2) |
Solve a quadratic equation of the
form a . |
|
template<typename T > | |
TVector3< T > | BALL::GetPartition (const TVector3< T > &a, const TVector3< T > &b) |
Get the partition of two vectors.
|
|
template<typename T > | |
TVector3< T > | BALL::GetPartition (const TVector3< T > &a, const TVector3< T > &b, const T &r, const T &s) throw (Exception::DivisionByZero) |
Get the partition of two vectors,
calculated with two ratio factors. |
|
template<typename T > | |
T | BALL::GetDistance (const TVector3< T > &a, const TVector3< T > &b) |
Get the distance between two points.
|
|
template<typename T > | |
T | BALL::GetDistance (const TLine3< T > &line, const TVector3< T > &point) throw (Exception::DivisionByZero) |
Get the distance between a line and
a point. |
|
template<typename T > | |
T | BALL::GetDistance (const TVector3< T > &point, const TLine3< T > &line) throw (Exception::DivisionByZero) |
Get the distance between a point and
a line. |
|
template<typename T > | |
T | BALL::GetDistance (const TLine3< T > &a, const TLine3< T > &b) throw (Exception::DivisionByZero) |
Get the distance between two lines.
|
|
template<typename T > | |
T | BALL::GetDistance (const TVector3< T > &point, const TPlane3< T > &plane) throw (Exception::DivisionByZero) |
Get the distance between a point and
a plane. |
|
template<typename T > | |
T | BALL::GetDistance (const TPlane3< T > &plane, const TVector3< T > &point) throw (Exception::DivisionByZero) |
Get the distance between a plane and
a point. |
|
template<typename T > | |
T | BALL::GetDistance (const TLine3< T > &line, const TPlane3< T > &plane) throw (Exception::DivisionByZero) |
Get the distance between a line and
a plane. |
|
template<typename T > | |
T | BALL::GetDistance (const TPlane3< T > &plane, const TLine3< T > &line) throw (Exception::DivisionByZero) |
Get the distance between a plane and
a line. |
|
template<typename T > | |
T | BALL::GetDistance (const TPlane3< T > &a, const TPlane3< T > &b) throw (Exception::DivisionByZero) |
Get the distance between two planes.
|
|
template<typename T > | |
bool | BALL::GetAngle (const TVector3< T > &a, const TVector3< T > &b, TAngle< T > &intersection_angle) |
Get the angle between two Vector3.
|
|
template<typename T > | |
bool | BALL::GetAngle (const TLine3< T > &a, const TLine3< T > &b, TAngle< T > &intersection_angle) |
Get the angle between two lines.
|
|
template<typename T > | |
bool | BALL::GetAngle (const TPlane3< T > &plane, const TVector3< T > &vector, TAngle< T > &intersection_angle) |
Get the angle between a plane and a
Vector3. |
|
template<typename T > | |
bool | BALL::GetAngle (const TVector3< T > &vector, const TPlane3< T > &plane, TAngle< T > &intersection_angle) |
Get the angle between a vector3 and
a plane. |
|
template<typename T > | |
bool | BALL::GetAngle (const TPlane3< T > &plane, const TLine3< T > &line, TAngle< T > &intersection_angle) |
Get the angle between a plane and a
line. |
|
template<typename T > | |
bool | BALL::GetAngle (const TLine3< T > &line, const TPlane3< T > &plane, TAngle< T > &intersection_angle) |
Get the angle between a line and a
plane. |
|
template<typename T > | |
bool | BALL::GetAngle (const TPlane3< T > &a, const TPlane3< T > &b, TAngle< T > &intersection_angle) |
Get the angle between two planes.
|
|
template<typename T > | |
bool | BALL::GetIntersection (const TLine3< T > &a, const TLine3< T > &b, TVector3< T > &point) |
Get the intersection point between
two lines. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TPlane3< T > &plane, const TLine3< T > &line, TVector3< T > &intersection_point) |
Get the intersection point between a
plane and a line. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TLine3< T > &line, const TPlane3< T > &plane, TVector3< T > &intersection_point) |
Get the intersection point between a
line and a plane. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TPlane3< T > &plane1, const TPlane3< T > &plane2, TLine3< T > &line) |
Get the intersection line between
two planes. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TSphere3< T > &sphere, const TLine3< T > &line, TVector3< T > &intersection_point1, TVector3< T > &intersection_point2) |
Get the intersection point between a
sphere and a line. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TLine3< T > &line, const TSphere3< T > &sphere, TVector3< T > &intersection_point1, TVector3< T > &intersection_point2) |
Get the intersection point between a
line and a sphere. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TSphere3< T > &sphere, const TPlane3< T > &plane, TCircle3< T > &intersection_circle) |
Get the intersection circle between
a sphere and a plane. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TPlane3< T > &plane, const TSphere3< T > &sphere, TCircle3< T > &intersection_circle) |
Get the intersection circle between
a plane and a sphere. |
|
template<typename T > | |
bool | BALL::GetIntersection (const TSphere3< T > &a, const TSphere3< T > &b, TCircle3< T > &intersection_circle) |
Get the intersection circle between
two spheres. |
|
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) |
Get the intersection points between
three spheres. |
|
template<typename T > | |
bool | BALL::isCollinear (const TVector3< T > &a, const TVector3< T > &b) |
Test whether two vector3 are
collinear. |
|
template<typename T > | |
bool | BALL::isComplanar (const TVector3< T > &a, const TVector3< T > &b, const TVector3< T > &c) |
Test whether three vector3 are
complanar. |
|
template<typename T > | |
bool | BALL::isComplanar (const TVector3< T > &a, const TVector3< T > &b, const TVector3< T > &c, const TVector3< T > &d) |
Test whether four vector3 are
complanar. |
|
template<typename T > | |
bool | BALL::isOrthogonal (const TVector3< T > &a, const TVector3< T > &b) |
Test whether two vector3 are
orthogonal. |
|
template<typename T > | |
bool | BALL::isOrthogonal (const TVector3< T > &vector, const TLine3< T > &line) |
Test whether a vector3 and a line
are orthogonal. |
|
template<typename T > | |
bool | BALL::isOrthogonal (const TLine3< T > &line, const TVector3< T > &vector) |
Test whether a line and a vector3
are orthogonal. |
|
template<typename T > | |
bool | BALL::isOrthogonal (const TLine3< T > &a, const TLine3< T > &b) |
Test whether two lines are
orthogonal. |
|
template<typename T > | |
bool | BALL::isOrthogonal (const TVector3< T > &vector, const TPlane3< T > &plane) |
Test whether a vector3 and a plane
are orthogonal. |
|
template<typename T > | |
bool | BALL::isOrthogonal (const TPlane3< T > &plane, const TVector3< T > &vector) |
Test whether a plane and a vector3
are orthogonal. |
|
template<typename T > | |
bool | BALL::isOrthogonal (const TPlane3< T > &a, const TPlane3< T > &b) |
Test whether two planes are
orthogonal. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TVector3< T > &point, const TLine3< T > &line) |
Test whether a line is intersecting
a point. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TLine3< T > &line, const TVector3< T > &point) |
Test whether a line is intersecting
a point. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TLine3< T > &a, const TLine3< T > &b) |
Test whether two lines are
intersecting. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TVector3< T > &point, const TPlane3< T > &plane) |
Test whether a point lies in a
plane. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TPlane3< T > &plane, const TVector3< T > &point) |
Test whether a point lies in a
plane. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TLine3< T > &line, const TPlane3< T > &plane) |
Test whether a line is intersecting
a plane. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TPlane3< T > &plane, const TLine3< T > &line) |
Test whether a plane is intersecting
a line. |
|
template<typename T > | |
bool | BALL::isIntersecting (const TPlane3< T > &a, const TPlane3< T > &b) |
Test whether two planes are
intersecting. |
|
template<typename T > | |
bool | BALL::isParallel (const TLine3< T > &line, const TPlane3< T > &plane) |
Test whether a line and a plane are
parallel. |
|
template<typename T > | |
bool | BALL::isParallel (const TPlane3< T > &plane, const TLine3< T > &line) |
Test whether a plane and a line are
parallel. |
|
template<typename T > | |
bool | BALL::isParallel (const TPlane3< T > &a, const TPlane3< T > &b) |
Test whether two planes are
parallel. |
|
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) |
Return the oriented angle of two
vectors with a normal vector. |
|
template<typename T > | |
TAngle< T > | BALL::getOrientedAngle (const TVector3< T > &a, const TVector3< T > &b, const TVector3< T > &normal) throw (Exception::DivisionByZero) |
Return the oriented angle of two
vectors with a normal vector. |
|
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) |
Return the torsion angle of four
points to each other. |
bool BALL::GetAngle | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b, | |||
TAngle< T > & | intersection_angle | |||
) |
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.
Referenced by BALL::GetAngle().
bool BALL::GetAngle | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane, | |||
TAngle< T > & | intersection_angle | |||
) |
Get the angle between a line and a plane.
line | the line | |
plane | the plane | |
intersection_angle | the resulting angle |
References BALL::GetAngle().
bool BALL::GetAngle | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line, | |||
TAngle< T > & | intersection_angle | |||
) |
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.
bool BALL::GetAngle | ( | const TVector3< T > & | vector, | |
const TPlane3< T > & | plane, | |||
TAngle< T > & | intersection_angle | |||
) |
Get the angle between a vector3 and a plane.
vector | the vector3 | |
plane | the plane | |
intersection_angle | the resulting angle |
References BALL::GetAngle().
bool BALL::GetAngle | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | vector, | |||
TAngle< T > & | intersection_angle | |||
) |
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.
bool BALL::GetAngle | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b, | |||
TAngle< T > & | intersection_angle | |||
) |
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().
bool BALL::GetAngle | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
TAngle< T > & | intersection_angle | |||
) |
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().
T BALL::getDeterminant | ( | const T * | m, | |
Size | dim | |||
) |
Get the determinant of any matrix.
m | pointer to matrix | |
dim | dimension of the matrix |
References BALL::getDeterminant_().
T BALL::getDeterminant2 | ( | const T & | m00, | |
const T & | m01, | |||
const T & | m10, | |||
const T & | m11 | |||
) |
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 |
T BALL::getDeterminant2 | ( | const T * | m | ) |
Get the determinant of an 2x2 matrix.
m | pointer to matrix |
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 | |||
) |
Get the determinant of an 3x3 matrix.
m00,m01,m02,m10,m11,m12,m20,m21,m22 | the elements of the matrix |
T BALL::getDeterminant3 | ( | const T * | m | ) |
Get the determinant of an 3x3 matrix.
m | pointer to matrix |
T BALL::getDeterminant_ | ( | const T * | m, | |
Size | dim | |||
) |
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 |
Referenced by BALL::getDeterminant().
T BALL::GetDistance | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) | throw (Exception::DivisionByZero) |
Get the distance between two planes.
a | the first plane | |
b | the second plane |
References BALL::Maths::abs().
Referenced by BALL::GetDistance(), BALL::GetIntersection(), and BALL::isIntersecting().
T BALL::GetDistance | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line | |||
) | throw (Exception::DivisionByZero) |
Get the distance between a plane and a line.
plane | the plane | |
line | the line |
References BALL::GetDistance().
T BALL::GetDistance | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane | |||
) | throw (Exception::DivisionByZero) |
Get the distance between a line and a plane.
line | the line | |
plane | the plane |
References BALL::Maths::abs().
T BALL::GetDistance | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | point | |||
) | throw (Exception::DivisionByZero) |
Get the distance between a plane and a point.
plane | the plane | |
point | the point |
References BALL::GetDistance().
T BALL::GetDistance | ( | const TVector3< T > & | point, | |
const TPlane3< T > & | plane | |||
) | throw (Exception::DivisionByZero) |
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) |
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().
T BALL::GetDistance | ( | const TVector3< T > & | point, | |
const TLine3< T > & | line | |||
) | throw (Exception::DivisionByZero) |
Get the distance between a point and a line.
point | the point | |
line | the line |
References BALL::GetDistance().
T BALL::GetDistance | ( | const TLine3< T > & | line, | |
const TVector3< T > & | point | |||
) | throw (Exception::DivisionByZero) |
Get the distance between a line and a point.
line | the line | |
point | the point |
T BALL::GetDistance | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) |
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.
bool BALL::GetIntersection | ( | const TSphere3< T > & | s1, | |
const TSphere3< T > & | s2, | |||
const TSphere3< T > & | s3, | |||
TVector3< T > & | p1, | |||
TVector3< T > & | p2, | |||
bool | test =
true |
|||
) |
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::Maths::isNotEqual(), BALL::TLine3< T >::p, BALL::TSphere3< T >::p, BALL::TSphere3< T >::radius, and BALL::SolveQuadraticEquation().
Referenced by BALL::GetIntersection().
bool BALL::GetIntersection | ( | const TSphere3< T > & | a, | |
const TSphere3< T > & | b, | |||
TCircle3< T > & | intersection_circle | |||
) |
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.
bool BALL::GetIntersection | ( | const TPlane3< T > & | plane, | |
const TSphere3< T > & | sphere, | |||
TCircle3< T > & | intersection_circle | |||
) |
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 | |||
) |
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().
bool BALL::GetIntersection | ( | const TLine3< T > & | line, | |
const TSphere3< T > & | sphere, | |||
TVector3< T > & | intersection_point1, | |||
TVector3< T > & | intersection_point2 | |||
) |
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 | |||
) |
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 | |||
) |
Get the intersection line between two planes.
plane1 | the first plane | |
plane2 | the second plane | |
line | the resulting intersection |
References BALL::TLine3< T >::d, BALL::Maths::isZero(), BALL::TPlane3< T >::n, BALL::TLine3< T >::p, and BALL::TPlane3< T >::p.
bool BALL::GetIntersection | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane, | |||
TVector3< T > & | intersection_point | |||
) |
Get the intersection point between a line and a plane.
line | the line | |
plane | the plane | |
intersection_point | the resulting intersection |
References BALL::GetIntersection().
bool BALL::GetIntersection | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line, | |||
TVector3< T > & | intersection_point | |||
) |
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 | |||
) |
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().
TVector3<T> BALL::GetPartition | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
const T & | r, | |||
const T & | s | |||
) | throw (Exception::DivisionByZero) |
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 |
TVector3<T> BALL::GetPartition | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) |
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) |
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.
bool BALL::isCollinear | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) |
Test whether two vector3 are collinear.
a | the first vector3 | |
b | the second vector3 |
Referenced by BALL::isOrthogonal(), and BALL::isParallel().
bool BALL::isComplanar | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
const TVector3< T > & | c, | |||
const TVector3< T > & | d | |||
) |
Test whether four vector3 are complanar.
a | the first vector3 | |
b | the second vector3 | |
c | the third vector3 | |
d | the fourth vector3 |
bool BALL::isComplanar | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b, | |||
const TVector3< T > & | c | |||
) |
Test whether three vector3 are complanar.
a | the first vector3 | |
b | the second vector3 | |
c | the third vector3 |
References BALL::Maths::isZero().
bool BALL::isIntersecting | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) |
Test whether two planes are intersecting.
a | the first plane | |
b | the second plane |
References BALL::GetDistance(), and BALL::Maths::isZero().
Referenced by BALL::isIntersecting().
bool BALL::isIntersecting | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line | |||
) |
Test whether a plane is intersecting a line.
plane | the plane | |
line | the line |
References BALL::isIntersecting().
bool BALL::isIntersecting | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane | |||
) |
Test whether a line is intersecting a plane.
line | the line | |
plane | the plane |
References BALL::GetDistance(), and BALL::Maths::isZero().
bool BALL::isIntersecting | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | point | |||
) |
Test whether a point lies in a plane.
plane | the plane | |
point | the point |
References BALL::isIntersecting().
bool BALL::isIntersecting | ( | const TVector3< T > & | point, | |
const TPlane3< T > & | plane | |||
) |
Test whether a point lies in a plane.
point | the point | |
plane | the plane |
References BALL::GetDistance(), and BALL::Maths::isZero().
bool BALL::isIntersecting | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b | |||
) |
Test whether two lines are intersecting.
a | the first line | |
b | the second line |
References BALL::GetDistance(), and BALL::Maths::isZero().
bool BALL::isIntersecting | ( | const TLine3< T > & | line, | |
const TVector3< T > & | point | |||
) |
Test whether a line is intersecting a point.
line | the line | |
point | the point |
References BALL::isIntersecting().
bool BALL::isIntersecting | ( | const TVector3< T > & | point, | |
const TLine3< T > & | line | |||
) |
Test whether a line is intersecting a point.
point | the point | |
line | the line |
References BALL::GetDistance(), and BALL::Maths::isZero().
bool BALL::isOrthogonal | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) |
Test whether two planes are orthogonal.
a | the first plane | |
b | the second plane |
References BALL::Maths::isZero(), and BALL::TPlane3< T >::n.
Referenced by BALL::isOrthogonal(), and BALL::isParallel().
bool BALL::isOrthogonal | ( | const TPlane3< T > & | plane, | |
const TVector3< T > & | vector | |||
) |
Test whether a plane and a vector3 are orthogonal.
plane | the plane | |
vector | the vector3 |
References BALL::isOrthogonal().
bool BALL::isOrthogonal | ( | const TVector3< T > & | vector, | |
const TPlane3< T > & | plane | |||
) |
Test whether a vector3 and a plane are orthogonal.
vector | the vector3 | |
plane | the plane |
References BALL::isCollinear(), and BALL::TPlane3< T >::n.
bool BALL::isOrthogonal | ( | const TLine3< T > & | a, | |
const TLine3< T > & | b | |||
) |
Test whether two lines are orthogonal.
a | the first line | |
b | the second line |
References BALL::TLine3< T >::d, and BALL::Maths::isZero().
bool BALL::isOrthogonal | ( | const TLine3< T > & | line, | |
const TVector3< T > & | vector | |||
) |
Test whether a line and a vector3 are orthogonal.
line | the line | |
vector | the vector |
References BALL::isOrthogonal().
bool BALL::isOrthogonal | ( | const TVector3< T > & | vector, | |
const TLine3< T > & | line | |||
) |
Test whether a vector3 and a line are orthogonal.
vector | the vector | |
line | the line |
References BALL::TLine3< T >::d, and BALL::Maths::isZero().
bool BALL::isOrthogonal | ( | const TVector3< T > & | a, | |
const TVector3< T > & | b | |||
) |
Test whether two vector3 are orthogonal.
a | the first vector3 | |
b | the second vector3 |
References BALL::Maths::isZero().
bool BALL::isParallel | ( | const TPlane3< T > & | a, | |
const TPlane3< T > & | b | |||
) |
Test whether two planes are parallel.
a | the first plane | |
b | the second plane |
References BALL::isCollinear(), and BALL::TPlane3< T >::n.
Referenced by BALL::isParallel().
bool BALL::isParallel | ( | const TPlane3< T > & | plane, | |
const TLine3< T > & | line | |||
) |
Test whether a plane and a line are parallel.
plane | the plane | |
line | the line |
References BALL::isParallel().
bool BALL::isParallel | ( | const TLine3< T > & | line, | |
const TPlane3< T > & | plane | |||
) |
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.
short BALL::SolveQuadraticEquation | ( | const T & | a, | |
const T & | b, | |||
const T & | c, | |||
T & | x1, | |||
T & | x2 | |||
) |
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 | |||
) |
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 foundReferences BALL::Maths::isLess(), BALL::Maths::isNan(), and BALL::Maths::isZero().
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 | |||
) |
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 foundReferences BALL::Maths::isZero().
Referenced by BALL::GetIntersection().