While creating a Graph wrong neighbors and borders are being added to the Center point. Border polygons are referring to other polygons that are not adjacent to them as neighbors. It can be fixed by adding two if statements.
if (edge.d0 != null && vedge.p0 != null) { edge.d0.borders.Add(edge); } if (edge.d1 != null && vedge.p1 != null) { edge.d1.borders.Add(edge); }
if (vedge.p0 != null && vedge.p1 != null) { AddToCenterList(edge.d0.neighbors, edge.d1); AddToCenterList(edge.d1.neighbors, edge.d0); }
While creating a Graph wrong neighbors and borders are being added to the Center point. Border polygons are referring to other polygons that are not adjacent to them as neighbors. It can be fixed by adding two if statements.
if (edge.d0 != null && vedge.p0 != null) { edge.d0.borders.Add(edge); } if (edge.d1 != null && vedge.p1 != null) { edge.d1.borders.Add(edge); }if (vedge.p0 != null && vedge.p1 != null) { AddToCenterList(edge.d0.neighbors, edge.d1); AddToCenterList(edge.d1.neighbors, edge.d0); }