Compare commits
14 Commits
4b804950a0
...
master
Author | SHA1 | Date | |
---|---|---|---|
31d18b0715 | |||
93350f469a | |||
3e03f791cd | |||
be0b840231 | |||
610b0c5633 | |||
539ec4fad7 | |||
fe639d7cf0 | |||
48d652676d | |||
b957e2723d | |||
040971e50f | |||
8b803efbdc | |||
6e53dc13c6 | |||
c3955de037 | |||
98c93372dd |
@ -44,28 +44,28 @@ target_compile_features(pfe PRIVATE cxx_std_17)
|
||||
|
||||
target_sources(pfe PRIVATE
|
||||
src/main.cc
|
||||
src/angles_filter.cc
|
||||
src/angles_filter.h
|
||||
src/aspect_ratio_filter.cc
|
||||
src/aspect_ratio_filter.h
|
||||
src/dihedral_angles_filter.cc
|
||||
src/dihedral_angles_filter.h
|
||||
src/analysis/angles_filter.cc
|
||||
src/analysis/angles_filter.h
|
||||
src/analysis/aspect_ratio_filter.cc
|
||||
src/analysis/aspect_ratio_filter.h
|
||||
src/analysis/dihedral_angles_filter.cc
|
||||
src/analysis/dihedral_angles_filter.h
|
||||
src/surface_points_filter.cc
|
||||
src/surface_points_filter.h
|
||||
src/kd_tree.cc
|
||||
src/kd_tree.h
|
||||
src/mesh_fit_filter.cc
|
||||
src/mesh_fit_filter.h
|
||||
src/fitting/mesh_fit_filter.cc
|
||||
src/fitting/mesh_fit_filter.h
|
||||
src/point_tris_dist.cc
|
||||
src/point_tris_dist.h
|
||||
src/project_surface_points_on_poly.cc
|
||||
src/project_surface_points_on_poly.h
|
||||
src/remove_external_cells_filter.cc
|
||||
src/remove_external_cells_filter.h
|
||||
src/relaxation_filter.cc
|
||||
src/relaxation_filter.h
|
||||
src/max_distance_filter.cc
|
||||
src/max_distance_filter.h
|
||||
src/fitting/project_surface_points_on_poly.cc
|
||||
src/fitting/project_surface_points_on_poly.h
|
||||
src/fitting/remove_external_cells_filter.cc
|
||||
src/fitting/remove_external_cells_filter.h
|
||||
src/fitting/relaxation_filter.cc
|
||||
src/fitting/relaxation_filter.h
|
||||
src/analysis/max_distance_filter.cc
|
||||
src/analysis/max_distance_filter.h
|
||||
src/closest_polymesh_point.cc
|
||||
src/closest_polymesh_point.h)
|
||||
|
||||
|
BIN
rapport/img/Pipeline2.png
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
rapport/img/cow-head-poly.png
Normal file
After Width: | Height: | Size: 183 KiB |
BIN
rapport/img/cow-head-tet-out.png
Normal file
After Width: | Height: | Size: 162 KiB |
BIN
rapport/img/cow-head-tet.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
rapport/img/dist_point_tris_sectors.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
rapport/img/explosion.png
Normal file
After Width: | Height: | Size: 241 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 159 KiB |
BIN
rapport/img/not_relaxed.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
rapport/img/project_triangle_schema.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
rapport/img/relaxed.png
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
rapport/img/surface_points.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
117
rapport/présentation.txt
Normal file
@ -0,0 +1,117 @@
|
||||
+------------+
|
||||
| Partie 1/3 |
|
||||
+------------+
|
||||
|
||||
1. Présentation du sujet
|
||||
|
||||
[4/37] Maillages volumiques
|
||||
- Structure composée de cellules polyédriques (tétraèdres, hexaèdres…)
|
||||
reliées entre elles comme pour un maillage polygonal
|
||||
classique, mais les cellules sont en 3D.
|
||||
|
||||
[5/37] Anisotropie
|
||||
Notion de dépendance à l'orientation.
|
||||
Image : plasma dans un réacteur à fusion nucléaire. On distingue clairement
|
||||
une direction principale qui est la « boucle ». Cet exemple présente
|
||||
donc de l'anisotropie.
|
||||
|
||||
[6/37] Anisotropie
|
||||
Plus formellement, un champ de métriques.
|
||||
Une métrique définit la déformation locale.
|
||||
|
||||
À gauche : isotropie.
|
||||
À droite : espace anisotropique circulaire.
|
||||
|
||||
[7/37] Applications
|
||||
Principalement dans le domaine de la simulation physique
|
||||
Notamment la mécanique des fluides, où ils sont utilisés comme base de
|
||||
discrétisation pour porter les calculs.
|
||||
|
||||
Par rapport à une simple voxélisation : résolution adaptative, plus
|
||||
haute résolution dans les zones « intéressantes », pas de perte de temps
|
||||
sur les calculs dans les zones moins intéressantes.
|
||||
|
||||
Par rapport à une voxélisation multi-niveaux comme un octree ou un
|
||||
maillage isotropique, la forme des cellules peut être adaptée au
|
||||
problème pour encore améliorer la précision des calculs. Le problème
|
||||
reste maintenant de générer ces maillages anisotropiques.
|
||||
|
||||
[8/37]
|
||||
Présente des approches pour la génération de maillages surfaciques (et
|
||||
pas volumiques) anisotropes.
|
||||
D'après leur conclusion : « Bien qu'elles soient toutes prouvablement
|
||||
correctes, aucune des méthodes présentées n'est universellement
|
||||
pratique ».
|
||||
De plus, celle avec les résultats les « moins pires » est coûteuse en
|
||||
temps de calcul, ce qui ne ferait qu'empirer après adaptation sur
|
||||
maillages volumiques.
|
||||
|
||||
+------------+
|
||||
| Partie 2/3 |
|
||||
+------------+
|
||||
|
||||
[11/37]
|
||||
Difficile d'imaginer en trois mois qu'on puisse produire une solution
|
||||
qui fonctionne quand une thèse entière qui ne se consacre qu'au
|
||||
surfacique y peine.
|
||||
|
||||
[17/37]
|
||||
Présentation de la chaîne de traitement « pipeline »
|
||||
Deux modes : analyse et adaptation
|
||||
Image : en mode adaptation. En mode analyse on enlève simplement les
|
||||
étapes qui modifient la géométrie du maillage.
|
||||
|
||||
[19/37]
|
||||
point-in-polygon : permet de détecter si un point est dans un
|
||||
polygone. On tire un rayon depuis le point vers l'infini et compte le
|
||||
nombre d'intersections, pair : le points est hors du polygone,
|
||||
impair : le point est dans le polygone.
|
||||
|
||||
[20/37]
|
||||
Les cellules dont tous les points sont à l'extérieur du maillage
|
||||
surfaciques sont supprimées.
|
||||
|
||||
[21/37]
|
||||
Les points de surface sont ensuite marqués. Pour cela on détecte
|
||||
quelles faces sont mitoyennes, ce qu'on peut déduire car on sait à
|
||||
quelle cellules appartiennent chaque point.
|
||||
Si les trois points d'une face appartiennent tous à une autre cellule,
|
||||
c'est que la face qu'ils forment et mitoyenne. Sinon, elle est en
|
||||
surface.
|
||||
|
||||
[22/37]
|
||||
Les points de surface sont ensuite plaqués sur le point du maillage
|
||||
surfacique le plus proche.
|
||||
|
||||
[23/37]
|
||||
En déplaçant les points, on accumule l'information du déplacement de
|
||||
chaque point dans le voisinage dans un certain rayon, pondéré par la
|
||||
distance.
|
||||
|
||||
Le rayon est proportionel à la distance de déplacement multipliée par
|
||||
un facteur, ce qui assure qu'on ne produit pas de cellules inversées
|
||||
dites « chaussettes ».
|
||||
|
||||
Ceci est similaire à la « modification proportionelle » de blender.
|
||||
|
||||
[25/37] et [26/37]
|
||||
Influence du facteur de multiplication du rayon d'action sur la
|
||||
qualité. On voit qu'un rayon de 3 semble maximiser les angles les plus
|
||||
faibles, sans trop réduire les angles les plus élevés pour autant.
|
||||
|
||||
[27/37]
|
||||
Relaxation : on déplace chaque point dans le barycentre de son
|
||||
voisinage. Une itération améliore la qualité du maillage, plus d'une
|
||||
itération la dégrade.
|
||||
|
||||
+------------+
|
||||
| Partie 3/3 |
|
||||
+------------+
|
||||
|
||||
implémentation, moi
|
||||
|
||||
+------------+
|
||||
| Partie 4/3 |
|
||||
+------------+
|
||||
|
||||
résultats et conclusion
|
@ -6,6 +6,7 @@
|
||||
\usepackage{url}
|
||||
\usepackage{caption}
|
||||
\usepackage{listings}
|
||||
\usepackage{graphicx}
|
||||
|
||||
\title{Génération de maillages anisotropes}
|
||||
\author[Jérémy André, Cyril Colin et Christine Cozzolino]
|
||||
@ -84,15 +85,79 @@ mais qui approxime que grossièrement le maillage surfacique, et devons
|
||||
tenter de le rendre plus fidèle au maillage surfacique en évitant de
|
||||
dégrader la qualité.
|
||||
|
||||
\section{Présentation de notre méthode}
|
||||
\subsection{Plaquage des points sur maillage surfacique}
|
||||
\subsubsection{Recherche du point le plus proche}
|
||||
\subsubsection{Mouvement pondéré du voisinage}
|
||||
\subsection{Régularisation}
|
||||
\section{Implémentation}
|
||||
\section{Métrique de qualité}
|
||||
\section{Résultats}
|
||||
\subsection{Analyse d'un cas déféctueux}
|
||||
%-----------------------------------------------------------------------
|
||||
\section{Redéfinition de nos objectifs}
|
||||
La thèse de Rouxel-Labbé présente une excellente introduction du
|
||||
domaine en plus d'un état de l'art remarquable, mais les approches
|
||||
qu'elle propose restent assez limitée. L’auteur lui-même indique
|
||||
que bien que prouvablement correctes, elles sont limitées dans leurs
|
||||
applications. De plus, une des méthodes présentées qui fournit les
|
||||
meilleurs résultats à le défaut d'être coûteuse en temps de calcul,
|
||||
défaut qui ne ferait que s'aggraver si on la traduisait dans le
|
||||
domaine des maillages volumiques.
|
||||
|
||||
Pour cette raison, et au vu de la complexité de la tâche, notre
|
||||
encadrant a redéfini nos objectifs : il s'agit désormais de prendre un
|
||||
maillage tétraédrique généré à partir d'un maillage surfacique de
|
||||
manière simpliste, et de l'adapter pour réduire l'écart entre le
|
||||
maillage surfacique et le maillage tétraédrique sans trop dégrader la
|
||||
qualité de celui-ci.
|
||||
%-----------------------------------------------------------------------
|
||||
\section{Résultats et validation}
|
||||
Notre méthode présente des résultats en demi-teinte. Elle réussi
|
||||
effectivement à grandement diminuer la distance entre le maillage
|
||||
polygonal source et le maillage tétraédrique, mais pas sans générer
|
||||
par endroit des zones de très faible qualité. De plus, elle ne peut
|
||||
pas toujours corriger les défauts causés par la tétraédrisation
|
||||
initiale.
|
||||
|
||||
Les points les plus éloignés du maillage surfacique après application
|
||||
de notre méthode sont en effet ceux où trop de détails et de géométrie
|
||||
ont été perdus dans la tétrahédrisation (voir figure
|
||||
\ref{fig:cow-head}). On peut également y voir un défaut de notre
|
||||
méthode de projection qui choisit les points les plus proches.
|
||||
|
||||
\begin{figure*}
|
||||
\centering
|
||||
\begin{tabular}{ccc}
|
||||
\includegraphics[width=4.7cm]{img/cow-head-poly.png} &
|
||||
\includegraphics[width=4.7cm]{img/cow-head-tet.png} &
|
||||
\includegraphics[width=4.7cm]{img/cow-head-tet-out.png} \\
|
||||
\end{tabular}
|
||||
\caption{Tête de la vache dans le maillage polygonal source, le
|
||||
maillage tétraédrique initial, et le maillage tétraédrique après
|
||||
application de notre méthode, de gauche à droite respectivement.}
|
||||
\label{fig:cow-head}
|
||||
\end{figure*}
|
||||
|
||||
L'étape de relaxation améliore la qualité du maillage en minimisant le
|
||||
nombre de cellules qui ont des angles faibles. Cependant en faire plus
|
||||
d'une itération dégrade le maillage plus que de ne pas faire de
|
||||
relaxation du tout. Les angles moins faibles ne sont eux que peu
|
||||
affectés (Voir figure \ref{fig:courbe-relaxation}).
|
||||
|
||||
\begin{figure*}
|
||||
\centering
|
||||
\includegraphics[width=14cm]{img/influence-relaxation.png} \\
|
||||
\caption{Influence de la relaxation sur les angles dièdres}
|
||||
\label{fig:courbe-relaxation}
|
||||
\end{figure*}
|
||||
|
||||
Pour ce qui est du rayon d'action de la modification proportionelle,
|
||||
un multiplicateur de rayon de 3 réduit grandement la proportion de
|
||||
cellules avec des angles très faible, mais au-delà de ça l'effet est
|
||||
négligeable (Voir figure \ref{fig:courbe-rayon}).
|
||||
|
||||
\begin{figure*}
|
||||
\centering
|
||||
\begin{tabular}{cc}
|
||||
\includegraphics[width=8cm]{img/influence-rayon-0-3.png} &
|
||||
\includegraphics[width=8cm]{img/influence-rayon-5-20.png} \\
|
||||
\end{tabular}
|
||||
\caption{Influence du rayon de modification proportionelle sur les
|
||||
angles dièdres}
|
||||
\label{fig:courbe-rayon}
|
||||
\end{figure*}
|
||||
|
||||
\newpage
|
||||
\bibliography{rapport}
|
||||
|
15
rapport/slides.bib
Normal file
@ -0,0 +1,15 @@
|
||||
@article{plasma,
|
||||
author = {Helander, P and Beidler, C and Bird, T and Drevlak, M and Feng, Y. and Hatzky, R and Jenko, Frank and Kleiber, R. and Proll, Josefine and Turkin, Yu and Xanthopoulos, Panagiotis},
|
||||
year = {2012},
|
||||
month = {11},
|
||||
pages = {124009},
|
||||
title = {Stellarator and tokamak plasmas: A comparison},
|
||||
volume = {54},
|
||||
journal = {Plasma Physics and Controlled Fusion},
|
||||
doi = {10.1088/0741-3335/54/12/124009}
|
||||
}
|
||||
|
||||
@misc{gamma,
|
||||
author = {Frédéric Alauzet et al.},
|
||||
howpublished = {https://team.inria.fr/gamma/}
|
||||
}
|
@ -3,6 +3,10 @@
|
||||
\usepackage[french]{babel}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{csquotes}
|
||||
\usepackage[backend=biber]{biblatex}
|
||||
|
||||
\addbibresource{slides.bib}
|
||||
|
||||
\usetheme{JuanLesPins}
|
||||
\beamertemplatenavigationsymbolsempty
|
||||
@ -12,10 +16,10 @@
|
||||
\newlength\graphwidth
|
||||
\setlength\graphwidth{10.5cm}
|
||||
\newlength\graphheight
|
||||
\setlength\graphheight{7cm}
|
||||
\setlength\graphheight{5.5cm}
|
||||
\makeatother
|
||||
|
||||
\title{Approximation et amélioration de la qualité des maillages tétrahédriques}
|
||||
\title{Génération de maillages anisotropes}
|
||||
\author{Jérémy André, Cyril Colin, Christine Cozzolino}
|
||||
\institute{Aix-Marseille Université} \date{\today}
|
||||
\titlegraphic{\includegraphics[width=2.5cm]{img/logo-gig.png}}
|
||||
@ -40,32 +44,41 @@
|
||||
|
||||
\begin{frame}{Maillages volumiques}
|
||||
\centering
|
||||
\begin{tabular}{cc}
|
||||
\includegraphics[width=4.5cm]{img/cow-00.png} &
|
||||
\includegraphics[width=4.5cm]{img/cow-03.png} \\
|
||||
\includegraphics[width=4.5cm]{img/cow-06.png} &
|
||||
\includegraphics[width=4.5cm]{img/cow-09.png} \\
|
||||
\end{tabular}
|
||||
\begin{figure}
|
||||
\begin{tabular}{cc}
|
||||
\includegraphics[width=4.5cm]{img/cow-00.png} &
|
||||
\includegraphics[width=4.5cm]{img/cow-03.png} \\
|
||||
\includegraphics[width=4.5cm]{img/cow-06.png} &
|
||||
\includegraphics[width=4.5cm]{img/cow-09.png} \\
|
||||
\end{tabular}
|
||||
\caption{Différentes coupes du maillage volumique d'une vache}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Anisotropie}
|
||||
\centering
|
||||
\includegraphics{img/plasma.png}
|
||||
\begin{figure}
|
||||
\includegraphics[height=\graphheight]{img/plasma.png}
|
||||
\caption{Plasma dans un réacteur à fusion nucléaire \cite{plasma}}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Anisotropie}
|
||||
\centering
|
||||
\begin{tabular}{cc}
|
||||
\includegraphics[width=4.5cm]{img/isotropique.png} &
|
||||
\includegraphics[width=4.5cm]{img/anisotropique.png}
|
||||
\end{tabular}
|
||||
\begin{figure}
|
||||
\begin{tabular}{cc}
|
||||
\includegraphics[width=4.5cm]{img/isotropique.png} &
|
||||
\includegraphics[width=4.5cm]{img/anisotropique.png}
|
||||
\end{tabular}
|
||||
\caption{À gauche : plan isotropique. À droite : plan anisotropique circulaire.}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Applications}
|
||||
\begin{figure}[htb]
|
||||
\includegraphics[width=9cm]{img/symmetry-plane.png}
|
||||
\caption{\label{fig:inria-gamma}
|
||||
Image issue du projet GAMMA d'Inria \url{https://team.inria.fr/gamma/}
|
||||
Image issue du projet GAMMA d'Inria \cite{gamma}
|
||||
}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
@ -87,18 +100,37 @@
|
||||
\begin{frame}
|
||||
Le sujet étant jugé trop complexe, notre encadrant nous guide vers
|
||||
un sujet un peu simplifié.
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[plain]{}
|
||||
\hspace*{-12mm}
|
||||
\includegraphics[width=\paperwidth]{img/explosion.png}
|
||||
\end{frame}
|
||||
|
||||
\title{Approximation et amélioration de la qualité des maillages tétrahédriques}
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\begin{block}{Nouveau sujet}
|
||||
Adapter un maillage tétrahédrique simple existant au maillage
|
||||
surfacique utilisé pour le générer, tout en préservant sa qualité.
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{Présentation de notre méthode}
|
||||
|
||||
\begin{frame}{Chaîne de traitement}
|
||||
\begin{frame}
|
||||
\centering
|
||||
\includegraphics[height=\graphheight]{img/pipeline.png}
|
||||
\begin{figure}
|
||||
\includegraphics[height=\graphheight]{img/pipeline2.png}
|
||||
\caption{Chaîne de traitement de notre approche}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Pré-traitement}
|
||||
@ -110,21 +142,46 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Point-dans-polygone}
|
||||
\begin{frame}
|
||||
\centering
|
||||
\includegraphics[height=\graphheight]{img/point_in_polygon.png}
|
||||
\begin{figure}
|
||||
\includegraphics[height=\graphheight]{img/point_in_polygon.png}
|
||||
\caption{Point-dans-polygone}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Suppression des cellules externes}
|
||||
\centering
|
||||
\includegraphics[width=\graphwidth]{img/remove_external.png}
|
||||
\begin{figure}
|
||||
\includegraphics[width=\graphwidth]{img/remove_external.png}
|
||||
\caption{Cellules supprimées}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\centering
|
||||
\begin{figure}
|
||||
\includegraphics[width=\graphwidth]{img/surface_points.png}
|
||||
\caption{Détection des points de surface}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Projection des points}
|
||||
|
||||
\begin{frame}{Recherche des points les plus proches}
|
||||
\centering
|
||||
\begin{figure}
|
||||
\includegraphics[height=\graphheight]{img/project_triangle_schema.png}
|
||||
\caption{Méthode de recherche du point le plus proche}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\centering
|
||||
\includegraphics[width=\graphwidth]{img/project.png}
|
||||
\begin{figure}
|
||||
\includegraphics[width=\graphwidth]{img/project.png}
|
||||
\caption{Vache après projection des points}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\subsection{« Modification proportionelle »}
|
||||
@ -185,10 +242,12 @@
|
||||
\includegraphics[width=\graphwidth]{img/vtk-unstructuredgrid-3.png}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Paraview}
|
||||
\centering
|
||||
\includegraphics[width=\graphwidth]{img/paraview.png}
|
||||
\begin{figure}
|
||||
\includegraphics[height=5cm]{img/paraview.png}
|
||||
\caption{Capture d'écran de Paraview}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
|
||||
@ -206,5 +265,8 @@
|
||||
\includegraphics[width=\graphwidth]{img/cas-échec-2.png}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\printbibliography
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include "max_distance_filter.h"
|
||||
#include "closest_polymesh_point.h"
|
||||
#include "../closest_polymesh_point.h"
|
||||
|
||||
#include <limits>
|
||||
#include <vtkPolyData.h>
|
@ -6,7 +6,7 @@
|
||||
#include <vtkDoubleArray.h>
|
||||
#include <vtkCellIterator.h>
|
||||
|
||||
#include "kd_tree.h"
|
||||
#include "../kd_tree.h"
|
||||
|
||||
vtkStandardNewMacro(MeshFitFilter);
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include "project_surface_points_on_poly.h"
|
||||
#include "closest_polymesh_point.h"
|
||||
#include "../closest_polymesh_point.h"
|
||||
|
||||
#include <vtkUnstructuredGrid.h>
|
||||
#include <vtkPointData.h>
|
@ -1,5 +1,5 @@
|
||||
#include "remove_external_cells_filter.h"
|
||||
#include "point_tris_dist.h"
|
||||
#include "../point_tris_dist.h"
|
||||
|
||||
#include <vtkCellType.h>
|
||||
#include <vtkUnstructuredGrid.h>
|
10
src/main.cc
@ -1,9 +1,9 @@
|
||||
#include "dihedral_angles_filter.h"
|
||||
#include "remove_external_cells_filter.h"
|
||||
#include "analysis/dihedral_angles_filter.h"
|
||||
#include "analysis/max_distance_filter.h"
|
||||
#include "fitting/remove_external_cells_filter.h"
|
||||
#include "fitting/project_surface_points_on_poly.h"
|
||||
#include "fitting/relaxation_filter.h"
|
||||
#include "surface_points_filter.h"
|
||||
#include "project_surface_points_on_poly.h"
|
||||
#include "relaxation_filter.h"
|
||||
#include "max_distance_filter.h"
|
||||
|
||||
#include <vtkGeometryFilter.h>
|
||||
#include <vtkCellArrayIterator.h>
|
||||
|