using ArcGIS.Core.Geometry; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OliviaAddInPro.Helper; using System.Collections.ObjectModel; using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using OliviaAddInPro.Services; using static OliviaAddInPro.Model.ComunDef; using ArcGIS.Desktop.Framework.Contracts; using ArcGIS.Desktop.Framework.Threading.Tasks; namespace OliviaAddInPro.Model { public class Limpieza : TratamientoComun { //********************************************** //Se recogen en PaneLimpiezaSub1 /** * Tipo de tratamiento elegidos */ //public int TipoTto { get; set; } = -1; //En la clase TratamientoComun /** * Ámbitos de trabajo elegidos */ public bool[] AmbitosSel { get; set; } = new bool[(int)LimpiezaDef.AmbitsTra.AmbN]; /** * Indica si respeta el sentido de circulación o no */ public bool RespCirc { get; set; } = false; /** * Tipo de unidades del tiempo de tto */ public int UdsTTto { get; set; } = (int)GeneralDef.OlvTiposTto.OlvTipTtoNoDef; /** * Instancia para las funciones de exportación y demás */ public LimpiezaServ Serv { get; set; } = null; /** * Ancho de vía, en metros */ public double AnchoVia { get; set; } = LimpiezaDef.Parametros.ancho_via; public Limpieza() { Serv = new LimpiezaServ(this); ProgrSrc = new MyCancelableProgressorSource(OliviaGlob.progrDialog); } public TareaRes Ejecuta(ModosEjec modo) { TareaRes res = null; res = Serv.Ejecuta(modo); return res; } public async void EjecutaAsync(ModosEjec modo, Action ffin) { await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => { var res = Ejecuta(modo); ffin(res); return res; }); } } }