core/vcsl/vcsl_cartesian.h
Go to the documentation of this file.
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_