Invierte el orden de los puntos, de modo que la polilínea va en sentido contrario.
La propia lista de puntos de la polilínea dada se invierte en el sitio y se devuelve dentro de un nuevo objeto de polilínea. Ejemplo: [[0,0,0], [1,0,0], [2,0,0]] -> [[2,0,0], [1,0,0], [0,0,0]]
La polilínea
Una polilínea con los puntos en orden inverso
Divide la polilínea en objetos de línea, uno por segmento, cada uno con un punto inicial y uno final.
Una polilínea cerrada recibe también el segmento de su último punto de vuelta al primero, salvo que ambos coincidan. Ejemplo: tres puntos -> dos líneas, o tres cuando está cerrada
La polilínea
Una línea por segmento, en orden
Divide la polilínea en segmentos, cada uno un par de puntos.
Una polilínea cerrada recibe también el segmento de su último punto de vuelta al primero, salvo que ambos coincidan. Menos de dos puntos no dan ningún segmento. Ejemplo: cuatro puntos, cerrada -> cuatro segmentos alrededor del bucle
La polilínea
Un par de puntos por segmento, en orden
Construye un objeto de polilínea a partir de puntos, abierta o cerrada.
Ejemplo: tres puntos con isClosed en true -> un triángulo
Los puntos y si el último se une de nuevo con el primero
El objeto polilínea
Encuentra el mayor redondeo para cada esquina de la polilínea, cada uno limitado a la mitad más cercana de sus segmentos para que los redondeos nunca se solapen.
Una polilínea cerrada incluye las dos esquinas de sus extremos. Menos de tres puntos dan una lista vacía.
La polilínea y la tolerancia
Un radio por esquina, en el orden de las esquinas
Encuentra un radio de redondeo que cabe en todas las esquinas de la polilínea: el más pequeño de los máximos por esquina bajo la regla del medio segmento.
Menos de tres puntos, o cualquier esquina que no admita ningún redondeo, dan 0.
La polilínea y la tolerancia
El radio que cabe en todas las esquinas, en unidades del modelo
Mide la polilínea sumando las distancias rectas entre puntos vecinos.
El segmento de cierre de una polilínea cerrada no se cuenta. Ejemplo: [[0,0,0], [3,0,0], [3,4,0]] -> 7
La polilínea
La longitud en unidades del modelo
Cuenta los puntos de la polilínea.
Ejemplo: tres puntos -> 3
La polilínea
El número de puntos
Lee la lista de puntos de la polilínea.
Ejemplo: { points: [[0,0,0], [1,0,0]] } -> [[0,0,0], [1,0,0]]
La polilínea
Sus puntos, en orden
Encuentra los puntos donde dos polilíneas se cruzan entre sí, comprobando cada segmento de una contra cada segmento de la otra.
Los cruces más cercanos entre sí que la tolerancia se notifican una vez. Ejemplo: dos polilíneas formando una X -> el punto del medio
Las dos polilíneas y la tolerancia
Los puntos de cruce; vacío cuando no hay ninguno
Encuentra los puntos donde la polilínea se cruza a sí misma.
Los segmentos vecinos no se comprueban entre sí, y los cruces más cercanos entre sí que la tolerancia se notifican una vez. Ejemplo: un ocho -> su único punto de cruce
La polilínea y la tolerancia
Los puntos de cruce; vacío cuando no hay ninguno
Une segmentos sueltos en polilíneas emparejando los extremos que se encuentran dentro de la tolerancia.
Los segmentos que se conectan extremo con extremo se convierten en una polilínea por cadena; los segmentos que no tocan nada se convierten en polilíneas de un solo segmento. Ejemplo: diez segmentos dispersos que forman dos cadenas -> dos polilíneas
Los segmentos y la tolerancia para que dos extremos cuenten como en contacto
Las polilíneas que forman los segmentos
Aplica una matriz de transformación, o una lista de ellas en orden, a cada punto de la polilínea.
Ejemplo: una traslación según [5,0,0] -> cada punto movido 5 a lo largo de X
La polilínea y la transformación
Una nueva polilínea con los puntos transformados
Polilíneas: cadenas de segmentos rectos a través de una lista de puntos, guardadas como objetos simples de la forma
{ points, isClosed }. Una polilínea cerrada une su último punto de nuevo con el primero. Los métodos de aquí miden una polilínea, la convierten en segmentos o líneas, encuentran dónde se cruzan las polilíneas, ordenan segmentos sueltos en cadenas y dimensionan redondeos para sus esquinas. Las longitudes están en unidades del modelo.