Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
jafar::geom::Line< dimension > Class Template Reference

This class defines a line (which is a space of dimension 1). More...


Detailed Description

template<int dimension>
class jafar::geom::Line< dimension >

This class defines a line (which is a space of dimension 1).

Definition at line 20 of file Line.hpp.

#include <Line.hpp>

Inheritance diagram for jafar::geom::Line< dimension >:
Inheritance graph
[legend]

List of all members.

Classes

class  Driver
 Base class of Drivers for a Line. More...
class  EuclideanDriver
 An EuclideanDriver for a Line is used for Lines known from their origin (a point of the line) and the direction verctor. More...
class  TwoPointsPointerDriver
 The TwoPointsPointerDriver is used for Line for which we knows two points. More...

Public Member Functions

 Line (Driver *d)
 Line (const Line &l)
Lineoperator= (const Line &rhs)
virtual Atom< dimension >::Type type () const
virtual BoundingBox< dimension > boundingBox () const
HomogenousVecD pointAt (double t) const
 This will call Line::Driver::pointAt .
HomogenousSymMatrixD pointAtCov (double t, double tCov) const
 This will call Line::Driver::pointAt .
HomogenousVecD origin () const
 This will call Line::Driver::origin .
HomogenousSymMatrixD originCov () const
HomogenousVecD direction () const
 This will call Line::Driver::direction .
HomogenousSymMatrixD directionCov () const
HomogenousVecD project (const HomogenousVecD &p) const
 Project "orthogonally" a point on the line.
HomogenousVecD project (const Point< dimension > &p) const
 Project "orthogonally" a point on the line.
void projectCov (const HomogenousVecD &p, const HomogenousSymMatrixD &pCov, HomogenousVecD &v, HomogenousSymMatrixD &vCov) const
 Compute the projection and the associated covariance of a point.
void projectCov (const Point< dimension > &p, HomogenousVecD &v, HomogenousSymMatrixD &cov) const
 Compute the projection and the associated covariance of a point.
void closestPoint (const Line< dimension > &l, HomogenousVecD &v1, HomogenousVecD &v2) const
void closestPointCov (const Line< dimension > &l, HomogenousVecD &v1, HomogenousSymMatrixD &cov1, HomogenousVecD &v2, HomogenousSymMatrixD &cov2) const
DriverclonedDriver () const

Protected Member Functions

void setDriver (Driver *d)

Private Types

typedef Atom< dimension >
::HomogenousVecD 
HomogenousVecD
typedef Atom< dimension >
::HomogenousMatrixD 
HomogenousMatrixD
typedef Atom< dimension >
::HomogenousSymMatrixD 
HomogenousSymMatrixD
typedef Atom< dimension >::VecD VecD
typedef Repere< dimension > RepereD

Private Member Functions

void closestPointJac (const HomogenousVecD &O1, const HomogenousVecD &u1, const HomogenousVecD &O2, const HomogenousVecD &u2, HomogenousMatrixD &O1Jac, HomogenousMatrixD &u1Jac, HomogenousMatrixD &O2Jac, HomogenousMatrixD &u2Jac) const
template<>
void closestPointJac (const HomogenousVecD &O1, const HomogenousVecD &u1, const HomogenousVecD &O2, const HomogenousVecD &u2, HomogenousMatrixD &O1Jac, HomogenousMatrixD &u1Jac, HomogenousMatrixD &O2Jac, HomogenousMatrixD &u2Jac) const

Private Attributes

Driverm_driver

Member Function Documentation

template<int dimension>
BoundingBox< dimension > jafar::geom::Line< dimension >::boundingBox ( ) const [inline, virtual]
Returns:
the bounding box that completely include this Atom.

Implements jafar::geom::Atom< dimension >.

Reimplemented in jafar::geom::Segment< dimension >.

Definition at line 463 of file LineImpl.hpp.

template<int dimension>
Line< dimension >::Driver * jafar::geom::Line< dimension >::clonedDriver ( ) const [inline]
Returns:
a deep copy of the driver used for this line.

Definition at line 452 of file LineImpl.hpp.

References jafar::geom::Line< dimension >::Driver::cloneLineDriver().

template<int dimension>
Line< dimension >::HomogenousVecD jafar::geom::Line< dimension >::direction ( ) const [inline]
template<int dimension>
Line< dimension >::HomogenousVecD jafar::geom::Line< dimension >::origin ( ) const [inline]

This will call Line::Driver::origin .

Returns:
the origin of the line (it should correspond to t = 0.0), but there is no specific constraint

Definition at line 184 of file LineImpl.hpp.

References jafar::geom::Line< dimension >::Driver::origin().

Referenced by jafar::geom::Segment< dimension >::TwoPointsDriver::cloneLineDriver(), jafar::geom::intersection(), jafar::geom::Line< dimension >::project(), and jafar::geom::Line< dimension >::projectCov().

template<int dimension>
Line< dimension >::HomogenousVecD jafar::geom::Line< dimension >::pointAt ( double  t) const [inline]

This will call Line::Driver::pointAt .

Parameters:
tparameter
Returns:
the coordinates of the point corresponding to the parameter t

Definition at line 174 of file LineImpl.hpp.

References jafar::geom::Line< dimension >::Driver::pointAt().

Referenced by jafar::geom::intersection().

template<int dimension>
Line< dimension >::HomogenousSymMatrixD jafar::geom::Line< dimension >::pointAtCov ( double  t,
double  tCov 
) const [inline]

This will call Line::Driver::pointAt .

Parameters:
tparameter
Returns:
the coordinates of the point corresponding to the parameter t

Definition at line 179 of file LineImpl.hpp.

References jafar::geom::Line< dimension >::Driver::direction().

template<int dimension>
virtual Atom<dimension>::Type jafar::geom::Line< dimension >::type ( ) const [inline, virtual]
Returns:
the type of the object.

Implements jafar::geom::Atom< dimension >.

Reimplemented in jafar::geom::Segment< dimension >.

Definition at line 110 of file Line.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:37 for Jafar by doxygen 1.7.6.1
LAAS-CNRS