Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
DistanceCov.hpp
00001 /* $Id$ */
00002 
00003 #include "DistanceCovImpl.hpp"
00004 
00005 #ifndef _GEOM_DISTANCE_HPP_
00006 #define _GEOM_DISTANCE_HPP_
00007 
00008 namespace jafar {
00009   namespace geom {
00013     template<int dimension>
00014     inline void distanceCov(const typename Atom<dimension>::HomogenousVecD& pt1,
00015                             const typename Atom<dimension>::HomogenousSymMatrixD& pt1Cov,
00016                             const typename Atom<dimension>::HomogenousVecD& pt2,
00017                             const typename Atom<dimension>::HomogenousSymMatrixD& pt2Cov,
00018                             double& distance, double& cov );
00019     
00023     template<int dimension>
00024     inline void distanceCov(const Point<dimension>&, const Point<dimension>&, double& distance, double& cov );
00028     template<int dimension>
00029     inline void distanceCov(const Point<dimension>&, const typename Atom<dimension>::HomogenousVecD& pt2,
00030                             const typename Atom<dimension>::HomogenousSymMatrixD& pt2Cov,
00031                             double& distance, double& cov );
00035     template<int dimension>
00036     inline void distanceCov(const typename Atom<dimension>::HomogenousVecD& pt1,
00037                             const typename Atom<dimension>::HomogenousSymMatrixD& pt1Cov,
00038                             const Line<dimension>&, double& distance, double& cov );
00039     template<int dimension>
00040     inline void distanceCov(const Line<dimension>& li2, 
00041                             const typename Atom<dimension>::HomogenousVecD& pt1v,
00042                             const typename Atom<dimension>::HomogenousSymMatrixD& pt1vCov,
00043                             double& distance, double& cov )
00047     template<int dimension>
00048     inline void distanceCov(const Point<dimension>&, const Line<dimension>&, double& distance, double& cov );
00052     template<int dimension>
00053     inline void distanceCov(const Line<dimension>&, const Point<dimension>&, double& distance, double& cov );
00057     template<int dimension>
00058     inline void distanceCov(const typename Atom<dimension>::HomogenousVecD& pt1,
00059                             const typename Atom<dimension>::HomogenousSymMatrixD& pt1Cov,
00060                             const HyperPlane<dimension>&, double& distance, double& cov );
00061     template<int dimension>
00062     inline void distanceCov(const HyperPlane<dimension>&,
00063                             const typename Atom<dimension>::HomogenousVecD& pt1,
00064                             const typename Atom<dimension>::HomogenousSymMatrixD& pt1Cov,
00065                             double& distance, double& cov);
00066     template<int dimension>
00067     inline void distanceCov(const Point<dimension>&, const HyperPlane<dimension>&, double& distance, double& cov );
00068     template<int dimension>
00069     inline void distanceCov(const HyperPlane<dimension>&, const Point<dimension>&, double& distance, double& cov );
00070     template<int dimension>
00071     inline void distanceCov(const Segment<dimension>& seg, const Line<dimension>& l, double& distance, double& cov);
00072     template<int dimension>
00073     inline void distanceCov(const Segment<dimension>& seg,
00074                             const typename Atom<dimension>::HomogenousVecD& pt1,
00075                             const typename Atom<dimension>::HomogenousSymMatrixD& pt1Cov,
00076                             double& distance, double& cov);
00077     template<int dimension>
00078     inline void distanceCov(const Segment<dimension>& seg, const Point<dimension>& l, double& distance, double& cov);
00079     template<int dimension>
00080     inline void distanceCov(const Point<dimension>& seg, const Segment<dimension>& l, double& distance, double& cov);
00081     template<int dimension>
00082     inline void distanceCov(const Line<dimension>& seg, const Segment<dimension>& l, double& distance, double& cov);
00083     template<int dimension>
00084     inline void distanceCov(const Segment<dimension>& seg, const HyperPlane<dimension>& hp, double& distance, double& distanceCov);
00085     template<int dimension>
00086     inline void distanceCov(const HyperPlane<dimension>& hp, const Segment<dimension>& seg, double& distance, double& distanceCov);
00087     // Segment - polyline
00088     template<int dimension>
00089     inline void distanceCov(const Segment<dimension>& seg, const PolyLine<dimension>& pl, double& distance, double& distanceCov);
00090     template<int dimension>
00091     inline void distanceCov(const PolyLine<dimension>& pl, const Segment<dimension>& seg, double& distance, double& distanceCov);
00092     // Facet - segment
00093     template<int dimension>
00094     inline void distanceCov(const Facet<dimension>& hp, const Segment<dimension>& seg, double& distance, double& distanceCov);
00095     template<int dimension>
00096     inline void distanceCov(const Segment<dimension>& seg, const Facet<dimension>& hp, double& distance, double& distanceCov);
00097     // Facet - Line
00098     template<int dimension>
00099     inline void distanceCov(const Facet<dimension>& hp, const Line<dimension>& seg, double& distance, double& distanceCov);
00100     template<int dimension>
00101     inline void distanceCov(const Line<dimension>& seg, const Facet<dimension>& hp, double& distance, double& distanceCov);
00102     // Facet - HyperPlane
00103     template<int dimension>
00104     inline void distanceCov(const Facet<dimension>& hp, const HyperPlane<dimension>& seg, double& distance, double& distanceCov);
00105     template<int dimension>
00106     inline void distanceCov(const HyperPlane<dimension>& seg, const Facet<dimension>& hp, double& distance, double& distanceCov);
00107     // Facet - Facet
00108     template<int dimension>
00109     inline void distanceCov(const Facet<dimension>& seg, const Facet<dimension>& hp, double& distance, double& distanceCov);
00110   }
00111 }
00112 
00113 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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