/// <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); }
/// <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)); }
/// <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)); }
/// <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; }
/// <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); }
/// <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); }
/// <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)); }
/// <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); }
/// <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); }
public geOS_Location(geOS_MapWindow Mapa, Int32 IdLoc) { this._Mapa = Mapa; this._nIdLoc = IdLoc; }
/// <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)); }
/// <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); }
/// <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)); }
/// <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); }
public geOS_Location(geOS_Location Loc) { this._nIdLoc = Loc.Id; this._Mapa = Loc.Map; }
/// <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); }
/// <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); }
public geOS_Location() { this._nIdLoc = -1; this._Mapa = null; }