Analytical Geometry
[Mathematics]

Functions

template<typename T >
BALL_INLINE T BALL::getDeterminant_ (const T *m, Size dim)
template<typename 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 >
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)

Detailed Description

representation of analytical geometry functions, using the classes: TAngle, TCircle3, TLine3, TPlane3, TSphere3, TVector3.


Function Documentation

template<typename T >
BALL_INLINE bool BALL::GetAngle ( const TPlane3< T > &  a,
const TPlane3< T > &  b,
TAngle< T > &  intersection_angle 
) [inline]

Get the angle between two planes.

Parameters:
a the first plane
b the second plane
intersection_angle the resulting angle
Returns:
bool, true if an angle can be calculated, otherwise false

Definition at line 663 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
line the line
plane the plane
intersection_angle the resulting angle
Returns:
bool, true if an angle can be calculated, otherwise false

Definition at line 649 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
plane the plane
line the line
intersection_angle the resulting angle
Returns:
bool, true if an angle can be calculated, otherwise false

Definition at line 628 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
vector the vector3
plane the plane
intersection_angle the resulting angle
Returns:
bool, true if an angle can be calculated, otherwise false

Definition at line 615 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
plane the plane
vector the Vector3
intersection_angle the resulting angle
Returns:
bool, true if an angle can be calculated, otherwise false

Definition at line 592 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::GetAngle ( const TLine3< T > &  a,
const TLine3< T > &  b,
TAngle< T > &  intersection_angle 
) [inline]

Get the angle between two lines.

Parameters:
a the first line
b the second line
intersection_angle the resulting angle
Returns:
bool, true if an angle can be calculated, otherwise false

Definition at line 572 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::GetAngle ( const TVector3< T > &  a,
const TVector3< T > &  b,
TAngle< T > &  intersection_angle 
) [inline]

Get the angle between two Vector3.

Parameters:
a the first vector
b the second vector
intersection_angle the resulting angle
Returns:
bool, always true

Definition at line 553 of file analyticalGeometry.h.

template<typename T >
T BALL::getDeterminant ( const T *  m,
Size  dim 
) [inline]

Get the determinant of any matrix.

Parameters:
m pointer to matrix
dim dimension of the matrix

Definition at line 95 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
m00 first value of the matrix
m01 second value of the matrix
m10 third value of the matrix
m11 fourth value of the matrix

Definition at line 135 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE T BALL::getDeterminant2 ( const T *  m  )  [inline]

Get the determinant of an 2x2 matrix.

Parameters:
m pointer to matrix

Definition at line 121 of file analyticalGeometry.h.

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 
) [inline]

Get the determinant of an 3x3 matrix.

Parameters:
m00,m01,m02,m10,m11,m12,m20,m21,m22 the elements of the matrix

Definition at line 161 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE T BALL::getDeterminant3 ( const T *  m  )  [inline]

Get the determinant of an 3x3 matrix.

Parameters:
m pointer to matrix

Definition at line 145 of file analyticalGeometry.h.

template<typename T >
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)

Parameters:
m pointer to matrix
dim dimension of the matrix

Definition at line 59 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE T BALL::GetDistance ( const TPlane3< T > &  a,
const TPlane3< T > &  b 
) throw (Exception::DivisionByZero) [inline]

Get the distance between two planes.

Parameters:
a the first plane
b the second plane
Returns:
T the distance

Definition at line 534 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
plane the plane
line the line
Returns:
T the distance

Definition at line 521 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
line the line
plane the plane
Returns:
T the distance

Definition at line 503 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
plane the plane
point the point
Returns:
T the distance

Definition at line 490 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
point the point
plane the plane
Returns:
T the distance

Definition at line 471 of file analyticalGeometry.h.

template<typename T >
T BALL::GetDistance ( const TLine3< T > &  a,
const TLine3< T > &  b 
) throw (Exception::DivisionByZero) [inline]

Get the distance between two lines.

Parameters:
a the first line
b the second line
Returns:
T the distance

Definition at line 434 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
point the point
line the line
Returns:
T the distance

Definition at line 422 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
line the line
point the point
Returns:
T the distance

Definition at line 405 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE T BALL::GetDistance ( const TVector3< T > &  a,
const TVector3< T > &  b 
) [inline]

Get the distance between two points.

Parameters:
a the first point
b the second point
Returns:
T the distance

Definition at line 389 of file analyticalGeometry.h.

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 
) [inline]

Get the intersection points between three spheres.

Parameters:
s1 the first sphere
s2 the second sphere
s3 the third sphere
p1 the first intersection point
p2 the second intersection point
test 
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 931 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
a the first sphere
b the second sphere
intersection_circle the intersection circle
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 886 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
plane the plane
sphere the sphere
intersection_circle the intersection circle
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 872 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
sphere the sphere
plane the plane
intersection_circle the intersection circle
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 838 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
line the line
sphere the sphere
intersection_point1 the first intersection point
intersection_point2 the second intersection point
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 826 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
sphere the sphere
line the line
intersection_point1 the first intersection point
intersection_point2 the second intersection point
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 801 of file analyticalGeometry.h.

template<typename T >
bool BALL::GetIntersection ( const TPlane3< T > &  plane1,
const TPlane3< T > &  plane2,
TLine3< T > &  line 
) [inline]

Get the intersection line between two planes.

Parameters:
plane1 the first plane
plane2 the second plane
line the resulting intersection
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 734 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
line the line
plane the plane
intersection_point the resulting intersection
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 722 of file analyticalGeometry.h.

template<typename T >
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.

Parameters:
plane the plane
line the line
intersection_point the resulting intersection
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 703 of file analyticalGeometry.h.

template<typename T >
bool BALL::GetIntersection ( const TLine3< T > &  a,
const TLine3< T > &  b,
TVector3< T > &  point 
) [inline]

Get the intersection point between two lines.

Parameters:
a the first line
b the second line
point the resulting intersection
Returns:
bool, true if an intersection can be calculated, otherwise false

Definition at line 683 of file analyticalGeometry.h.

template<typename T >
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.

Definition at line 1301 of file analyticalGeometry.h.

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) [inline]

Return the oriented angle of two vectors with a normal vector.

Definition at line 1260 of file analyticalGeometry.h.

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) [inline]

Get the partition of two vectors, calculated with two ratio factors.

Parameters:
a the first vector
b the second vector
r the ratio factor of the first vector
s the ratio factor of the second vector
Returns:
TVector3 the partition

Definition at line 368 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE TVector3<T> BALL::GetPartition ( const TVector3< T > &  a,
const TVector3< T > &  b 
) [inline]

Get the partition of two vectors.

Parameters:
a the first vector
b the second vector
Returns:
TVector3 the partition

Definition at line 353 of file analyticalGeometry.h.

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) [inline]

Return the torsion angle of four points to each other.

Parameters:
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
Returns:
TAngle the torsion angle

Definition at line 1324 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isCollinear ( const TVector3< T > &  a,
const TVector3< T > &  b 
) [inline]

Test whether two vector3 are collinear

Parameters:
a the first vector3
b the second vector3
Returns:
bool, true or false

Definition at line 1008 of file analyticalGeometry.h.

template<typename T >
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

Parameters:
a the first vector3
b the second vector3
c the third vector3
d the fourth vector3
Returns:
bool, true or false

Definition at line 1035 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isComplanar ( const TVector3< T > &  a,
const TVector3< T > &  b,
const TVector3< T > &  c 
) [inline]

Test whether three vector3 are complanar

Parameters:
a the first vector3
b the second vector3
c the third vector3
Returns:
bool, true or false

Definition at line 1021 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TPlane3< T > &  a,
const TPlane3< T > &  b 
) [inline]

Test whether two planes are intersecting.

Parameters:
a the first plane
b the second plane
Returns:
bool, true or false

Definition at line 1215 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TPlane3< T > &  plane,
const TLine3< T > &  line 
) [inline]

Test whether a plane is intersecting a line.

Parameters:
plane the plane
line the line
Returns:
bool, true or false

Definition at line 1203 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TLine3< T > &  line,
const TPlane3< T > &  plane 
) [inline]

Test whether a line is intersecting a plane.

Parameters:
line the line
plane the plane
Returns:
bool, true or false

Definition at line 1191 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TPlane3< T > &  plane,
const TVector3< T > &  point 
) [inline]

Test whether a point lies in a plane.

Parameters:
plane the plane
point the point
Returns:
bool, true or false

Definition at line 1179 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TVector3< T > &  point,
const TPlane3< T > &  plane 
) [inline]

Test whether a point lies in a plane.

Parameters:
point the point
plane the plane
Returns:
bool, true or false

Definition at line 1167 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TLine3< T > &  a,
const TLine3< T > &  b 
) [inline]

Test whether two lines are intersecting.

Parameters:
a the first line
b the second line
Returns:
bool, true or false

Definition at line 1155 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TLine3< T > &  line,
const TVector3< T > &  point 
) [inline]

Test whether a line is intersecting a point.

Parameters:
line the line
point the point
Returns:
bool, true or false

Definition at line 1143 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isIntersecting ( const TVector3< T > &  point,
const TLine3< T > &  line 
) [inline]

Test whether a line is intersecting a point.

Parameters:
point the point
line the line
Returns:
bool, true or false

Definition at line 1131 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isOrthogonal ( const TPlane3< T > &  a,
const TPlane3< T > &  b 
) [inline]

Test whether two planes are orthogonal.

Parameters:
a the first plane
b the second plane
Returns:
bool, true or false

Definition at line 1119 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isOrthogonal ( const TPlane3< T > &  plane,
const TVector3< T > &  vector 
) [inline]

Test whether a plane and a vector3 are orthogonal.

Parameters:
plane the plane
vector the vector3
Returns:
bool, true or false

Definition at line 1107 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isOrthogonal ( const TVector3< T > &  vector,
const TPlane3< T > &  plane 
) [inline]

Test whether a vector3 and a plane are orthogonal.

Parameters:
vector the vector3
plane the plane
Returns:
bool, true or false

Definition at line 1095 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isOrthogonal ( const TLine3< T > &  a,
const TLine3< T > &  b 
) [inline]

Test whether two lines are orthogonal.

Parameters:
a the first line
b the second line
Returns:
bool, true or false

Definition at line 1083 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isOrthogonal ( const TLine3< T > &  line,
const TVector3< T > &  vector 
) [inline]

Test whether a line and a vector3 are orthogonal

Parameters:
line the line
vector the vector
Returns:
bool, true or false

Definition at line 1071 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isOrthogonal ( const TVector3< T > &  vector,
const TLine3< T > &  line 
) [inline]

Test whether a vector3 and a line are orthogonal

Parameters:
vector the vector
line the line
Returns:
bool, true or false

Definition at line 1059 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isOrthogonal ( const TVector3< T > &  a,
const TVector3< T > &  b 
) [inline]

Test whether two vector3 are orthogonal

Parameters:
a the first vector3
b the second vector3
Returns:
bool, true or false

Definition at line 1047 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isParallel ( const TPlane3< T > &  a,
const TPlane3< T > &  b 
) [inline]

Test whether two planes are parallel.

Parameters:
a the first plane
b the second plane
Returns:
bool, true or false

Definition at line 1251 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isParallel ( const TPlane3< T > &  plane,
const TLine3< T > &  line 
) [inline]

Test whether a plane and a line are parallel.

Parameters:
plane the plane
line the line
Returns:
bool, true or false

Definition at line 1239 of file analyticalGeometry.h.

template<typename T >
BALL_INLINE bool BALL::isParallel ( const TLine3< T > &  line,
const TPlane3< T > &  plane 
) [inline]

Test whether a line and a plane are parallel.

Parameters:
line the line
plane the plane
Returns:
bool, true or false

Definition at line 1227 of file analyticalGeometry.h.

template<typename T >
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 $x^2 + b x + c = 0$.

Parameters:
a 
b 
c 
x1 the first solution
x2 the second solution
Returns:
short the number of solutions (0 - 2)

Definition at line 312 of file analyticalGeometry.h.

template<typename T >
bool BALL::SolveSystem ( const T *  m,
T *  x,
const Size  dim 
) [inline]

Solve a system of linear equations. Given a system of linear equations

$ \begin{array}{ccccccccc} a_{1,1} x_1 & + & a_{1,2} x_2 & + & \ldots & + & a_{1,n} x_n & = & a_{1,(n+1)} \\ a_{2,1} x_1 & + & a_{2,2} x_2 & + & \ldots & + & a_{2,n} x_n & = & a_{2,(n+1)} \\ \vdots & & \vdots & & \ddots & & \vdots & & \vdots \\ a_{n,1} x_1 & + & a_{n,2} x_2 & + & \ldots & + & a_{n,n} x_n & = & a_{n,(n+1)} \\ \end{array} $
in matrix form, identify the solution $x = (x_1, x_2,\ldots x_N)$.
m should point to a C-style array containing the $n\times(n+1)$ matrix A.
The elements of A are row-ordered, i.e., they are ordered like this:
$ a_{1,1}, a_{1,2}, \cdot, a_{1,(n+1)}, a_{2,1}, \ldots a_{n,(n+1)} $
x points to a C-style array that will contain the solution vector x upon successful termination of the function.
If there is no solution or the system is under-determined, return false.
Parameters:
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)
Returns:
bool true if a solution is found

Definition at line 193 of file analyticalGeometry.h.

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 
) [inline]

Solve a system of two equations of the form $a_1 x_1 + b_1 x_2 = c_1$ and $a_2 x_1 + b_2 x_2 = c_2$.

Parameters:
a1,b1,c1,a2,b2,c2 constants of the system
x1 the first solution
x2 the second solution
Returns:
bool true if a solution is found

Definition at line 287 of file analyticalGeometry.h.

Generated by  doxygen 1.6.3