contrib/gel/pop/pop_transform.h

Go to the documentation of this file.
00001 // This is gel/pop/pop_transform.h
00002 #ifndef pop_transform_h_
00003 #define pop_transform_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<pop/pop_parameter.h>
00019 #include<vcl_vector.h>
00020 #include<pop/pop_vertex.h>
00021 #include<pop/pop_geometric_object.h>
00022 
00023 //: A parameter that can be optimized
00024 class pop_transform:public pop_object
00025 {
00026  public:
00027   //: constructor
00028   pop_transform(vcl_vector<pop_parameter*> params,
00029                 pop_vertex *cs1, pop_vertex *cs2);
00030 
00031   //: destructor
00032   virtual ~pop_transform();
00033 
00034   //: transform a geometric object
00035   virtual pop_geometric_object* transform(pop_geometric_object *obj)=0;
00036 
00037   virtual void update() = 0;
00038 
00039  protected:
00040   // the source coordinate system
00041   pop_vertex *cs1_;
00042 
00043   // the target coordinate suystem
00044   pop_vertex *cs2_;
00045 };
00046 
00047 #endif // pop_transform_h_

Generated on Mon Oct 6 05:14:30 2008 for contrib/gel/pop by  doxygen 1.5.1