Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
EdgeProximity.hpp
00001 /* $Id$ */
00002 
00003 #ifndef _SPAF_GRAPH_EDGE_PROXIMITY_HPP_
00004 #define _SPAF_GRAPH_EDGE_PROXIMITY_HPP_
00005 
00006 #include "spaf/Feature.hpp"
00007 #include "spafgraph/Edge.hpp"
00008 #include <iostream>
00009 #include <geom/Atom.hpp>
00010 
00011 namespace jafar {
00012   namespace geom {
00013     struct GeometricRelation;
00014   }
00015   namespace spafgraph {
00016     class Node;
00022     class EdgeProximity : public Edge {
00023       friend class Node;
00024         EdgeProximity(const Node* leftNode, const Node* rightNode);
00025       public:
00026         ~EdgeProximity();
00027         double distance() const;
00028         double distanceCov() const;
00029         double distanceSigma() const;
00030         double cosAngle() const;
00031         double cosAngleCov() const;
00032         double cosAngleSigma() const;
00033         geom::Atom3D::HomogenousVecD characteristicVector(const Node* refNode) const;
00034         const geom::Atom3D::HomogenousSymMatrixD& characteristicVectorCov(const jafar::spafgraph::Node* refNode) const;
00035         const spaf::Feature::Range& occupancyRange(const Node* refNode) const;
00040         bool isCompatible(const EdgeProximity* ep) const;
00041       private:
00042         struct Private;
00043         Private* const d;
00044     };
00045     std::ostream& operator<<(std::ostream& s, const EdgeProximity&);
00046   }
00047 }
00048 
00049 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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