public VoronoiGraph GetVoronoiGraph(BeanAlimentationVoronoi p_beanAlimentationVoronoi) { VoronoiGraph v_voronoiGraph = new VoronoiGraph(); try { if (p_beanAlimentationVoronoi.p22_contientObjetsInvalidesVf) { switch (p_beanAlimentationVoronoi.p12_parametrage.gestionObjetsInvalides) { case enumVoronoiStrategieObjetsInvalides.arretTraitement: throw new Exception("GetVoronoiGraph en erreur: des objets ne sont pas des points", new Exception()); case enumVoronoiStrategieObjetsInvalides.ignorerCesObjets: break; } } if (p_beanAlimentationVoronoi.p23_contientObjetsSuperposesVf) { switch (p_beanAlimentationVoronoi.p12_parametrage.gestionPointsDupliques) { case enumVoronoiStrategiePointsDupliques.arretTraitement: throw new Exception("GetVoronoiGraph en erreur: des points sont superposés.", new Exception()); case enumVoronoiStrategiePointsDupliques.deduplicationAleatoire: break; } } if (p_beanAlimentationVoronoi.p21_territoireSuperieurA200kmVf) { switch (p_beanAlimentationVoronoi.p12_parametrage.gestionDepassementTerritoire) { case enumVoronoiStrategieDistanceTropGrande.arretTraitement: throw new Exception("GetVoronoiGraph en erreur: le territoire total de traitement ne peut pas dépasser 200 000 x 200 000 unités de longueur "); case enumVoronoiStrategieDistanceTropGrande.reductionPrecision: throw new Exception("GetVoronoiGraph en erreur: le territoire total de traitement ne peut pas dépasser 200x200 unités de longueur (reduction précision non implementée)"); } } v_voronoiGraph = Fortune.ComputeVoronoiGraph(p_beanAlimentationVoronoi.p50_pointsFormatesPourInsertion); } catch (Exception v_ex) { throw v_ex; } return(v_voronoiGraph); }