contrib/gel/pop/pop_rigid_3d.h

Go to the documentation of this file.
00001 // This is gel/pop/pop_rigid_3d.h
00002 #ifndef pop_rigid_3d_h_
00003 #define pop_rigid_3d_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief this is a vertex/coordinate system in a coordinate system graph
00010 //
00011 // \author
00012 //            Peter Tu April 2003
00013 //            General Electric
00014 //
00015 //-------------------------------------------------------------------------------
00016 
00017 #include<pop/pop_object.h>
00018 #include<vgl/algo/vgl_h_matrix_3d.h>
00019 #include<pop/pop_transform.h>
00020 
00021 //: A parameter that can be optimized
00022 class pop_rigid_3d : public pop_transform
00023 {
00024  public:
00025   //: constructor
00026   // the parameters for this transform are
00027   // the Euler angle r1 r2 r2 and the translation t1 t2 t3
00028   pop_rigid_3d(vcl_vector<pop_parameter*> params,
00029                pop_vertex *cs1, pop_vertex *cs2);
00030 
00031   //: destructor
00032   virtual ~pop_rigid_3d();
00033 
00034   //: transform a geometric object
00035   virtual pop_geometric_object* transform(pop_geometric_object *obj);
00036 
00037   //: update the transform based on the parameters
00038   virtual void update();
00039 
00040  private:
00041   vgl_h_matrix_3d<double> trans_;
00042 };
00043 
00044 #endif // pop_rigid_3d_h_

Generated on Wed Aug 27 05:14:55 2008 for contrib/gel/pop by  doxygen 1.5.1