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_
1.5.1