Inverte a ordem dos pontos, de modo que a polilinha corre no sentido contrário.
A própria lista de pontos da polilinha dada é invertida no lugar e devolvida dentro de um novo objeto polilinha. Exemplo: [[0,0,0], [1,0,0], [2,0,0]] -> [[2,0,0], [1,0,0], [0,0,0]]
A polilinha
Uma polilinha com os pontos por ordem inversa
Divide a polilinha em objetos linha, um por segmento, cada um com um ponto inicial e um ponto final.
Uma polilinha fechada recebe também o segmento do seu último ponto de volta ao primeiro, a menos que os dois coincidam. Exemplo: três pontos -> duas linhas, ou três quando fechada
A polilinha
Uma linha por segmento, por ordem
Divide a polilinha em segmentos, cada um um par de pontos.
Uma polilinha fechada recebe também o segmento do seu último ponto de volta ao primeiro, a menos que os dois coincidam. Menos de dois pontos não dão segmentos. Exemplo: quatro pontos, fechada -> quatro segmentos à volta do laço
A polilinha
Um par de pontos por segmento, por ordem
Constrói um objeto polilinha a partir de pontos, aberta ou fechada.
Exemplo: três pontos com isClosed true -> um triângulo
Os pontos e se o último volta a ligar ao primeiro
O objeto polilinha
Encontra o maior arredondamento para cada canto da polilinha, cada um limitado à metade mais próxima dos seus segmentos para que os arredondamentos nunca se sobreponham.
Uma polilinha fechada inclui os dois cantos nas suas extremidades. Menos de três pontos dão uma lista vazia.
A polilinha e a tolerância
Um raio por canto, pela ordem dos cantos
Encontra um raio de arredondamento que cabe em todos os cantos da polilinha: o menor dos máximos por canto segundo a regra do meio segmento.
Menos de três pontos, ou qualquer canto que não permita arredondamento, dão 0.
A polilinha e a tolerância
O raio que cabe em todos os cantos, em unidades do modelo
Mede a polilinha somando as distâncias em linha reta entre pontos vizinhos.
O segmento de fecho de uma polilinha fechada não é contado. Exemplo: [[0,0,0], [3,0,0], [3,4,0]] -> 7
A polilinha
O comprimento em unidades do modelo
Conta os pontos da polilinha.
Exemplo: três pontos -> 3
A polilinha
O número de pontos
Lê a lista de pontos da polilinha.
Exemplo: { points: [[0,0,0], [1,0,0]] } -> [[0,0,0], [1,0,0]]
A polilinha
Os seus pontos, por ordem
Encontra os pontos onde duas polilinhas se cruzam, testando cada segmento de uma contra cada segmento da outra.
Cruzamentos mais próximos entre si do que a tolerância são reportados uma vez. Exemplo: duas polilinhas que formam um X -> o ponto no meio
As duas polilinhas e a tolerância
Os pontos de cruzamento; vazio quando não existem
Encontra os pontos onde a polilinha se cruza a si própria.
Segmentos vizinhos não são testados um contra o outro, e cruzamentos mais próximos entre si do que a tolerância são reportados uma vez. Exemplo: um oito -> o seu único ponto de cruzamento
A polilinha e a tolerância
Os pontos de cruzamento; vazio quando não existem
Une segmentos soltos em polilinhas emparelhando extremidades que se encontram dentro da tolerância.
Segmentos que se ligam ponta a ponta tornam-se uma polilinha por cada cadeia; segmentos que não tocam em nada tornam-se polilinhas de um só segmento. Exemplo: dez segmentos dispersos que formam duas cadeias -> duas polilinhas
Os segmentos e a tolerância para duas extremidades contarem como unidas
As polilinhas que os segmentos formam
Aplica uma matriz de transformação, ou uma lista delas por ordem, a todos os pontos da polilinha.
Exemplo: uma translação de [5,0,0] -> todos os pontos movidos 5 ao longo de X
A polilinha e a transformação
Uma nova polilinha com os pontos transformados
Polilinhas: cadeias de segmentos retos através de uma lista de pontos, guardadas como objetos simples da forma
{ points, isClosed }. Uma polilinha fechada liga o seu último ponto de volta ao primeiro. Os métodos aqui medem uma polilinha, convertem-na em segmentos ou linhas, descobrem onde as polilinhas se cruzam, ordenam segmentos soltos em cadeias e dimensionam arredondamentos para os seus cantos. Os comprimentos estão em unidades do modelo.