gre/geolock.h

Go to the documentation of this file.
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

Generated on Thu Apr 26 04:03:32 2007 for TNTsdk by  doxygen 1.5.2