00001 /** 00002 * \file geolock.h <gre/geolock.h> 00003 * \brief GRE_GEOLOCKSETTINGS class definitions 00004 * 00005 * \if NODOC 00006 * $Id: geolock.h_v 1.6 2005/10/17 20:38:57 mju Exp $ 00007 * 00008 * $Log: geolock.h_v $ 00009 * Revision 1.6 2005/10/17 20:38:57 mju 00010 * Use gre namespace. 00011 * 00012 * Revision 1.5 2005/10/05 14:08:18 mju 00013 * Fix comment. 00014 * 00015 * Revision 1.4 2003/09/15 13:48:59 fileserver!dwilliss 00016 * Doxygen 00017 * 00018 * Revision 1.3 2003/07/30 15:40:20 mju 00019 * Go back to old non-namespace name as causes other problems. 00020 * 00021 * Revision 1.2 2003/07/30 14:53:14 mju 00022 * Ignore private section. 00023 * Put in GRE namespace with typedef for old name. 00024 * 00025 * Revision 1.1 2002/12/16 15:07:05 mju 00026 * Initial revision 00027 * \endif 00028 **/ 00029 00030 #ifndef INC_GRE_GEOLOCK_H 00031 #define INC_GRE_GEOLOCK_H 00032 00033 #ifndef INC_MI32_SERIALIZ_H 00034 #include <mi32/serializ.h> 00035 #endif 00036 00037 namespace GRE { 00038 00039 //! Settings for geo-locking, used by GRE_VIEW. 00040 class GEOLOCKSETTINGS { 00041 public: 00042 00043 enum MODE { 00044 MODE_Scale = 0x01, //!< Lock by scale 00045 MODE_Extent = 0x02, //!< Lock by extent 00046 MODE_ScaleAndExtent = 0x03, //!< Lock by scale and extent 00047 }; 00048 00049 class FORM; //!< User interface 'form' 00050 class DLG; //!< User interface 'dialog' 00051 00052 //! Get serialization item definition array. 00053 static const SERIALIZER::ITEMDEF* SerialGetItemDef ( 00054 ); 00055 00056 //! Constructor. 00057 GEOLOCKSETTINGS ( 00058 ): m_Mode(MODE_ScaleAndExtent), m_Scale(1) { } 00059 00060 //! Get geolock mode. 00061 MODE GetMode ( 00062 ) const { return (m_Mode); } 00063 00064 //! Get relative scale. 00065 double GetRelativeScale ( 00066 ) const { return (m_Scale); } 00067 00068 //! Set geolock mode. 00069 void SetMode ( 00070 MODE mode 00071 ) { m_Mode = mode; } 00072 00073 //! Set relative scale. 00074 void SetRelativeScale ( 00075 double scale 00076 ) { m_Scale = scale; } 00077 00078 private: 00079 #ifndef GENERATING_DOXYGEN_OUTPUT 00080 00081 MODE m_Mode; 00082 double m_Scale; 00083 00084 #endif //!< GENERATING_DOXYGEN_OUTPUT 00085 }; 00086 00087 } // End namespace GRE 00088 00089 #endif // INC_GRE_GEOLOCK_H
1.5.2