Calcula una normal para cada vértice a partir de la malla y la guarda en tres canales de propiedades
a partir de normalIdx.
Las aristas más afiladas que minSharpAngle, en grados, conservan normales separadas a cada lado y se mantienen
nítidas; en 0 cada triángulo conserva su propia normal. Las caras planas de varios triángulos se mantienen planas.
El sólido, el primer canal de normales y el ángulo agudo en grados
El sólido con las normales almacenadas
Calcula con qué fuerza se curva la superficie en cada vértice y lo guarda en canales de propiedades:
la curvatura gaussiana en gaussianIdx, la curvatura media en meanIdx.
La curvatura es el inverso del radio de curvatura, positiva donde la superficie es convexa y negativa donde es cóncava; un índice por debajo de 0 omite ese canal.
El sólido y los dos canales en los que almacenarla
El sólido con la curvatura almacenada
Añade triángulos a un sólido suavizado hasta que cada punto de su malla queda dentro de tolerance respecto a
la superficie suave, de modo que las regiones muy curvadas reciben más triángulos que las planas.
Solo cambia un sólido que se suavizó con smoothOut o smoothByNormals; cualquier otro vuelve
como una copia.
El sólido y la tolerancia en unidades del modelo
El sólido refinado
Añade triángulos a un sólido dividiendo cada arista en trozos de aproximadamente la longitud dada, añadiendo vértices interiores para mantener los triángulos uniformes.
En un sólido suavizado con smoothOut o smoothByNormals los vértices nuevos se mueven sobre la
superficie suave; en caso contrario la superficie se queda como está.
El sólido y la longitud de arista objetivo en unidades del modelo
El sólido refinado
Añade triángulos a un sólido dividiendo cada arista en number trozos; con 2, cada triángulo
se convierte en cuatro.
En un sólido suavizado con smoothOut o smoothByNormals los vértices nuevos se mueven sobre la
superficie suave; en caso contrario los triángulos nuevos se mantienen planos.
El sólido y en cuántos trozos dividir cada arista
El sólido refinado
Marca un sólido para el suavizado calculando tangentes a partir de sus triángulos, de modo que un refine
o refineToLength posterior curva los triángulos nuevos hasta una superficie suave.
Las aristas más afiladas que minSharpAngle, en grados, se mantienen afiladas; minSmoothness por encima de 0 las redondea
un poco, y 1 lo suaviza todo. La geometría en sí no cambia hasta que se
refina.
El sólido, el ángulo agudo en grados y la suavidad de las aristas vivas
El sólido con tangentes de suavizado
Marca un sólido para el suavizado usando las normales guardadas en sus propiedades de vértice, de modo que un
refine o refineToLength posterior curva los triángulos nuevos hasta una superficie suave.
normalIdx es el primero de los tres canales de normales, tal como los guarda calculateNormals;
donde las normales de un vértice discrepan la arista se mantiene afilada.
El sólido y el primer canal de normales
El sólido con tangentes de suavizado
Elimina vértices de la malla de un sólido manteniendo cada superficie dentro de tolerance respecto a donde
estaba, para reducir el número de triángulos.
El resultado conserva un subconjunto de los vértices originales; el valor de tolerancia propio del sólido no cambia.
El sólido y cuánto pueden desplazarse las superficies, en unidades del modelo
El sólido simplificado
Reescribe las propiedades de vértice de un sólido con una función que recibe la posición y las propiedades antiguas de cada vértice y rellena las nuevas.
numProp establece cuántas propiedades tiene cada vértice después, de modo que pueden añadirse o
descartarse canales; leer más allá del número antiguo o escribir más allá del nuevo es indefinido.
El sólido, el nuevo número de propiedades y la función que rellena las propiedades
El sólido con las nuevas propiedades
Da a un sólido una tolerancia nueva, el error de redondeo que se le permite llevar, y simplifica su malla cuando la tolerancia crece.
Los triángulos más finos que la tolerancia se tratan como degenerados y se eliminan.
El sólido y la tolerancia en unidades del modelo
El sólido con la nueva tolerancia
Reserva una serie de count ids de malla únicos y devuelve el primero, para marcar conjuntos de
triángulos que puedan encontrarse de nuevo tras operaciones posteriores.
Asígnalos al runOriginalID de una malla antes de construir un sólido a partir de ella, por ejemplo para mantener
separados varios materiales.
Cuántos ids reservar
El primero de los ids reservados; el resto siguen en secuencia
Hace una copia de un sólido que cuenta como un original nuevo, de modo que la copia puede llevar sus propias propiedades de vértice, como un mapeado UV distinto, y distinguirse de aquello a partir de lo que se construyó.
Las caras coplanares se fusionan y las aristas entre ellas se colapsan por el camino; conserva la ruta de malla en su lugar cuando esas aristas deban quedarse.
El sólido
La copia marcada como original
Empaqueta varios sólidos en uno, el inverso de decompose.
Los sólidos que se solapan se fusionan, como haría una unión booleana; los que se mantienen separados siguen siendo piezas independientes del único resultado.
Los sólidos que empaquetar juntos
Un sólido que contiene todos ellos
Divide un sólido en sus piezas separadas y no conectadas, el inverso de compose.
Un sólido que es todo una pieza vuelve como una lista de una copia.
El sólido
Los trozos separados
Corta un sólido con un plano paralelo al plano XY a la altura Z dada y devuelve la sección plana como una sección transversal.
Una altura en la base de la caja delimitadora del sólido da sus caras inferiores; una altura en la cima da una sección transversal vacía.
El sólido y la altura Z del corte
La sección como sección transversal
Aplana un sólido sobre el plano XY y devuelve su contorno como una sección transversal, como su sombra bajo una luz justo encima.
El sólido
El contorno como sección transversal
Envuelve un sólido en su envolvente convexa, la forma más pequeña sin abolladuras que lo contiene, como un plástico retráctil tensado sobre él.
El sólido
La envolvente convexa
Envuelve puntos, sólidos o una mezcla de ambos en una sola envolvente convexa, la forma más pequeña sin abolladuras que los contiene a todos.
Los puntos y sólidos que envolver
La envolvente convexa
Cambiar sólidos Manifold más allá de los booleanos: envolverlos en una envolvente convexa, cortarlos y proyectarlos en secciones transversales, refinar y suavizar sus mallas, simplificarlos, componerlos y descomponerlos, y calcular normales y curvatura en canales de propiedades de vértice. Un canal de propiedades es un número por vértice almacenado en la malla, como los tres canales de una normal. Cada método devuelve un sólido nuevo.