contrib/gel/pop/pop_point_2d.h

Go to the documentation of this file.
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*> &params);
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_

Generated on Sat Sep 6 05:15:24 2008 for contrib/gel/pop by  doxygen 1.5.1