contrib/gel/pop/pop_edge.h

Go to the documentation of this file.
00001 // This is gel/pop/pop_edge.h
00002 #ifndef pop_edge_h_
00003 #define pop_edge_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief this is a edge/coordinate system transform in a coordinate system graph
00010 //
00011 // \author
00012 //            Peter Tu April 2003
00013 //            General Electric
00014 //
00015 //-------------------------------------------------------------------------------
00016 
00017 class pop_vertex;
00018 #include<pop/pop_transform.h>
00019 #include<vcl_list.h>
00020 
00021 //: A parameter that can be optimized
00022 class pop_edge
00023 {
00024  public:
00025   //: constructor
00026   pop_edge();
00027 
00028   //: destructor
00029   ~pop_edge();
00030 
00031   //: set the first and second vertex
00032   void set_vertex(pop_vertex *v1, pop_vertex *v2);
00033 
00034   //: set the transform
00035   void set_transform(pop_transform *t);
00036 
00037   //: get the transform
00038   pop_transform* get_transform();
00039 
00040   //: help search to find a destination vertex
00041   bool search(pop_vertex* destination, vcl_list<pop_edge*> &path);
00042 
00043  private:
00044   // the source vertex
00045   pop_vertex *v1_;
00046 
00047   // the sink vertex
00048   pop_vertex *v2_;
00049 
00050   // the transform
00051   pop_transform *transform_;
00052 };
00053 
00054 #endif // pop_edge_h_

Generated on Thu Aug 28 05:14:56 2008 for contrib/gel/pop by  doxygen 1.5.1