core/vcsl/vcsl_radian.h
Go to the documentation of this file.
00001 #ifndef vcsl_radian_h_
00002 #define vcsl_radian_h_
00003 //:
00004 // \file
00005 // \brief Standard unit associated to the angle 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_angle_unit.h>
00016 #include <vcsl/vcsl_radian_sptr.h>
00017 
00018 //: Standard unit associated to the angle dimension
00019 //  See also \b vcsl_degree
00020 class vcsl_radian
00021   : public vcsl_angle_unit
00022 {
00023   //***************************************************************************
00024   // Constructors/Destructor
00025   //***************************************************************************
00026 
00027   // Default constructor
00028   vcsl_radian() {}
00029 
00030  public:
00031   // Destructor
00032   virtual ~vcsl_radian() {}
00033 
00034   //***************************************************************************
00035   // Status report
00036   //***************************************************************************
00037 
00038   //: Returns the number of units of `this' equal of the standard_unit for the dimension
00039   // Pure virtual function of vcsl_unit
00040   virtual double units_per_standard_unit() const { return 1; }
00041 
00042   //***************************************************************************
00043   // Singleton pattern
00044   //***************************************************************************
00045 
00046   //: Return the reference to the unique vcsl_radian object
00047   static vcsl_radian_sptr instance();
00048 };
00049 
00050 #endif // vcsl_radian_h_