contrib/gel/pop/pop_point_3d.h

Go to the documentation of this file.
00001 // This is gel/pop/pop_point_3d.h
00002 #ifndef pop_point_3d_h_
00003 #define pop_point_3d_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_3d.h>
00018 #include<pop/pop_geometric_object.h>
00019 
00020 //: this is a 2d point with a coordinate system
00021 
00022 class pop_point_3d:public vgl_point_3d<double>, public pop_geometric_object
00023 {
00024  public:
00025   //: constructor
00026   pop_point_3d(pop_vertex *coordinate_system,vcl_vector<pop_parameter*> &params);
00027 
00028   //: used when this is not a parametric object
00029   pop_point_3d(pop_vertex *coordinate_system, double x, double y, double z);
00030 
00031   //: destructor
00032   virtual ~pop_point_3d();
00033 
00034   //: this is the update method
00035 
00036   virtual void update();
00037 
00038   //: this is the casting which needs to be done
00039   virtual pop_point_3d* cast_to_pop_point_3d() {return this;}
00040 
00041   //: this is the square distance between two 3d points
00042   virtual double cost(pop_geometric_object *other);
00043 };
00044 
00045 #endif // pop_point_3d_h_
00046 

Generated on Tue Oct 7 05:14:37 2008 for contrib/gel/pop by  doxygen 1.5.1