Complex

Módulo: digi21.base

Un elemento complejo que agrupa otras geometrías como hijas. Hereda de Geometry. Se comporta como una secuencia de sus geometrías hijas: admite len(), indexación y recorrido.

Complex(codes=())
Argumento Tipo Descripción
codes iterable Códigos (FeatureCode o str).

Propiedades

Propiedad Tipo Descripción
closed bool Indica si el complejo está cerrado.
geometries list[Geometry] Lista de geometrías hijas.

Métodos

Método Devuelve Descripción
add(geometry) — Añade una geometría. La propiedad pasa al complejo.
insert(position, geometry) — Inserta una geometría en la posición indicada.
remove(geometry) bool Elimina la geometría indicada
devuelve True si se eliminó.
clear() — Elimina todas las geometrías.
explode() list Devuelve clones independientes de las geometrías que lo componen.

Acceso a las geometrías hijas

Operación Descripción
len(complex) Número de geometrías hijas.
complex[i] Geometría hija en la posición i.
for g in complex: Recorre las geometrías hijas.

Ejemplo

from digi21.base import Complex, Line, Point

bloque = Complex(["BLOQUE"])
bloque.add(Line(["MURO"], [(0, 0, 0), (10, 0, 0)]))
bloque.add(Point((5, 5, 0), codes=["POSTE"]))

for hija in bloque:
    print(type(hija).__name__)

Propiedad de la memoria: al añadir una geometría con add/insert, la propiedad pasa al complejo. explode() devuelve clones independientes.

Véase también