1 #ifndef vcsl_cartesian_h_ 2 #define vcsl_cartesian_h_ 3 //: 4 // \file 5 // \brief Cartesian coordinate system 6 // \author Francois BERTEL 7 // 8 // \verbatim 9 // Modifications 10 // 2000/06/28 Francois BERTEL Creation. Adapted from IUE 11 // 2004/09/10 Peter Vanroose Inlined all 1-line methods in class decl 12 // \endverbatim 13 14 #include "vcsl_coordinate_system.h" 15 #include "vcsl_cartesian_sptr.h" 16 17 //: Cartesian coordinate system 18 // The axes of a cartesian coordinate system are orthogonal and normally right 19 // handed. This is not necessarily a spatial coordinate system. 20 class vcsl_cartesian 21 : public vcsl_coordinate_system 22 { 23 //*************************************************************************** 24 // Constructors/Destructor 25 //*************************************************************************** 26 27 //: Default constructor. Sets itself right handed 28 vcsl_cartesian() = default; 29 30 public: 31 // Destructor 32 ~vcsl_cartesian() override = default; 33 34 //*************************************************************************** 35 // Status report 36 //*************************************************************************** 37 38 //: Are the axes of `this' right handed ? is_right_handed()39 bool is_right_handed() const { return right_handed_; } 40 41 //*************************************************************************** 42 // Status setting 43 //*************************************************************************** 44 45 //: Set whether the coordinate system is right handed or not set_right_handed(bool val)46 void set_right_handed(bool val) { right_handed_ = val; } 47 48 protected: 49 //*************************************************************************** 50 // Implementation 51 //*************************************************************************** 52 53 //: True if the axes of `this' are right handed 54 bool right_handed_{true}; 55 }; 56 57 #endif // vcsl_cartesian_h_ 58