contrib/gel/pop/pop_object.h

Go to the documentation of this file.
00001 // This is gel/pop/pop_object.h
00002 #ifndef pop_object_h_
00003 #define pop_object_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief an object that has parameters
00010 //
00011 // \author
00012 //            Peter Tu April 2003
00013 //            General Electric
00014 //
00015 // \verbatim
00016 //  Modifications
00017 //   10 Sep. 2004 Peter Vanroose  Inlined all 1-line methods in class decl
00018 // \endverbatim
00019 //
00020 //-------------------------------------------------------------------------------
00021 #include<vcl_vector.h>
00022 #include<pop/pop_parameter.h>
00023 
00024 //: A base class for object that has parameters
00025 class pop_object
00026 {
00027  public:
00028   // constructor
00029   pop_object() {}
00030 
00031   pop_object(vcl_vector<pop_parameter*> &params) { params_ = params; }
00032 
00033   // destructor
00034   virtual ~pop_object() {}
00035 
00036   //: get the parameters
00037   vcl_vector<pop_parameter*> get_parameters() { return params_; }
00038 
00039   //: set the parameters
00040   void set(vcl_vector<pop_parameter*> &params) { params_ = params; update(); }
00041 
00042   //: update the object based on the parameters
00043   virtual void update();
00044 
00045  protected:
00046 
00047   //: the basic parameters
00048   vcl_vector<pop_parameter*> params_;
00049 };
00050 
00051 
00052 #endif // pop_object_h_

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