analyticalGeometry.h File Reference

#include <BALL/COMMON/exception.h>
#include <BALL/MATHS/angle.h>
#include <BALL/MATHS/circle3.h>
#include <BALL/MATHS/line3.h>
#include <BALL/MATHS/plane3.h>
#include <BALL/MATHS/sphere3.h>
#include <BALL/MATHS/vector3.h>

Go to the source code of this file.


Namespaces

namespace  BALL

Defines

#define BALL_MATRIX_CELL(m, dim, row, col)   *((m) + (row) * (dim) + (col))
#define BALL_CELL(x, y)   *((m) + (y) * (dim) + (x))

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)

Define Documentation

#define BALL_CELL ( x,
 )     *((m) + (y) * (dim) + (x))
#define BALL_MATRIX_CELL ( m,
dim,
row,
col   )     *((m) + (row) * (dim) + (col))

Referenced by BALL::SolveSystem().