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)
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)
template<typename T >
BALL_INLINE T BALL::GetDistance (const TVector3< T > &point, const TLine3< T > &line)
template<typename T >
BALL::GetDistance (const TLine3< T > &a, const TLine3< T > &b)
template<typename T >
BALL_INLINE T BALL::GetDistance (const TVector3< T > &point, const TPlane3< T > &plane)
template<typename T >
BALL_INLINE T BALL::GetDistance (const TPlane3< T > &plane, const TVector3< T > &point)
template<typename T >
BALL_INLINE T BALL::GetDistance (const TLine3< T > &line, const TPlane3< T > &plane)
template<typename T >
BALL_INLINE T BALL::GetDistance (const TPlane3< T > &plane, const TLine3< T > &line)
template<typename T >
BALL_INLINE T BALL::GetDistance (const TPlane3< T > &a, const TPlane3< T > &b)
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)
template<typename T >
BALL_INLINE TAngle< T > BALL::getOrientedAngle (const TVector3< T > &a, const TVector3< T > &b, const TVector3< T > &normal)
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)

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 661 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 647 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 626 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 613 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 590 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 570 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 551 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 93 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 133 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 119 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 159 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 143 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 57 of file analyticalGeometry.h.

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

Get the distance between two planes.

Parameters:
a the first plane
b the second plane
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the normal vector of a has zero length

Definition at line 533 of file analyticalGeometry.h.

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

Get the distance between a plane and a line.

Parameters:
plane the plane
line the line
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the normal vector of plane has zero length

Definition at line 520 of file analyticalGeometry.h.

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

Get the distance between a line and a plane.

Parameters:
line the line
plane the plane
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the normal vector of plane has zero length

Definition at line 502 of file analyticalGeometry.h.

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

Get the distance between a plane and a point.

Parameters:
plane the plane
point the point
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the normal vector of plane has zero length

Definition at line 489 of file analyticalGeometry.h.

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

Get the distance between a point and a plane.

Parameters:
point the point
plane the plane
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the normal vector of plane has zero length

Definition at line 470 of file analyticalGeometry.h.

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

Get the distance between two lines.

Parameters:
a the first line
b the second line
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the lines are parallel and a has length 0

Definition at line 433 of file analyticalGeometry.h.

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

Get the distance between a point and a line.

Parameters:
point the point
line the line
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the line has length 0

Definition at line 421 of file analyticalGeometry.h.

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

Get the distance between a line and a point.

Parameters:
line the line
point the point
Returns:
T the distance
Exceptions:
Exception::DivisionByZero if the line has length 0

Definition at line 404 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 387 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 929 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 884 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 870 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 836 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 824 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 799 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 732 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 720 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 701 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 681 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 
) [inline]

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

Exceptions:
Exception::DivisionByZero if at least one vector is zero

Definition at line 1300 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 
) [inline]

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

Exceptions:
Exception::DivisionByZero if at least one vector is zero

Definition at line 1259 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 
) [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
Exceptions:
Exception::DivisionByZero if r+s == 0

Definition at line 367 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 351 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 
) [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
Exceptions:
Exception::DivisionByZero if one of the outer vectors is collinear with the middle one

Definition at line 1323 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 1006 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 1033 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 1019 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 1213 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 1201 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 1189 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 1177 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 1165 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 1153 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 1141 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 1129 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 1117 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 1105 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 1093 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 1081 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 1069 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 1057 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 1045 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 1249 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 1237 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 1225 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 310 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 191 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 285 of file analyticalGeometry.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3