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_