Skip to content
Snippets Groups Projects
Commit ea570ad2 authored by mattijs's avatar mattijs
Browse files

ENH: surfaceFeatureExtract: disabled curvature calculation (only CGAL dependency)

parent 70b48f33
No related merge requests found
surfaceFeatureExtract.C
CGALPolyhedron/buildCGALPolyhedron.C
/* CGALPolyhedron/buildCGALPolyhedron.C */
EXE = $(FOAM_APPBIN)/surfaceFeatureExtract
#if false
EXE_FROUNDING_MATH = -frounding-math
EXE_NDEBUG = -DNDEBUG
USE_F2C = -DCGAL_USE_F2C
include $(GENERAL_RULES)/CGAL
EXE_INC = \
-DENABLE_CURVATURE \
${EXE_FROUNDING_MATH} \
${EXE_NDEBUG} \
${USE_F2C} \
......@@ -27,3 +29,21 @@ EXE_LIBS = \
-ledgeMesh \
-ltriSurface \
-lsampling
#else
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/edgeMesh/lnInclude \
-I$(LIB_SRC)/triSurface/lnInclude \
-I$(LIB_SRC)/surfMesh/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude
EXE_LIBS = \
-lmeshTools \
-ledgeMesh \
-ltriSurface \
-lsampling
#endif
......@@ -29,11 +29,9 @@ Description
\*---------------------------------------------------------------------------*/
#include "triangle.H"
#include "triSurface.H"
#include "argList.H"
#include "Time.H"
#include "triSurface.H"
#include "surfaceFeatures.H"
#include "featureEdgeMesh.H"
#include "extendedFeatureEdgeMesh.H"
......@@ -43,16 +41,17 @@ Description
#include "triSurfaceMesh.H"
#include "vtkSurfaceWriter.H"
#include "triSurfaceFields.H"
#include "unitConversion.H"
#include "indexedOctree.H"
#include "treeDataEdge.H"
#include "unitConversion.H"
#ifdef ENABLE_CURVATURE
#include "buildCGALPolyhedron.H"
#include "CGALPolyhedronRings.H"
#include <CGAL/Monge_via_jet_fitting.h>
#include <CGAL/Lapack/Linear_algebra_lapack.h>
#include <CGAL/property_map.h>
#endif
using namespace Foam;
......@@ -150,6 +149,7 @@ void drawHitProblem
}
#ifdef ENABLE_CURVATURE
scalarField calcCurvature(const triSurface& surf)
{
scalarField k(surf.points().size(), 0);
......@@ -296,7 +296,7 @@ scalarField calcCurvature(const triSurface& surf)
return k;
}
#endif
// Unmark non-manifold edges if individual triangles are not features
void unmarkBaffles
......@@ -405,11 +405,6 @@ int main(int argc, char *argv[])
"writeVTK",
"write extendedFeatureEdgeMesh vtk files"
);
argList::addBoolOption
(
"calcCurvature",
"calculate curvature and closeness fields"
);
argList::addOption
(
"closeness",
......@@ -433,6 +428,14 @@ int main(int argc, char *argv[])
"remove any non-manifold (open or more than two connected faces) edges"
);
# ifdef ENABLE_CURVATURE
argList::addBoolOption
(
"calcCurvature",
"calculate curvature and closeness fields"
);
# endif
# include "setRootCase.H"
# include "createTime.H"
......@@ -955,6 +958,8 @@ int main(int argc, char *argv[])
externalClosenessField.write();
#ifdef ENABLE_CURVATURE
scalarField k = calcCurvature(surf);
// Modify the curvature values on feature edges and points to be zero.
......@@ -984,6 +989,7 @@ int main(int argc, char *argv[])
);
kField.write();
#endif
if (writeVTK)
{
......@@ -1011,6 +1017,7 @@ int main(int argc, char *argv[])
true // verbose
);
# ifdef ENABLE_CURVATURE
vtkSurfaceWriter().write
(
runTime.constant()/"triSurface", // outputDir
......@@ -1022,6 +1029,7 @@ int main(int argc, char *argv[])
true, // isNodeValues
true // verbose
);
# endif
}
Info<< "End\n" << endl;
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment