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_