| Polaris: SimEdge.h Source File | ||
|
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members
SimEdge.hGo to the documentation of this file.00001 #ifndef _SIMEDGE_H 00002 #define _SIMEDGE_H 00003 /// 00004 /// \class SimEdge 00005 /// \brief a class for edges of undirected graphs 00006 /// \defgroup Base 00007 /// \ingroup Base 00008 /// General utility routines 00009 /// \see SimEdge.h 00010 /// \see SimEdge.cc 00011 /// \see SimEdge.h 00012 /// 00013 /// \endcode 00014 /// \section Description Description 00015 /// This module contains the structures needed to represent 00016 /// an edge in a Similarity graph. See the classes SimGraph and SimBiGraph. 00017 /// Consider an edge as connecting two nodes, node 1 and node 2. 00018 /// 00019 /// The edge consists of pointers to the two access descriptors 00020 /// involved, a similarity type and an array to indicate 00021 /// the matching of dimensions between the two descriptors. 00022 /// 00023 /// \endcode 00024 /// \section KNOWN KNOWN/POSSIBLE BUGS/LIMITATIONS 00025 /// 00026 #ifdef POLARIS_GNU_PRAGMAS 00027 #pragma interface 00028 #endif 00029 /// 00030 #include "ClassNames.h" 00031 #include "Listable.h" 00032 #include "AbstractAccess.h" 00033 #include "SimEdgeKernel.h" 00034 /// 00035 class SimEdge : public Listable { 00036 00037 protected: 00038 AbstractAccess * _node_1; 00039 AbstractAccess * _node_2; 00040 int _index1; 00041 int _index2; 00042 SimEdgeKernel * _edge; 00043 00044 public: 00045 SimEdge( ); 00046 SimEdge( int index1, int index2, 00047 AbstractAccess * node1, AbstractAccess * node2, 00048 SimEdgeKernel * edge); 00049 ~SimEdge( ); 00050 00051 AbstractAccess * node_1( ) const; ///< return descriptor pointer 00052 AbstractAccess * node_2( ) const; ///< return descriptor pointer 00053 int index1( ) const; ///< return index 00054 int index2( ) const; ///< return index 00055 SimEdgeKernel * edge( ) const; ///< return edge kernel pointer 00056 SimilarityType type( ) const; ///< return the similarity type 00057 00058 char * type_name() const; ///< return the name of the enclosed type 00059 00060 ///< This one is to satisfy Listable 00061 virtual void print(ostream & o) const; 00062 00063 virtual SimEdge *clone() const; 00064 virtual Listable *listable_clone() const; 00065 00066 friend ostream & operator << (ostream & o, const SimEdge & ad); 00067 }; 00068 00069 #endif 00070 |
||
|