contrib/gel/pop/pop_vertex.h

Go to the documentation of this file.
00001 // This is gel/pop/pop_vertex.h
00002 #ifndef pop_vertex_h_
00003 #define pop_vertex_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief this is a vertex/coordinate system in a coordinate system graph
00010 //
00011 // \author
00012 //            Peter Tu April 2003
00013 //            General Electric
00014 //
00015 //-------------------------------------------------------------------------------
00016 
00017 #include<vcl_list.h>
00018 class pop_edge;
00019 
00020 //: A parameter that can be optimized
00021 class pop_vertex
00022 {
00023  public:
00024   //: constructor
00025   pop_vertex();
00026 
00027   //: destructor
00028   ~pop_vertex();
00029 
00030   //: A list of edges that can lead to other vertex
00031   void add_edge(pop_edge*);
00032 
00033   //: find a path to another vertex - should be protected and accessed by friend edge TODO
00034   bool search(pop_vertex *destination, vcl_list<pop_edge*> &path);
00035 
00036   //: set all vertex to untouched
00037   void clear();
00038 
00039   //: a flag to which states whether or not the vertex has been touched during a search
00040   bool touched_;
00041 
00042   //: find a path of edges to the following vertex
00043   bool find_path(pop_vertex *destination, vcl_list<pop_edge*> &path);
00044 
00045  private:
00046   //: a list of edges that can lead out of this vertex
00047   vcl_list<pop_edge*> edges_;
00048 };
00049 
00050 #endif // pop_vertex_h_

Generated on Sun Sep 7 05:15:06 2008 for contrib/gel/pop by  doxygen 1.5.1