contrib/oxl/mvl/Homg.h
Go to the documentation of this file.
00001 // This is oxl/mvl/Homg.h
00002 #ifndef Homg_h_
00003 #define Homg_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief Private base class for homogeneous vectors
00010 //
00011 // This is the private base class for homogeneous vectors.  It provides the
00012 // get/set interface, and also a static variable Homg::infinity which is used
00013 // throughout when returning infinite nonhomogeneous values.
00014 //
00015 // \author
00016 //   Paul Beardsley, 29.03.96
00017 //   Oxford University, UK
00018 //
00019 // \verbatim
00020 //  Modifications:
00021 //    210297 AWF Switched to fixed-length vectors for speed.
00022 // \endverbatim
00023 //-------------------------------------------------------------------------------
00024 
00025 class Homg
00026 {
00027  public:
00028 
00029   //: Standard placeholder for methods that wish to return infinity.
00030   static double infinity;
00031 
00032   //: The tolerance used in "near zero" tests in the Homg subclasses.
00033   static double infinitesimal_tol;
00034 
00035   //: Static method to set the default tolerance used for infinitesimal checks.
00036   // The default is 1e-12.
00037   static void set_infinitesimal_tol(double tol);
00038 };
00039 
00040 #endif // Homg_h_