예제 #1
0
        public void FacetteSupprimer(int p_idFacetteASupprimer)
        {
            //On n'effectue aucun contrôle de cohérence ...
            if (!p13_facettesById.ContainsKey(p_idFacetteASupprimer))
            {
                return;
            }

            BeanFacette_internal v_facetteASupprimer = p13_facettesById[p_idFacetteASupprimer];

            //
            if (v_facetteASupprimer.p23_facetteEcartSup != null)
            {
                v_facetteASupprimer.p23_facetteEcartSup.p24_facetteEcartInf = v_facetteASupprimer.p24_facetteEcartInf;
            }

            if (v_facetteASupprimer.p24_facetteEcartInf != null)
            {
                v_facetteASupprimer.p24_facetteEcartInf.p23_facetteEcartSup = v_facetteASupprimer.p23_facetteEcartSup; //(Qui peut être nulle)
            }
            if (p21_facetteAvecEcartAbsoluMax == v_facetteASupprimer)                                                  //(La facette à supprimer était la 'première'
            {
                p21_facetteAvecEcartAbsoluMax = v_facetteASupprimer.p24_facetteEcartInf;
            }

            //
            p13_facettesById.Remove(p_idFacetteASupprimer);
        }
예제 #2
0
 public BeanTopologieFacettes()
 {
     p11_pointsFacettesByIdPoint = new Dictionary <int, BeanPoint_internal>();
     p11_pointsFacettesByCode    = new Dictionary <string, BeanPoint_internal>();
     p12_arcsByCode   = new Dictionary <string, BeanArc_internal>();
     p13_facettesById = new Dictionary <int, BeanFacette_internal>();
     p21_facetteAvecEcartAbsoluMax = null;
 }
예제 #3
0
        //
        public BeanRelationPointToFacette(BeanPoint_internal p_pointFacette, BeanFacette_internal p_facette)
        {
            p11_pointRef   = p_pointFacette;
            p12_facetteRef = p_facette;
            //
            p21_qualifPointDansFacette = enum_qualificationHydro_pointDeFacette.indetermine;
            //[ces 2 vecteurs sont amenés à rester 'nuls' dans bcp de cas=>il ne faut pas les initialiser en double[3]

            p31_vecteurPenteMaxiSurFacette_sortant = null;
            p32_vecteurPenteMaxiSurFacette_entrant = null;
        }
예제 #4
0
 public void FacetteSupprimer(BeanFacette_internal p_facetteASupprimer)
 {
     //On n'effectue aucun contrôle de cohérence ...
     FacetteSupprimer(p_facetteASupprimer.p00_idFacette);
 }
예제 #5
0
        //On ne prévoit pas, à ce stade, de suppression de points facettes

        public void FacetteAjouter(BeanFacette_internal p_facetteAAjouter)
        {
            //On n'effectue aucun contrôle de cohérence ?
            p13_facettesById.Add(p_facetteAAjouter.p00_idFacette, p_facetteAAjouter);
        }