Calcule une normale pour chaque sommet à partir du maillage et la stocke dans trois canaux de propriétés
à partir de normalIdx.
Les arêtes plus vives que minSharpAngle, en degrés, gardent des normales séparées de chaque côté et restent
nettes ; à 0 chaque triangle garde sa propre normale. Les faces planes de plusieurs triangles restent planes.
Le solide, le premier canal de normales et l'angle vif en degrés
Le solide avec les normales stockées
Calcule la force avec laquelle la surface se courbe en chaque sommet et la stocke dans des canaux de propriétés :
courbure gaussienne à gaussianIdx, courbure moyenne à meanIdx.
La courbure est l'inverse du rayon de courbure, positive là où la surface est convexe et négative là où elle est concave ; un index inférieur à 0 saute ce canal.
Le solide et les deux canaux dans lesquels stocker
Le solide avec la courbure stockée
Ajoute des triangles à un solide lissé jusqu'à ce que chaque point de son maillage soit à moins de tolerance de
la surface lisse, de sorte que les régions très courbées reçoivent plus de triangles que les plates.
Seul un solide lissé avec smoothOut ou smoothByNormals change ; tout autre revient
sous forme de copie.
Le solide et la tolérance en unités du modèle
Le solide raffiné
Ajoute des triangles à un solide en divisant chaque arête en morceaux d'à peu près la longueur donnée, en ajoutant des sommets intérieurs pour garder les triangles réguliers.
Sur un solide lissé avec smoothOut ou smoothByNormals, les nouveaux sommets se placent sur la
surface lisse ; sinon la surface reste telle quelle.
Le solide et la longueur d'arête cible en unités du modèle
Le solide raffiné
Ajoute des triangles à un solide en divisant chaque arête en number morceaux ; avec 2, chaque triangle
en devient quatre.
Sur un solide lissé avec smoothOut ou smoothByNormals, les nouveaux sommets se placent sur la
surface lisse ; sinon les nouveaux triangles restent plats.
Le solide et le nombre de morceaux en lesquels diviser chaque arête
Le solide raffiné
Marque un solide pour le lissage en calculant des tangentes à partir de ses triangles, de sorte qu'un refine
ou refineToLength ultérieur courbe les nouveaux triangles en une surface lisse.
Les arêtes plus vives que minSharpAngle, en degrés, restent vives ; minSmoothness supérieur à 0 les arrondit
un peu, et 1 lisse tout. La géométrie elle-même ne change pas tant qu'elle n'est pas
raffinée.
Le solide, l'angle vif en degrés et le degré de lissage des arêtes vives
Le solide avec des tangentes de lissage
Marque un solide pour le lissage en utilisant les normales stockées dans ses propriétés de sommet, de sorte qu'un
refine ou refineToLength ultérieur courbe les nouveaux triangles en une surface lisse.
normalIdx est le premier des trois canaux de normales, tels que calculateNormals les stocke ;
là où les normales d'un sommet divergent, l'arête reste vive.
Le solide et le premier canal de normales
Le solide avec des tangentes de lissage
Retire des sommets du maillage d'un solide en gardant chaque surface à moins de tolerance de là où
elle était, pour réduire le nombre de triangles.
Le résultat garde un sous-ensemble des sommets d'origine ; la valeur de tolérance propre du solide reste inchangée.
Le solide et la distance maximale de déplacement des surfaces, en unités du modèle
Le solide simplifié
Réécrit les propriétés de sommet d'un solide avec une fonction qui reçoit la position et les anciennes propriétés de chaque sommet et remplit les nouvelles.
numProp règle combien de propriétés chaque sommet a ensuite, des canaux peuvent donc être ajoutés ou
retirés ; lire au-delà de l'ancien nombre ou écrire au-delà du nouveau est indéfini.
Le solide, le nouveau nombre de propriétés et la fonction qui remplit les propriétés
Le solide avec les nouvelles propriétés
Donne à un solide une nouvelle tolérance, l'erreur d'arrondi qu'il est autorisé à porter, et simplifie son maillage quand la tolérance augmente.
Les triangles plus fins que la tolérance sont considérés comme dégénérés et retirés.
Le solide et la tolérance en unités du modèle
Le solide avec la nouvelle tolérance
Réserve une suite de count ids de maillage uniques et renvoie le premier, pour marquer des ensembles de
triangles qui peuvent être retrouvés après des opérations ultérieures.
Assignez-les au runOriginalID d'un maillage avant d'en construire un solide, par exemple pour garder
plusieurs matériaux séparés.
Le nombre d'ids à réserver
Le premier des ids réservés ; les autres suivent en séquence
Fait une copie d'un solide qui compte comme un nouvel original, de sorte que la copie peut porter ses propres propriétés de sommet, comme une projection UV différente, et être distinguée de ce dont elle a été construite.
Les faces coplanaires sont fusionnées et les arêtes entre elles supprimées au passage ; gardez plutôt la voie du maillage quand ces arêtes doivent rester.
Le solide
La copie marquée comme originale
Regroupe plusieurs solides en un seul, l'inverse de decompose.
Les solides qui se chevauchent sont fusionnés, comme le ferait une union booléenne ; ceux qui restent séparés demeurent des pièces distinctes du même résultat.
Les solides à regrouper
Un solide qui les contient tous
Sépare un solide en ses morceaux distincts et non connectés, l'inverse de compose.
Un solide d'un seul tenant revient sous forme de liste d'une seule copie.
Le solide
Les morceaux séparés
Coupe un solide avec un plan parallèle au plan XY à la hauteur Z donnée et renvoie la section plane sous forme de section.
Une hauteur au bas de la boîte englobante du solide donne ses faces du bas ; une hauteur au sommet donne une section vide.
Le solide et la hauteur Z de la coupe
La coupe sous forme de section
Aplatit un solide sur le plan XY et renvoie son contour sous forme de section, comme son ombre sous une lumière placée juste au-dessus.
Le solide
Le contour sous forme de section
Enveloppe un solide dans son enveloppe convexe, la plus petite forme sans creux qui le contient, comme un film plastique tendu autour de lui.
Le solide
L'enveloppe convexe
Enveloppe des points, des solides ou un mélange des deux dans une seule enveloppe convexe, la plus petite forme sans creux qui les contient tous.
Les points et solides à envelopper
L'enveloppe convexe
Modifier des solides Manifold au-delà des opérations booléennes : les envelopper dans une enveloppe convexe, les trancher et les projeter en sections, raffiner et lisser leurs maillages, les simplifier, les composer et les décomposer, et calculer les normales et la courbure dans des canaux de propriétés de sommets. Un canal de propriété est un nombre par sommet stocké sur le maillage, comme les trois canaux d'une normale. Chaque méthode renvoie un nouveau solide.