Detectar vértices con Z superior a la del anterior vértice
La función debe_tener_coordenadas_z_decrecientes_moderado del repositorio Guiones-Control-Calidad-Python-Digi3D comunica un error si un vértice tiene la coordenada Z superior a la del vértice anterior. Sirve, por ejemplo, para un río digitalizado desde el nacimiento hacia la desembocadura.
@quality_control()
def debe_tener_coordenadas_z_decrecientes_moderado(geometry, adding_geometry, code_index):
'Comunica un error si se localiza un vértice cuya coordenada Z sea superior a la coordenada Z del vértice anterior.'
zPrevia = geometry[0][2]
for coordenada in geometry:
zActual = coordenada[2]
if zActual > zPrevia:
return digi3d.GeometryError("Vértice con la Z superior al anterior", coordenada)
zPrevia = zActual
geometry[0]es la tupla(x, y, z)del primer vértice, ygeometry[0][2]es la Z de ese vértice.for coordenada in geometryrecorre los vértices en orden.- El error contiene las coordenadas del vértice cuya Z supera la del vértice anterior: al digitalizar, Almacenar la geometría desplaza la vista a ese vértice; bajo demanda, al hacer doble clic en la tarea del panel de tareas, la vista se desplaza al vértice indicado en el error.
- La función devuelve el primer vértice erróneo. Un vértice con la misma Z que el anterior no es un error; la función
debe_tener_coordenadas_z_decrecientesdel mismo archivo sí lo considera error.
Asignación al código
La función no tiene parámetros adicionales. En la propiedad Controles de calidad a aplicar del código, la línea es:
debe_tener_coordenadas_z_decrecientes_moderado