Holes
Espacio de nombres: Digi21.DigiNG.Entities
Ensamblado: Digi21.DigiNG
Huecos del polígono, de lectura y escritura.
public new IList<Line> Holes { get; }
Valor de la propiedad
Una colección, siempre la misma instancia para cada polígono, que trabaja directamente sobre los huecos del polígono. Cada hueco es una Line cerrada: el último vértice repite el primero.
| Miembro | Descripción |
|---|---|
Add(Line item) |
Añade item como último hueco. La línea pasa a pertenecer al polígono: no la añadas a otro polígono, a un complejo ni a un archivo de dibujo. Lanza ArgumentNullException si item es null. |
Insert(int index, Line item) |
Inserta item en la posición index. Con index igual a Count, añade item al final. Lanza ArgumentOutOfRangeException si index es negativo o mayor que Count, y ArgumentNullException si item es null. |
this[int index] |
get: el hueco de la posición index. set: sustituye el hueco por otra línea, que pasa a pertenecer al polígono. Lanza ArgumentOutOfRangeException si index no está entre 0 y Count - 1, y ArgumentNullException si la línea asignada es null. |
Remove(Line item) |
Quita el hueco si es la misma línea (la misma instancia de la entidad nativa). Devuelve false si no lo es o si item es null. |
RemoveAt(int index) |
Quita el hueco de la posición index. Lanza ArgumentOutOfRangeException si index no está entre 0 y Count - 1. |
Clear() |
Quita todos los huecos. |
IndexOf(Line item), Contains(Line item) |
Buscan la misma línea, no una línea con los mismos vértices. Con item igual a null, IndexOf devuelve -1 y Contains devuelve false. |
CopyTo(Line[] array, int arrayIndex) |
Copia los huecos. Lanza ArgumentNullException si array es null y ArgumentOutOfRangeException si arrayIndex es negativo. |
Count |
Número de huecos. |
IsReadOnly |
true si el polígono es de solo lectura. |
Los métodos que modifican la colección lanzan InvalidOperationException si el polígono es de solo lectura.
Esta propiedad oculta ReadOnlyPolygon.Holes, de tipo IReadOnlyList<ReadOnlyLine>.
Ejemplo
var hueco = new Line(new Code("080100"));
hueco.Points.Add(new[]
{
new Point3D(40, 40, 0),
new Point3D(40, 60, 0),
new Point3D(60, 60, 0),
new Point3D(40, 40, 0),
});
polígono.Holes.Add(hueco);