core/vcsl/vcsl_meter.h
Go to the documentation of this file.
00001 #ifndef vcsl_meter_h_
00002 #define vcsl_meter_h_
00003 //:
00004 // \file
00005 // \brief Standard unit associated to the length dimension
00006 // \author François BERTEL
00007 //
00008 // \verbatim
00009 //  Modifications
00010 //   2000/06/28 François BERTEL Creation. Adapted from IUE
00011 //   2001/04/10 Ian Scott (Manchester) Converted perceps header to doxygen
00012 //   2004/09/17 Peter Vanroose  made "instance_" a local static variable of method instance()
00013 // \endverbatim
00014 
00015 #include <vcsl/vcsl_length_unit.h>
00016 #include <vcsl/vcsl_meter_sptr.h>
00017 
00018 //: Standard unit associated to the length dimension
00019 class vcsl_meter
00020   : public vcsl_length_unit
00021 {
00022   //***************************************************************************
00023   // Constructors/Destructor
00024   //***************************************************************************
00025 
00026   // Default constructor
00027   vcsl_meter() {}
00028 
00029  public:
00030   // Destructor
00031   virtual ~vcsl_meter() {}
00032 
00033   //***************************************************************************
00034   // Status report
00035   //***************************************************************************
00036 
00037   //: Returns the number of units of `this' equal of the standard_unit for the dimension
00038   // Pure virtual function of vcsl_unit
00039   virtual double units_per_standard_unit() const { return 1; }
00040 
00041   //***************************************************************************
00042   // Singleton pattern
00043   //***************************************************************************
00044 
00045   //: Return the reference to the unique vcsl_meter object
00046   static vcsl_meter_sptr instance();
00047 };
00048 
00049 #endif // vcsl_meter_h_