core/vcsl/vcsl_cartesian_3d.h
Go to the documentation of this file.
00001 #ifndef vcsl_cartesian_3d_h_
00002 #define vcsl_cartesian_3d_h_
00003 //:
00004 // \file
00005 // \brief 3D 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_spatial.h>
00015 #include <vcsl/vcsl_cartesian_3d_sptr.h>
00016 
00017 //: 3D Cartesian coordinate system
00018 class vcsl_cartesian_3d
00019   : public vcsl_spatial
00020 {
00021  public:
00022   //***************************************************************************
00023   // Constructors/Destructor
00024   //***************************************************************************
00025 
00026   // Default constructor
00027   vcsl_cartesian_3d();
00028 
00029   // Destructor
00030   virtual ~vcsl_cartesian_3d() {}
00031 
00032   //***************************************************************************
00033   // Because VXL does not necessarily use dynamic_cast<>
00034   //***************************************************************************
00035 
00036   virtual const vcsl_cartesian_3d *cast_to_cartesian_3d() const { return this; }
00037 
00038   //***************************************************************************
00039   // Status report
00040   //***************************************************************************
00041 
00042   //: Are the axes of `this' right handed ?
00043   bool is_right_handed() const { return right_handed_; }
00044 
00045   //***************************************************************************
00046   // Status setting
00047   //***************************************************************************
00048 
00049   //: Set whether the coordinate system is right handed or not
00050   void set_right_handed(bool val) { right_handed_ = val; }
00051 
00052  protected:
00053   //***************************************************************************
00054   // Implementation
00055   //***************************************************************************
00056 
00057   //:  True if the axes of `this' are right handed
00058   bool right_handed_;
00059 };
00060 
00061 #endif // vcsl_cartesian_3d_h_