Compare commits

...

12 Commits

Author SHA1 Message Date
76c329b67e fixed build script 2025-04-22 15:23:49 +02:00
e003c57929 added build script 2025-04-22 13:07:15 +02:00
d4d46b9f4d add gitignore 2025-04-22 12:59:29 +02:00
Jan Möbius
24b8690bcd Merge branch 'fix-retain-deprecation-warning' into 'master'
Fix warning by not calling now-empty and deprecated retain().

See merge request OpenMesh/OpenMesh!352
2025-04-08 07:09:56 +00:00
Jan Möbius
056d58f6ee Merge branch 'fix-valence-1-split' into 'master'
PolyConnectivity: Support edge split in the presence of valence-1 vertices.

See merge request OpenMesh/OpenMesh!353
2025-04-08 07:09:03 +00:00
Martin Heistermann
92d0270066 PolyConnectivity: Support edge split in the presence of valence-1 vertices. 2025-04-07 16:38:28 +02:00
Martin Heistermann
ddb4b922a4 Fix warning by not calling now-empty and deprecated retain().
```
OpenMesh/Core/Utils/PropertyManager.hh:393:16: warning: 'retain' is deprecated [-Wdeprecated-declarations]
  393 |             pm.retain();
      |                ^
OpenMesh/Core/Utils/PropertyManager.hh:325:9: note: 'retain' has been explicitly marked deprecated here
  325 |         OM_DEPRECATED("retain no longer has any effect. Instead, named properties are always retained, while unnamed ones are not.")
```
2025-04-04 17:22:13 +02:00
Jan Möbius
eb2e6da9be Merge branch 'master' of gitlab.vci.rwth-aachen.de:OpenMesh/OpenMesh 2024-09-10 13:12:49 +02:00
Jan Möbius
43a26f1c83 Updated docs to include recursive cloning 2024-09-10 13:12:29 +02:00
Jan Möbius
48c0803d74 Update README.md 2024-09-10 11:07:08 +00:00
Jan Möbius
acee4f9b29 Update README.md 2024-09-10 11:06:42 +00:00
Jan Möbius
56463a297f Update CI 2024-07-16 09:09:29 +02:00
15 changed files with 81 additions and 28 deletions

29
.gitignore vendored
View File

@@ -16,3 +16,32 @@ debian/stamp*
debian/.debhelper debian/.debhelper
debian/libopenmesh* debian/libopenmesh*
obj-x86_64-linux-gnu obj-x86_64-linux-gnu
# Created by https://www.toptal.com/developers/gitignore/api/cmake
# Edit at https://www.toptal.com/developers/gitignore?templates=cmake
### CMake ###
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
### CMake Patch ###
CMakeUserPresets.json
# External projects
*-prefix/
# End of https://www.toptal.com/developers/gitignore/api/cmake
n
build-headers
build-ios
build-macos
build-xcframework

View File

@@ -28,7 +28,6 @@ cppcheck:
image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
timeout: 3h timeout: 3h
artifacts: artifacts:
paths: paths:
@@ -47,7 +46,6 @@ build-debug-gcc-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
LANGUAGE: "cpp11" LANGUAGE: "cpp11"
@@ -71,7 +69,6 @@ test-debug-gcc-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
@@ -103,7 +100,6 @@ build-release-gcc-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
LANGUAGE: "cpp11" LANGUAGE: "cpp11"
@@ -127,7 +123,6 @@ test-release-gcc-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
@@ -159,7 +154,6 @@ build-debug-clang-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "clang" COMPILER: "clang"
LANGUAGE: "cpp11" LANGUAGE: "cpp11"
@@ -183,7 +177,6 @@ test-debug-clang-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "clang" COMPILER: "clang"
@@ -215,7 +208,6 @@ build-release-clang-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "clang" COMPILER: "clang"
LANGUAGE: "cpp11" LANGUAGE: "cpp11"
@@ -239,7 +231,6 @@ test-release-clang-cpp11-qt6.1.2:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "clang" COMPILER: "clang"
@@ -272,7 +263,6 @@ build-debug-gcc-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
LANGUAGE: "cpp14" LANGUAGE: "cpp14"
@@ -296,7 +286,6 @@ test-debug-gcc-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
@@ -328,7 +317,6 @@ build-release-gcc-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
LANGUAGE: "cpp14" LANGUAGE: "cpp14"
@@ -352,7 +340,6 @@ test-release-gcc-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "gcc" COMPILER: "gcc"
@@ -384,7 +371,6 @@ build-debug-clang-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "clang" COMPILER: "clang"
LANGUAGE: "cpp14" LANGUAGE: "cpp14"
@@ -408,7 +394,6 @@ test-debug-clang-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "clang" COMPILER: "clang"
@@ -440,7 +425,6 @@ build-release-clang-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "clang" COMPILER: "clang"
LANGUAGE: "cpp14" LANGUAGE: "cpp14"
@@ -464,7 +448,6 @@ test-release-clang-cpp14-qt5.15.1:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "clang" COMPILER: "clang"
@@ -732,7 +715,6 @@ Sources:
script: "CI/ci-source.sh" script: "CI/ci-source.sh"
tags: tags:
- Linux - Linux
- stretch
dependencies: [] dependencies: []
artifacts: artifacts:
paths: paths:

View File

@@ -176,7 +176,7 @@ del *.exe
IF %errorlevel% NEQ 0 exit /b %errorlevel% IF %errorlevel% NEQ 0 exit /b %errorlevel%
move OpenMesh-*.exe "OpenMesh-10.0-Git-Master-%BUILD_PLATFORM%-%STRING_ARCH%%STRING_DLL%%STRING_APPS%.exe" move OpenMesh-*.exe "OpenMesh-11.0-Git-Master-%BUILD_PLATFORM%-%STRING_ARCH%%STRING_DLL%%STRING_APPS%.exe"

View File

@@ -29,7 +29,6 @@ Sources:
script: "CI/ci-source.sh" script: "CI/ci-source.sh"
tags: tags:
- Linux - Linux
- stretch
dependencies: [] dependencies: []
artifacts: artifacts:
paths: paths:

View File

@@ -10,7 +10,6 @@ iwyu-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}:
image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "{{COMPILER}}" COMPILER: "{{COMPILER}}"
LANGUAGE: "{{LANGUAGE}}" LANGUAGE: "{{LANGUAGE}}"

View File

@@ -11,7 +11,6 @@ build-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
variables: variables:
COMPILER: "{{COMPILER}}" COMPILER: "{{COMPILER}}"
LANGUAGE: "{{LANGUAGE}}" LANGUAGE: "{{LANGUAGE}}"

View File

@@ -10,7 +10,6 @@ test-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}:
#image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
- MultiThreads - MultiThreads
variables: variables:
COMPILER: "{{COMPILER}}" COMPILER: "{{COMPILER}}"

View File

@@ -8,7 +8,6 @@ cppcheck:
image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container image: gitlab.vci.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: tags:
- Linux - Linux
- stretch
timeout: 3h timeout: 3h
artifacts: artifacts:
paths: paths:

View File

@@ -35,6 +35,12 @@ Install the following external libraries / frameworks if you want to use the inc
<tr><td>Qt5</td><td><a href="http://qt-project.org/downloads" target="_blank">https://www.qt.io/download</a></td></tr> <tr><td>Qt5</td><td><a href="http://qt-project.org/downloads" target="_blank">https://www.qt.io/download</a></td></tr>
</table><br> </table><br>
\section download_source Getting the source code
You can download one of the source packages provided at our website: <a href="https://www.graphics.rwth-aachen.de/software/openmesh/download/" target="_blank">OpenMesh.org</a><br>
<br>
Or to get the latest version you can clone the repository using git. Make sure to clone recursively to get all required dependencies:<br>
git clone --recursive https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh.git
\section build_systems Chosing build system \section build_systems Chosing build system
%OpenMesh can be built using the <b>cmake</b> build system. %OpenMesh can be built using the <b>cmake</b> build system.

View File

@@ -9,6 +9,10 @@ All Documentation, binaries and original source code are available at www.openme
The main git repository is available at: The main git repository is available at:
https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh.git https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh.git
To clone the repository use:
`git clone --recursive https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh.git`
The gitlab site can be found here: The gitlab site can be found here:
https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh

27
build.sh Executable file
View File

@@ -0,0 +1,27 @@
rm -rf build-macos
mkdir build-macos && cd build-macos
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0
ninja
libtool -static -o Build/lib/libOpenMesh.a Build/lib/libOpenMeshCore.a Build/lib/libOpenMeshTools.a
cd ..
rm -rf build-ios
mkdir build-ios && cd build-ios
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_ARCHITECTURES="arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=16.0
ninja
libtool -static -o Build/lib/libOpenMesh.a Build/lib/libOpenMeshCore.a Build/lib/libOpenMeshTools.a
cd ..
rm -rf build-headers
rsync -av --include='*/' --include='*.hh' --include='*.h' --exclude='*' src/OpenMesh build-headers
cp module.modulemap build-headers
rm -rf build-xcframework
mkdir build-xcframework
xcodebuild -create-xcframework \
-library build-macos/Build/lib/libOpenMesh.a -headers build-headers \
-library build-ios/Build/lib/libOpenMesh.a -headers build-headers \
-output build-xcframework/openmesh.xcframework

5
module.modulemap Normal file
View File

@@ -0,0 +1,5 @@
module OpenMesh {
umbrella "."
export *
module * { export * }
}

View File

@@ -6,6 +6,7 @@
src/OpenMesh/Core/System/config.h src/OpenMesh/Core/System/config.h
README README
CMakeLists.txt ( version setting in project call) CMakeLists.txt ( version setting in project call)
CI/Windows.bat
3. Tag the current version in the git 3. Tag the current version in the git
4. Create HTML-Documentation in OpenMesh/Documentation (!) 4. Create HTML-Documentation in OpenMesh/Documentation (!)
5. Create tar-ball and zip-archive ( -> Done by CI) 5. Create tar-ball and zip-archive ( -> Done by CI)

View File

@@ -1113,9 +1113,14 @@ void PolyConnectivity::split_edge(EdgeHandle _eh, VertexHandle _vh)
set_next_halfedge_handle(new_e, h0); set_next_halfedge_handle(new_e, h0);
set_next_halfedge_handle(h1, opposite_halfedge_handle(new_e)); set_next_halfedge_handle(h1, opposite_halfedge_handle(new_e));
set_next_halfedge_handle(ph0, new_e); if (ph0 == h1) {
set_next_halfedge_handle(opposite_halfedge_handle(new_e), nh1); // valence one vfrom with p(h0) = opp(h0):
set_next_halfedge_handle(opposite_halfedge_handle(new_e), new_e);
} else {
// regular case
set_next_halfedge_handle(ph0, new_e);
set_next_halfedge_handle(opposite_halfedge_handle(new_e), nh1);
}
// set_prev_halfedge_handle(new_e, ph0); // set_prev_halfedge_handle(new_e, ph0);
// set_prev_halfedge_handle(opposite_halfedge_handle(new_e), h1); // set_prev_halfedge_handle(opposite_halfedge_handle(new_e), h1);

View File

@@ -390,7 +390,6 @@ class PropertyManager {
const PROP_VALUE &init_value) { const PROP_VALUE &init_value) {
const bool exists = propertyExists(mesh, propname); const bool exists = propertyExists(mesh, propname);
PropertyManager pm(mesh, propname, exists); PropertyManager pm(mesh, propname, exists);
pm.retain();
if (!exists) if (!exists)
pm.set_range(begin, end, init_value); pm.set_range(begin, end, init_value);
return std::move(pm); return std::move(pm);