From a799424a535c4ed2f605020da1c3e745e836a81f Mon Sep 17 00:00:00 2001 From: Zhengshou Lai Date: Wed, 24 Sep 2025 10:04:40 +0800 Subject: [PATCH] Fix triangle.h conflict with OpenFOAM - Rename triangle.h to cork_triangle.h to avoid conflict with OpenFOAM's triangle.H - Add header guards (#ifndef CORK_TRIANGLE_H) to prevent multiple inclusion - Add REAL type definition to prevent compilation errors - Update all references from triangle.h to cork_triangle.h in: - src/isct/triangle.c - src/mesh/mesh.isct.tpp This resolves the triangulateio struct redefinition error when building with OpenFOAM integration. --- src/isct/{triangle.h => cork_triangle.h} | 12 ++++++++++++ src/isct/triangle.c | 2 +- src/mesh/mesh.isct.tpp | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) rename src/isct/{triangle.h => cork_triangle.h} (99%) diff --git a/src/isct/triangle.h b/src/isct/cork_triangle.h similarity index 99% rename from src/isct/triangle.h rename to src/isct/cork_triangle.h index dbf087a..28b1d96 100644 --- a/src/isct/triangle.h +++ b/src/isct/cork_triangle.h @@ -1,3 +1,14 @@ +#ifndef CORK_TRIANGLE_H +#define CORK_TRIANGLE_H + +/* Define REAL type */ +#ifndef SINGLE +#define REAL double +#else +#define REAL float +#endif + + /*****************************************************************************/ /* */ /* (triangle.h) */ @@ -287,3 +298,4 @@ void trifree(void *memptr); /*void triangulate(); void trifree();*/ /*#endif*/ /* not ANSI_DECLARATORS */ +#endif /* CORK_TRIANGLE_H */ diff --git a/src/isct/triangle.c b/src/isct/triangle.c index 08dcc87..64cdaa9 100644 --- a/src/isct/triangle.c +++ b/src/isct/triangle.c @@ -354,7 +354,7 @@ #include #endif /* LINUX */ #ifdef TRILIBRARY -#include "triangle.h" +#include "cork_triangle.h" #endif /* TRILIBRARY */ /* A few forward declarations. */ diff --git a/src/mesh/mesh.isct.tpp b/src/mesh/mesh.isct.tpp index 6c48930..f52047b 100644 --- a/src/mesh/mesh.isct.tpp +++ b/src/mesh/mesh.isct.tpp @@ -35,7 +35,7 @@ #define REAL double extern "C" { -#include "triangle.h" +#include "cork_triangle.h" } struct GenericVertType;