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.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

Generated on Thu Apr 26 04:44:39 2007 for TNTsdk by  doxygen 1.5.2