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