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_