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