public SubProcesoTriangulacion(TipoTriangulado tipoTriangulado, List <Punto3D> Vertices, List <Linea> Rupturas, Triangulo Envolvente, int Anterior, int Siguiente) { _logProceso.Add(new Log.EventoLog(Log.TypeEvento.Inicio, "Inicialización del Proceso.")); _tipoTriangulado = tipoTriangulado; _vertices = Vertices; _rupturas = Rupturas; //Añade a la triangulación los índices de la malla anterior y la siguiente _ResTriangulacion = Triangulacion.GetNewResultadoTriangulacion(tipoTriangulado); _ResTriangulacion.Seccion.TrianguloSeccion = Envolvente; _ResTriangulacion.Seccion.ParAristas.Anterior = Anterior; _ResTriangulacion.Seccion.ParAristas.Siguiente = Siguiente; _logProceso.Add(new Log.EventoLog(Log.TypeEvento.Fin, "Inicialización del Proceso.")); _Estado = TriangulacionMultiProceso.Estado.EnEspera; }
public SubProcesoMerge(TipoTriangulado tipoTriangulado, IResultadoTriangulacion Triang1, IResultadoTriangulacion Triang2) { _logProceso.Add(new Log.EventoLog(Log.TypeEvento.Inicio, "Inicialización el Proceso.")); _tipoTriangulado = tipoTriangulado; _triangulacion1 = Triang1.Resultado; _triangulacion2 = Triang2.Resultado; _ResTriangulacion = Triangulacion.GetNewResultadoTriangulacion(tipoTriangulado); if (Triang1.Seccion.ParAristas.Anterior == Triang2.Seccion.ParAristas.Siguiente) { // 1,2 - 0,1 _ResTriangulacion.Seccion.ParAristas.Anterior = Triang1.Seccion.ParAristas.Siguiente; _ResTriangulacion.Seccion.ParAristas.Siguiente = Triang2.Seccion.ParAristas.Anterior; } else { if (Triang1.Seccion.ParAristas.Siguiente == Triang2.Seccion.ParAristas.Anterior) { // 0,1 - 1,2 _ResTriangulacion.Seccion.ParAristas.Anterior = Triang1.Seccion.ParAristas.Anterior; _ResTriangulacion.Seccion.ParAristas.Siguiente = Triang2.Seccion.ParAristas.Siguiente; } else { //No son consecutivas } } _logProceso.Add(new Log.EventoLog(Log.TypeEvento.Fin, "Inicialización el Proceso.")); _Estado = TriangulacionMultiProceso.Estado.EnEspera; }