コード例 #1
0
        /// <summary>
        /// DEVUELVE LA N-ENTIDADES MAS CERCANAS DE UN TEMA A LA ENTIDAD
        /// </summary>
        /// <param name="Map">MAPA DONDE SE DESEAN BUSCAR LAS ENTIDADES</param>
        /// <param name="Theme">CÓDIGO DEL TEMA DONDE SE BUSCAN LAS ENTIDADES</param>
        /// <param name="Filter">FILTRO ALFANUMÉRICO SOBRE EL TEMA (PUEDE SER VACIO)</param>
        /// <param name="MaxEntities">NÚMERO DE ENTIDADES MÁS CERCANAS A BUSCAR</param>
        /// <param name="Entities">ARRAY CON LAS ENTIDADES MÁS CERCANAS ENCONTRADAS</param>
        /// <param name="Distances">ARRAY CON LAS DISTANCIAS A CADA ENTIDAD</param>
        /// <returns></returns>
        public bool GetClosestEntities(geOS_MapWindow Map, string Theme, string Filter, short MaxEntities, ref geOS_MapEntity[] Entities, ref double[] Distances)
        {
            byte[] bIdEntidades = new byte[MaxEntities * sizeof(Int32)];
            byte[] bDistances   = new byte[MaxEntities * sizeof(double)];

            if (geOS_Gestor.GetEntidadesMasCercanasE(Map.Connection.ConnectionId, Map.MapId, this._nIdEntidad,
                                                     MaxEntities, Theme, Filter, bIdEntidades, bDistances) == 0)
            {
                return(false);
            }

            int[] IdEntidades = new int[MaxEntities];

            for (int i = 0; i < MaxEntities; i++)
            {
                IdEntidades[i] = BitConverter.ToInt32(bIdEntidades, i * 4);
                Distances[i]   = BitConverter.ToDouble(bDistances, i * 8);
            }

            for (int i = 0; i < MaxEntities; i++)
            {
                Entities[i] = new geOS_MapEntity(Map.Connection, IdEntidades[i]);
            }

            return(true);
        }
コード例 #2
0
        /// <summary>
        /// EDITA UNA ENTIDAD (DEBE PERTENECER AL TEMA QUE SE ESTÁ EDITANDO ACTUALMENTE
        /// </summary>
        /// <param name="Mapa">VENTANA DE MAPA DONDE SE ESTÁ EDITANDO</param>
        /// <param name="fAngle">DEVUELVE EL ANGULO DE ROTACIÓN</param>
        /// <returns></returns>
        public bool Rotate(geOS_MapWindow Mapa, ref double fAngle)
        {
            if (this._Conexion.ConnectionId < 0 || this._nIdEntidad < 0 || Mapa.MapId < 0)
            {
                return(false);
            }

            return(geOS_Gestor.RotarEntidad(this._Conexion.ConnectionId, Mapa.MapId, this._nIdEntidad, ref fAngle));
        }
コード例 #3
0
        /// <summary>
        /// EDITA UNA ENTIDAD (DEBE PERTENECER AL TEMA QUE SE ESTÁ EDITANDO ACTUALMENTE
        /// </summary>
        /// <param name="Mapa">VENTANA DE MAPA DONDE SE ESTÁ EDITANDO</param>
        /// <returns></returns>
        public bool Edit(geOS_MapWindow Mapa)
        {
            if (this._Conexion.ConnectionId < 0 || this._nIdEntidad < 0 || Mapa.MapId < 0)
            {
                return(false);
            }

            return(geOS_Gestor.EditarEntidad(this._Conexion.ConnectionId, Mapa.MapId, this._nIdEntidad));
        }
コード例 #4
0
        /// <summary>
        /// LIBERA UNA LOCALIZACION
        /// </summary>
        public void Free()
        {
            if (this._Mapa != null && this._nIdLoc >= 0)
            {
                geOS_Gestor.LiberaLocalizacion(this._Mapa.Connection.ConnectionId, this._Mapa.MapId, this._nIdLoc);
            }

            this._nIdLoc = -1;
            this._Mapa   = null;
        }
コード例 #5
0
        /// <summary>
        /// BORRA UNA ENTIDAD (DEBE PERTENECER AL TEMA QUE SE ESTÁ EDITANDO ACTUALMENTE
        /// </summary>
        /// <param name="Mapa">VENTANA DE MAPA DONDE SE ESTÁ EDITANDO</param>
        /// <param name="bIncTransaction">SI SE DESEA INCREMENTAR LA TRANSACCIÓN DE EDICIÓN</param>
        /// <returns></returns>
        public bool Delete(geOS_MapWindow Mapa, bool bIncTransaction)
        {
            if (this._Conexion.ConnectionId < 0 || this._nIdEntidad < 0 || Mapa.MapId < 0)
            {
                return(false);
            }

            bool bRetorno = geOS_Gestor.BorrarEntidad(this._Conexion.ConnectionId, Mapa.MapId, this._nIdEntidad, bIncTransaction);

            // Una vez borrada la entidad ya no es válida
            this._nIdEntidad = -1;
            this._Conexion   = null;
            return(bRetorno);
        }
コード例 #6
0
 /// <summary>
 /// MUESTRA EL MAPA EN EL MARCO DEL MGI QUE SE PASA COMO PARAMETRO
 /// </summary>
 /// <param name="sKey">CLAVE DEL MARCO EN EL MGI</param>
 /// <param name="Map">VENTANA DE MAPA QUE SE DESEA MOSTRAR</param>
 /// <param name="X">COORDENADA X DEL CENTRO DEL MAPA</param>
 /// <param name="Y">COORDENADA Y DEL CENTRO DEL MAPA</param>
 /// <param name="nScale">ESCALA DE SALIDA DEL MAPA</param>
 /// <returns></returns>
 public bool PlotSetMap(string sKey, geOS_MapWindow Map, double X, double Y, int Scale)
 {
     return(geOS_Gestor.ImpresoSetRectMapa(_IdConexion, sKey, Map.MapId, X, Y, Scale) == 0 ? false : true);
 }
コード例 #7
0
        /// <summary>
        /// RETORNA UNA LOCALIZACIÓN CONSTRUIDA A PARTIR DEL ESTE CONJUNTO DE ENTIDADES
        /// </summary>
        /// <param name="Map">MAPA DONDE SE DESEA CREAR LA LOCALIZACIÓN</param>
        /// <param name="LocColor">COLOR DE LA LOCALIZACIÓN</param>
        /// <param name="LocStyle">ESTILO DE LA LOCALIZACIÓN
        ///                         PUNTO: ENUMERACIÓN geOS_MarkerType EXCEPTO EL VALOR moTrueTypeMarker
        ///                         LINEA: ENUMERACIÓN geOS_LineType
        ///                         POLIGONO: ENUMERACIÓN geOS_FillType
        /// </param>
        /// <param name="LocSize">TAMAÑO DE LA LOCALIZACIÓN
        ///                         PUNTO: TAMAÑO DEL PUNTO EN METROS
        ///                         LINEA: ANCHO DE LA LINEA EN PIXELES
        ///                         POLIGONO: ANCHO DEL BORDE DEL POLIGONO EN PIXELES
        /// <returns></returns>
        public geOS_Location ReturnLocation(geOS_MapWindow Map, Color LocColor, byte LocStyle, double Size)
        {
            int IdgeOS_Location = geOS_Gestor.EntidadesALocalizacion(Map.Connection.ConnectionId, Map.MapId, this._nIdEntidades, LocColor.ToArgb(), LocStyle, Size);

            return(IdgeOS_Location < 0 ? null : new geOS_Location(Map, IdgeOS_Location));
        }
コード例 #8
0
 /// <summary>
 /// HACE UN FLASH DEL CONJUNTO DE ENTIDADES
 /// </summary>
 /// <param name="Map">MAPA DONDE SE DESEA HACER EL FLASH AL CONJUNTO DE ENTIDADES</param>
 /// <param name="Times">NUMERO DE VECES QUE SE HACE FLASH</param>
 public void Flash(geOS_MapWindow Map, short Times)
 {
     geOS_Gestor.FlashConjuntoEntidades(Map.Connection.ConnectionId, Map.MapId, this._nIdEntidades, Times);
 }
コード例 #9
0
 /// <summary>
 /// HACE UN ZOOM AL CONJUNTO DE ENTIDADES EN LA VENTANA DE MAPA
 /// </summary>
 /// <param name="Map">MAPA DONDE SE DESEA HACER EL ZOOM AL CONJUNTO DE ENTIDADES</param>
 public void Zoom(geOS_MapWindow Map)
 {
     geOS_Gestor.ZoomConjuntoEntidades(Map.Connection.ConnectionId, Map.MapId, this._nIdEntidades);
 }
コード例 #10
0
 public geOS_Location(geOS_MapWindow Mapa, Int32 IdLoc)
 {
     this._Mapa   = Mapa;
     this._nIdLoc = IdLoc;
 }
コード例 #11
0
        /// <summary>
        /// CREA UNA LOCALIZACIÓN A PARTIR DE LA GEOMETRIA DE ESTA ENTIDAD
        /// </summary>
        /// <param name="Map">VENTANA DE MAPA DONDE SE DESEA CREAR LA LOCALIZACIÓN</param>
        /// <param name="LocColor">COLOR DE LA LOCALIZACIÓN</param>
        /// <param name="LocStyle">ESTILO DE LA LOCALIZACIÓN
        ///                         PUNTO: ENUMERACIÓN geOS_MarkerType EXCEPTO EL VALOR moTrueTypeMarker
        ///                         LINEA: ENUMERACIÓN geOS_LineType
        ///                         POLIGONO: ENUMERACIÓN geOS_FillType
        /// </param>
        /// <param name="LocSize">TAMAÑO DE LA LOCALIZACIÓN
        ///                         PUNTO: TAMAÑO DEL PUNTO EN METROS
        ///                         LINEA: ANCHO DE LA LINEA EN PIXELES
        ///                         POLIGONO: ANCHO DEL BORDE DEL POLIGONO EN PIXELES
        /// <returns></returns>
        public geOS_Location CreateLocation(geOS_MapWindow Map, Color LocColor, byte LocStyle, double Size)
        {
            int IdLoc = geOS_Gestor.EntidadALocalizacion(this._Conexion.ConnectionId, Map.MapId, this.Id, LocColor.ToArgb(), LocStyle, Size);

            return(IdLoc < 0 ? null : new geOS_Location(Map, IdLoc));
        }
コード例 #12
0
 /// <summary>
 /// HACE UN ZOOM A LA ENTIDAD EN LA VENTANA DE MAPA QUE SE PASA COMO PARAMETRO
 /// </summary>
 /// <param name="Mapa"></param>
 public void Zoom(geOS_MapWindow Mapa)
 {
     geOS_Gestor.ZoomEntidad(_Conexion.ConnectionId, Mapa.MapId, _nIdEntidad);
 }
コード例 #13
0
 /// <summary>
 /// MUESTRA EL SENTIDO DE LA ENTIDAD (SI ES LINEAL) EN LA VENTANA DE MAPA
 /// </summary>
 /// <param name="Mapa"></param>
 /// <returns></returns>
 public bool ShowEntitySense(geOS_MapWindow Mapa)
 {
     return(geOS_Gestor.VerSentidoEntidad(_Conexion.ConnectionId, Mapa.MapId, _nIdEntidad));
 }
コード例 #14
0
 /// <summary>
 /// HACE UN FLASH DE LA ENTIDAD EN LA VENTANA DE MAPA QUE SE PASA COMO PARAMETRO
 /// </summary>
 /// <param name="Mapa">VENTANA DE MAPA EN LA QUE SE DESEA HACER EL FLASH</param>
 /// <param name="nTimes">NUMERO DE VECES QUE SE DESEA HACER EL FLASH</param>
 public void Flash(geOS_MapWindow Mapa, short nTimes)
 {
     geOS_Gestor.FlashEntidad(_Conexion.ConnectionId, Mapa.MapId, _nIdEntidad, nTimes);
 }
コード例 #15
0
 public geOS_Location(geOS_Location Loc)
 {
     this._nIdLoc = Loc.Id;
     this._Mapa   = Loc.Map;
 }
コード例 #16
0
 /// <summary>
 /// MUESTRA EL MAPA EN EL MARCO DEL MGI QUE SE PASA COMO PARAMETRO
 /// </summary>
 /// <param name="sKey">CLAVE DEL MARCO EN EL MGI</param>
 /// <param name="Map">VENTANA DE MAPA QUE SE DESEA MOSTRAR</param>
 /// <param name="X">COORDENADA X DEL CENTRO DEL MAPA</param>
 /// <param name="Y">COORDENADA Y DEL CENTRO DEL MAPA</param>
 /// <param name="nScale">ESCALA DE SALIDA DEL MAPA</param>
 /// <param name="nRefScale">ESCALA DE REFERENCIA (DETERMINA LAS CAPAS Y EL RASTER)</param>
 /// <returns></returns>
 public bool PlotSetMapWithRefScale(string sKey, geOS_MapWindow Map, double X, double Y, int nScale, int nRefScale)
 {
     return(geOS_Gestor.ImpresoMapaConEscalaDeReferencia(_IdConexion, sKey, Map.MapId, X, Y, nScale, nRefScale) == 0 ? false : true);
 }
コード例 #17
0
 /// <summary>
 /// MUESTRA LA LEYENDA DEL MAPA EN EL MARCO DEL MGI QUE SE PASA COMO PARAMETRO
 /// </summary>
 /// <param name="sKey">CLAVE DEL MARCO EN EL MGI</param>
 /// <param name="Map">VENTANA DE MAPA CUYA LEYENDA SE DESEA MOSTRAR</param>
 /// <returns></returns>
 public bool PlotSetLegend(string sKey, geOS_MapWindow Map)
 {
     return(geOS_Gestor.ImpresoSetRectLeyendaMapa(_IdConexion, sKey, Map.MapId) == 0 ? false : true);
 }
コード例 #18
0
 public geOS_Location()
 {
     this._nIdLoc = -1;
     this._Mapa   = null;
 }