00001 #ifndef vcsl_cartesian_h_ 00002 #define vcsl_cartesian_h_ 00003 //: 00004 // \file 00005 // \brief Cartesian coordinate system 00006 // \author François BERTEL 00007 // 00008 // \verbatim 00009 // Modifications 00010 // 2000/06/28 François BERTEL Creation. Adapted from IUE 00011 // 2004/09/10 Peter Vanroose Inlined all 1-line methods in class decl 00012 // \endverbatim 00013 00014 #include <vcsl/vcsl_coordinate_system.h> 00015 #include <vcsl/vcsl_cartesian_sptr.h> 00016 00017 //: Cartesian coordinate system 00018 // The axes of a cartesian coordinate system are orthogonal and normally right 00019 // handed. This is not necessarily a spatial coordinate system. 00020 class vcsl_cartesian 00021 : public vcsl_coordinate_system 00022 { 00023 //*************************************************************************** 00024 // Constructors/Destructor 00025 //*************************************************************************** 00026 00027 //: Default constructor. Sets itself right handed 00028 vcsl_cartesian() : right_handed_(true) {} 00029 00030 public: 00031 // Destructor 00032 virtual ~vcsl_cartesian() {} 00033 00034 //*************************************************************************** 00035 // Status report 00036 //*************************************************************************** 00037 00038 //: Are the axes of `this' right handed ? 00039 bool is_right_handed() const { return right_handed_; } 00040 00041 //*************************************************************************** 00042 // Status setting 00043 //*************************************************************************** 00044 00045 //: Set whether the coordinate system is right handed or not 00046 void set_right_handed(bool val) { right_handed_ = val; } 00047 00048 protected: 00049 //*************************************************************************** 00050 // Implementation 00051 //*************************************************************************** 00052 00053 //: True if the axes of `this' are right handed 00054 bool right_handed_; 00055 }; 00056 00057 #endif // vcsl_cartesian_h_