00001 // This is gel/pop/pop_point_2d.h 00002 #ifndef pop_point_2d_h_ 00003 #define pop_point_2d_h_ 00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE 00005 #pragma interface 00006 #endif 00007 //: 00008 // \file 00009 // \brief a 2d point with a coordinate system 00010 // 00011 // \author 00012 // Peter Tu April 2003 00013 // General Electric 00014 // 00015 //------------------------------------------------------------------------------- 00016 00017 #include<vgl/vgl_point_2d.h> 00018 #include<pop/pop_point_2d.h> 00019 #include<pop/pop_geometric_object.h> 00020 #include<pop/pop_vertex.h> 00021 #include<vcl_list.h> 00022 #include<pop/pop_parameter.h> 00023 00024 //: this is a 2d point with a coordinate system 00025 00026 class pop_point_2d:public vgl_point_2d<double>, public pop_geometric_object 00027 { 00028 public: 00029 //: constructor 00030 pop_point_2d(pop_vertex *coordinate_system,vcl_vector<pop_parameter*> ¶ms); 00031 00032 //: constructor 00033 // this is used when we want to represent a non parametric result 00034 pop_point_2d(pop_vertex *coordinate_system, double x, double y); 00035 00036 //: destructor 00037 virtual ~pop_point_2d(); 00038 00039 //: this is the update method 00040 00041 virtual void update(); 00042 00043 //: this is the casting which needs to be done 00044 virtual pop_point_2d* cast_to_pop_point_2d() {return this;} 00045 00046 //: compute the cost between two points 00047 virtual double cost(pop_geometric_object *other); 00048 }; 00049 00050 #endif // pop_point_2d_h_
1.5.1