Commit 7183d165 authored by Jan Möbius's avatar Jan Möbius

Merge branch 'master' into assertions

parents 433f08a6 54d782fa
Pipeline #7703 failed with stage
in 95 minutes and 45 seconds
stages:
- build
- deploy
gcc-c++11:
stage: build
script: "CI/ci-linux.sh gcc C++11"
tags:
- Linux
clang-c++11:
stage: build
script: "CI/ci-linux.sh clang C++11"
tags:
- Linux
gcc-c++14:
stage: build
script: "CI/ci-linux.sh gcc C++14"
tags:
- Linux
clang-c++14:
stage: build
script: "CI/ci-linux.sh clang C++14"
tags:
- Linux
macos-c++11:
stage: build
script: "CI/ci-mac.sh C++11"
tags:
- Apple
......@@ -28,6 +37,7 @@ macos-c++11:
- build-release-cpp11/*.tar.gz
macos-c++98:
stage: build
script: "CI/ci-mac.sh C++14"
tags:
- Apple
......@@ -37,6 +47,7 @@ macos-c++98:
- build-release-cpp14/*.tar.gz
cppcheck:
stage: build
script: "CI/ci-cppcheck.sh"
tags:
- Linux
......@@ -45,6 +56,7 @@ cppcheck:
- cppcheck.log
VS2017-64-bit-shared-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x64"
......@@ -59,6 +71,7 @@ VS2017-64-bit-shared-apps:
- build-release/*.exe
VS2017-64-bit-static-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x64"
......@@ -74,6 +87,7 @@ VS2017-64-bit-static-apps:
VS2017-64-bit-shared-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x64"
......@@ -88,6 +102,7 @@ VS2017-64-bit-shared-no-apps:
VS2017-32-bit-shared-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x32"
......@@ -102,6 +117,7 @@ VS2017-32-bit-shared-no-apps:
VS2017-64-bit-static-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x64"
......@@ -116,6 +132,7 @@ VS2017-64-bit-static-no-apps:
VS2017-32-bit-static-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x32"
......@@ -129,6 +146,7 @@ VS2017-32-bit-static-no-apps:
- build-release/*.exe
VS2015-64-bit-shared-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x64"
......@@ -143,6 +161,7 @@ VS2015-64-bit-shared-apps:
VS2015-64-bit-shared-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x64"
......@@ -156,6 +175,7 @@ VS2015-64-bit-shared-no-apps:
- build-release/*.exe
VS2015-32-bit-shared-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x32"
......@@ -169,6 +189,7 @@ VS2015-32-bit-shared-apps:
- build-release/*.exe
VS2015-32-bit-shared-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x32"
......@@ -182,6 +203,7 @@ VS2015-32-bit-shared-no-apps:
- build-release/*.exe
VS2015-64-bit-static-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x64"
......@@ -195,6 +217,7 @@ VS2015-64-bit-static-apps:
- build-release/*.exe
VS2015-64-bit-static-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x64"
......@@ -208,6 +231,7 @@ VS2015-64-bit-static-no-apps:
- build-release/*.exe
VS2015-32-bit-static-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x32"
......@@ -221,6 +245,7 @@ VS2015-32-bit-static-apps:
- build-release/*.exe
VS2015-32-bit-static-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2015"
ARCHITECTURE: "x32"
......@@ -236,6 +261,7 @@ VS2015-32-bit-static-no-apps:
VS2013-64-bit-shared-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x64"
......@@ -249,6 +275,7 @@ VS2013-64-bit-shared-apps:
- build-release/*.exe
VS2013-64-bit-shared-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x64"
......@@ -262,6 +289,7 @@ VS2013-64-bit-shared-no-apps:
- build-release/*.exe
VS2013-32-bit-shared-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x32"
......@@ -275,6 +303,7 @@ VS2013-32-bit-shared-apps:
- build-release/*.exe
VS2013-32-bit-shared-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x32"
......@@ -288,6 +317,7 @@ VS2013-32-bit-shared-no-apps:
- build-release/*.exe
VS2013-64-bit-static-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x64"
......@@ -301,6 +331,7 @@ VS2013-64-bit-static-apps:
- build-release/*.exe
VS2013-64-bit-static-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x64"
......@@ -314,6 +345,7 @@ VS2013-64-bit-static-no-apps:
- build-release/*.exe
VS2013-32-bit-static-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x32"
......@@ -327,6 +359,7 @@ VS2013-32-bit-static-apps:
- build-release/*.exe
VS2013-32-bit-static-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2013"
ARCHITECTURE: "x32"
......@@ -340,8 +373,23 @@ VS2013-32-bit-static-no-apps:
- build-release/*.exe
Doc-publish:
stage: deploy
only:
- master
script: "CI/ci-doc.sh"
tags:
- Linux
Sources:
stage: deploy
only:
- master
script: "CI/ci-source.sh"
tags:
- Linux
artifacts:
paths:
- OpenMesh*.zip
- OpenMesh*.tar.bz2
- OpenMesh*.tar.gz
Please look into the doxygen configuration (Generated from Doc/history.docu)
The changelog can be found in the html Documentation.
The latest changelog for the master can be found here:
http://openmesh.org/Daily-Builds/Doc/a00002.html
http://openmesh.org/Daily-Builds/Doc/
......@@ -16,35 +16,19 @@ IF "%SHARED%" == "TRUE" (
set STRING_DLL=
)
IF "%BUILD_PLATFORM%" == "VS2012" (
set LIBPATH=E:\libs\VS2012
set GTESTVERSION=gtest-1.6.0
set GENERATOR=Visual Studio 11%ARCH_VS%
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.com"
IF "%ARCHITECTURE%" == "x64" (
set QT_INSTALL_PATH=E:\Qt\4.8.5-vs2012-%STRING_ARCH%\
set QT_BASE_CONFIG=-DQT_QMAKE_EXECUTABLE=E:\Qt\4.8.5-vs2012-%STRING_ARCH%\bin\qmake.exe
)
IF "%ARCHITECTURE%" == "x32" (
set QT_INSTALL_PATH=E:\Qt\4.8.5-vs2012-%STRING_ARCH%\
set QT_BASE_CONFIG=-DQT_QMAKE_EXECUTABLE=E:\Qt\4.8.5-vs2012-%STRING_ARCH%\bin\qmake.exe
)
)
IF "%BUILD_PLATFORM%" == "VS2013" (
set LIBPATH=E:\libs\VS2013
set GTESTVERSION=gtest-1.6.0
set GENERATOR=Visual Studio 12%ARCH_VS%
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com"
IF "%ARCHITECTURE%" == "x64" (
set QT_INSTALL_PATH=E:\Qt\Qt5.3.1-vs2013-%STRING_ARCH%\5.3\msvc2013_64_opengl
set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.3.1-vs2013-%STRING_ARCH%\5.3\msvc2013_64_opengl
set QT_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013_64
set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013_64
)
IF "%ARCHITECTURE%" == "x32" (
set QT_INSTALL_PATH=E:\Qt\Qt5.3.1-vs2013-%STRING_ARCH%\5.3\msvc2013_opengl
set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.3.1-vs2013-%STRING_ARCH%\5.3\msvc2013_opengl
set QT_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013
set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\Qt5.7.0\5.7\msvc2013
)
)
......@@ -83,10 +67,15 @@ IF "%BUILD_PLATFORM%" == "VS2017" (
IF "%APPS%" == "ON" (
set STRING_APPS=
ECHO "Copying Platform plugins from %QT_INSTALL_PATH%\plugins\platforms to Build\plugins\platforms"
REM Create the platform plugins subdirectory for the qt plugins required to run the gui apps
mkdir Build
mkdir Build\plugins
mkdir Build\plugins\platforms
REM Copy the platform plugins subdirectory for the qt plugins required to run the gui apps
xcopy /Y %QT_INSTALL_PATH%\plugins\platforms Build\plugins\platforms
set CMAKE_CONFIGURATION=%QT_BASE_CONFIG%
......@@ -95,9 +84,13 @@ IF "%APPS%" == "ON" (
set CMAKE_CONFIGURATION=
)
ECHO "============================================================="
ECHO "============================================================="
ECHO "Building with :"
whoami
ECHO "ARCHITECTURE : %ARCHITECTURE%"
ECHO "BUILD_PLATFORM : %BUILD_PLATFORM%"
ECHO "GTESTVERSION : %GTESTVERSION%"
......@@ -110,7 +103,23 @@ ECHO "QT_INSTALL_PATH : %QT_INSTALL_PATH%"
ECHO "CMAKE_CONFIGURATION : %CMAKE_CONFIGURATION%"
ECHO "============================================================="
ECHO "============================================================="
ECHO ""
ECHO "Running Build environment checks"
IF EXIST %LIBPATH%\ (
ECHO "LIBPATH ... Ok"
) ELSE (
ECHO "LIBPATH not found!"
exit 10;
)
IF EXIST %QT_INSTALL_PATH%\ (
ECHO "QT_INSTALL_PATH ... Ok"
) ELSE (
ECHO "QT_INSTALL_PATH: %QT_INSTALL_PATH%\ not found!"
exit 10;
)
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% ..
......
# This script just creates compressed files of OpenMesh sources
# Create Build directory and Build documentation
mkdir build-doc
cd build-doc
cmake ..
make doc
cd ..
# Extract Version Information
VERSION=OpenMesh-$(cat VERSION | grep VERSION | tr -d "VERSION=")
# Create Publishing directory
mkdir $VERSION
# Move all files into Publishing directory
mv CHANGELOG.md $VERSION/
mv cmake $VERSION/
mv CMakeLists.txt $VERSION/
mv debian $VERSION/
mv Doc $VERSION/
mv LICENSE $VERSION/
mv README.md $VERSION/
mv src $VERSION/
mv VERSION $VERSION/
mv build-doc/Build/share/OpenMesh/Doc/html/ $VERSION/Documentation
tar cjf $VERSION.tar.bz2 $VERSION
tar czf $VERSION.tar.gz $VERSION
zip -9 -q -r $VERSION.zip $VERSION
cmake_minimum_required (VERSION 2.6)
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
# Set and enforce C++-11 flags
set( CMAKE_CXX_STANDARD_REQUIRED TRUE )
set( CMAKE_CXX_STANDARD 11 )
enable_testing()
......
......@@ -7,16 +7,48 @@
<!-- --------------------------------------------------------------------- -->
<tr valign=top><td><b>7.1</b> (?/?/?)</td><td>
<tr valign=top><td><b>8.0</b> (?/?/?)</td><td>
b>IO</b>
<b>Core</b>
<ul>
<li>TriConnectivity: Added two functions split_edge and split_edge_copy to mask the PolyConnectivity functions of the same name (Prevents creation of valence 2 vertices on trimeshes)</li>
</ul>
<b>IO</b>
<ul>
<li>PLY Reader: Allowing the PLY reader to read custom face ( Thanks to morgan Leborgne for the patch)</li>
<li>PLY Reader: Fixed endless loop on unknown property list type</li>
</ul>
<b>Tools</b>
<ul>
<li>SmartTagger: Added the SmartTagger class to tag primitives (O(1) reset )</li>
</ul>
<b>Build System</b>
<ul>
<li>Fixed slow OBJ reader (Thanks to Etienne Danvoye for the patch) </li>
<li>Rename the DEPRECATED macro into OM_DEPRECATED to prevent a macro clash with Intel MKL (Thanks to Morgan Leborgne for the patch)</li>
</ul>
</tr>
<tr valign=top><td><b>7.1</b> (2018/05/29)</td><td>
<b>IO</b>
<ul>
<li>OBJ Reader: Fixed slow OBJ reader (Thanks to Etienne Danvoye for the patch) </li>
</ul>
<b>Documentation</b>
<ul>
<li>Updated build instructions.</li>
</ul>
<b>Build System</b>
<ul>
<li>Default to C++11 in cmake files</li>
<li>Remove old qmake project files. Unmaintained for a very long time</li>
<li>Replaced Qt finders</li>
<li>Added VS 2017 to CI builds</li>
......
......@@ -115,8 +115,8 @@ Building OpenMesh on Windows requires cmake to generate the project files for Vi
\section sec_compiling_macosx MacOS X
Download and install required libraries as stated above.
You can download %OpenMesh's sources from <tt>www.openmesh.org</tt> or check out the latest repository via SVN:<br/>
<tt>svn co http://www.openmesh.org/svnrepo/OpenMesh/trunk %OpenMesh</tt>.<br/><br/>
You can download %OpenMesh's sources from <tt>www.openmesh.org</tt> or check out the latest repository via GIT:<br/>
<tt>https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh</tt>.<br/><br/>
\subsection mac_using_cmake Compiling OpenMesh using CMake
......
......@@ -6,6 +6,7 @@
\li \subpage subdivider_docu
\li \subpage vdpm_docu
\li \subpage smoother_docu
\li \subpage smarttagger_docu
\li Miscellaneous
OpenMesh::StripifierT
......
# OpenMesh, 7.1
# OpenMesh, 8.0
[![](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/badges/master/pipeline.svg)](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/commits/master)
......@@ -30,6 +30,10 @@ https://www.graphics.rwth-aachen.de:9000/OpenMesh/openmesh-python
| 64-Bit static, no apps | [Download ](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/jobs/artifacts/master/browse/build-release?job=VS2017-64-bit-static-no-apps) | [Download ](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/jobs/artifacts/master/browse/build-release?job=VS2015-64-bit-static-no-apps) | [Download ](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/jobs/artifacts/master/browse/build-release?job=VS2013-64-bit-static-no-apps) |
| 32-Bit static, no apps | [ Download ](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/jobs/artifacts/master/browse/build-release?job=VS2017-32-bit-static-no-apps) | [ Download ](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/jobs/artifacts/master/browse/build-release?job=VS2015-32-bit-static-no-apps) | [ Download ](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/jobs/artifacts/master/browse/build-release?job=VS2013-32-bit-static-no-apps) |
## Download Sources
[ Download Sources](https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/jobs/artifacts/master/browse/?job=Sources )
## Installing
Unpack the tar-ball to a suitable place.
......
VERSION=7.1
MAJOR=7
MINOR=1
VERSION=8.0
MAJOR=8
MINOR=0
PATCH=0
ID=OPENMESH
......@@ -30,11 +30,13 @@ function (acg_print_configure_header _id _name)
acg_color_message ("${_escape}[40;37m* Package : ${_escape}[32m${_project} ${_escape}[37m *${_escape}[0m")
acg_color_message ("${_escape}[40;37m* Version : ${_escape}[32m${_version} ${_escape}[37m *${_escape}[0m")
# Just artistic. remove 2 spaces for release to make it look nicer ;-)
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
acg_color_message ("${_escape}[40;37m* Type : ${_escape}[32m${CMAKE_BUILD_TYPE} ${_escape}[37m *${_escape}[0m")
else()
acg_color_message ("${_escape}[40;37m* Type : ${_escape}[32m${CMAKE_BUILD_TYPE} ${_escape}[37m *${_escape}[0m")
if ( NOT WIN32 )
# Just artistic. remove 2 spaces for release to make it look nicer ;-)
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
acg_color_message ("${_escape}[40;37m* Type : ${_escape}[32m${CMAKE_BUILD_TYPE} ${_escape}[37m *${_escape}[0m")
else()
acg_color_message ("${_escape}[40;37m* Type : ${_escape}[32m${CMAKE_BUILD_TYPE} ${_escape}[37m *${_escape}[0m")
endif()
endif()
acg_color_message ("${_escape}[40;37m************************************************************${_escape}[0m")
......
......@@ -63,6 +63,8 @@ IF (NOT OPENMESH_FOUND)
"${CMAKE_SOURCE_DIR}/OpenMesh/src/OpenMesh"
"${CMAKE_SOURCE_DIR}/libs_required/OpenMesh/src/OpenMesh"
"${CMAKE_SOURCE_DIR}/../OpenMesh/src/OpenMesh"
"C:/Program Files/OpenMesh 8.0"
"C:/Program Files/OpenMesh 7.2"
"C:/Program Files/OpenMesh 7.1"
"C:/Program Files/OpenMesh 7.0"
"C:/Program Files/OpenMesh 6.3"
......@@ -83,6 +85,7 @@ IF (NOT OPENMESH_FOUND)
"C:/Program Files/OpenMesh 2.4.1"
"C:/Program Files/OpenMesh 2.4"
"C:/Program Files/OpenMesh 2.0/include"
"C:/libs/OpenMesh 8.0"
"C:/libs/OpenMesh 7.1"
"C:/libs/OpenMesh 7.0"
"C:/libs/OpenMesh 6.3"
......
......@@ -82,6 +82,7 @@
#include <OpenMesh/Core/IO/writer/STLWriter.hh>
#include <OpenMesh/Core/IO/writer/OMWriter.hh>
#include <OpenMesh/Core/IO/writer/PLYWriter.hh>
#include <OpenMesh/Core/IO/writer/VTKWriter.hh>
//=== NAMESPACES ==============================================================
......@@ -104,6 +105,7 @@ static BaseWriter* OFFWriterInstance = &OFFWriter();
static BaseWriter* STLWriterInstance = &STLWriter();
static BaseWriter* OMWriterInstance = &OMWriter();
static BaseWriter* PLYWriterInstance = &PLYWriter();
static BaseWriter* VTKWriterInstance = &VTKWriter();
//=============================================================================
......
This diff is collapsed.
......@@ -470,7 +470,7 @@ class GenericCirculatorT_DEPRECATED : protected GenericCirculatorBaseT<Mesh> {
To be save, you can use the CW/CCW circulator definitions, which behave\
the same as the original ones, without the previously mentioned issues."
DEPRECATED( DECREMENT_DEPRECATED_WARNINGS_TEXT )
OM_DEPRECATED( DECREMENT_DEPRECATED_WARNINGS_TEXT )
#endif // NO_DECREMENT_DEPRECATED_WARNINGS
GenericCirculatorT_DEPRECATED& operator--() {
assert(this->mesh_);
......@@ -488,7 +488,7 @@ class GenericCirculatorT_DEPRECATED : protected GenericCirculatorBaseT<Mesh> {
/// Post-decrement
#ifndef NO_DECREMENT_DEPRECATED_WARNINGS
DEPRECATED( DECREMENT_DEPRECATED_WARNINGS_TEXT )
OM_DEPRECATED( DECREMENT_DEPRECATED_WARNINGS_TEXT )
#undef DECREMENT_DEPRECATED_WARNINGS_TEXT
#endif //NO_DECREMENT_DEPRECATED_WARNINGS
GenericCirculatorT_DEPRECATED operator--(int) {
......@@ -542,7 +542,7 @@ class GenericCirculatorT_DEPRECATED : protected GenericCirculatorBaseT<Mesh> {
return GenericCirculator_ValueHandleFns::is_valid(this->heh_,this->start_, this->lap_counter_);
}
DEPRECATED("current_halfedge_handle() is an implementation detail and should not be accessed from outside the iterator class.")
OM_DEPRECATED("current_halfedge_handle() is an implementation detail and should not be accessed from outside the iterator class.")
/**
* \deprecated
* current_halfedge_handle() is an implementation detail and should not
......@@ -552,7 +552,7 @@ class GenericCirculatorT_DEPRECATED : protected GenericCirculatorBaseT<Mesh> {
return this->heh_;
}
DEPRECATED("Do not use this error prone implicit cast. Compare to end-iterator or use is_valid(), instead.")
OM_DEPRECATED("Do not use this error prone implicit cast. Compare to end-iterator or use is_valid(), instead.")
/**
* \deprecated
* Do not use this error prone implicit cast. Compare to the
......@@ -567,7 +567,7 @@ class GenericCirculatorT_DEPRECATED : protected GenericCirculatorBaseT<Mesh> {
* \deprecated
* This function clutters your code. Use dereferencing operators -> and * instead.
*/
DEPRECATED("This function clutters your code. Use dereferencing operators -> and * instead.")
OM_DEPRECATED("This function clutters your code. Use dereferencing operators -> and * instead.")
value_type handle() const {
return **this;
}
......@@ -578,7 +578,7 @@ class GenericCirculatorT_DEPRECATED : protected GenericCirculatorBaseT<Mesh> {
* Implicit casts of iterators are unsafe. Use dereferencing operators
* -> and * instead.
*/
DEPRECATED("Implicit casts of iterators are unsafe. Use dereferencing operators -> and * instead.")
OM_DEPRECATED("Implicit casts of iterators are unsafe. Use dereferencing operators -> and * instead.")
operator value_type() const {
return **this;
}
......
......@@ -126,7 +126,7 @@ class GenericIteratorT {
* \deprecated
* This function clutters your code. Use dereferencing operators -> and * instead.
*/
DEPRECATED("This function clutters your code. Use dereferencing operators -> and * instead.")
OM_DEPRECATED("This function clutters your code. Use dereferencing operators -> and * instead.")
value_handle handle() const {
return hnd_;
}
......@@ -137,7 +137,7 @@ class GenericIteratorT {
* Implicit casts of iterators are unsafe. Use dereferencing operators
* -> and * instead.
*/
DEPRECATED("Implicit casts of iterators are unsafe. Use dereferencing operators -> and * instead.")
OM_DEPRECATED("Implicit casts of iterators are unsafe. Use dereferencing operators -> and * instead.")
operator value_handle() const {
return hnd_;
}
......
......@@ -162,27 +162,63 @@ public:
*
* \note The properties of the new edges, halfedges, and faces will be undefined!
*
* @param _eh Edge handle that should be splitted
* @param _eh Edge handle that should be split
* @param _vh Vertex handle that will be inserted at the edge
*/
void split(EdgeHandle _eh, VertexHandle _vh);
/** \brief Edge split (= 2-to-4 split)
*
*
* The function will introduce two new faces ( non-boundary case) or
* one additional face (if edge is boundary)
*
* \note The properties of the new edges, halfedges, and faces will be undefined!
*
* \note This is an override to prevent a direct call to PolyConnectivity split_edge,
* which would introduce a singular vertex with valence 2 which is not allowed
* on TriMeshes
*
* @param _eh Edge handle that should be split
* @param _vh Vertex handle that will be inserted at the edge
*/
inline void split_edge(EdgeHandle _eh, VertexHandle _vh) { TriConnectivity::split(_eh, _vh); }
/** \brief Edge split (= 2-to-4 split)
*
* The function will introduce two new faces ( non-boundary case) or
* one additional face (if edge is boundary)
*
* \note The properties of the new edges will be adjusted to the properties of the original edge
* \note The properties of the new faces and halfedges will be undefined
* \note The properties of the new edges and faces will be adjusted to the
* properties of the original edge and face
* \note The properties of the new halfedges will be undefined
*
* @param _eh Edge handle that should be splitted
* @param _eh Edge handle that should be split
* @param _vh Vertex handle that will be inserted at the edge
*/
void split_copy(EdgeHandle _eh, VertexHandle _vh);
/** \brief Edge split (= 2-to-4 split)
*
* The function will introduce two new faces ( non-boundary case) or
* one additional face (if edge is boundary)
*
* \note The properties of the new edges and faces will be adjusted to the
* properties of the original edge and face
* \note The properties of the new halfedges will be undefined
*
* \note This is an override to prevent a direct call to PolyConnectivity split_edge_copy,
* which would introduce a singular vertex with valence 2 which is not allowed
* on TriMeshes
*
* @param _eh Edge handle that should be split
* @param _vh Vertex handle that will be inserted at the edge
*/
inline void split_edge_copy(EdgeHandle _eh, VertexHandle _vh) { TriConnectivity::split_copy(_eh, _vh); }
/** \brief Face split (= 1-to-3) split, calls corresponding PolyMeshT function).
*
* @param _fh Face handle that should be splitted
* @param _fh Face handle that should be split
* @param _vh Vertex handle that will be inserted at the face
*/
inline void split(FaceHandle _fh, VertexHandle _vh)
......@@ -190,7 +226,7 @@ public:
/** \brief Face split (= 1-to-3) split, calls corresponding PolyMeshT function).
*
* @param _fh Face handle that should be splitted
* @param _fh Face handle that should be split
* @param _vh Vertex handle that will be inserted at the face
*/
inline void split_copy(FaceHandle _fh, VertexHandle _vh)
......
......@@ -65,7 +65,8 @@
// ----------------------------------------------------------------------------
#define OM_VERSION 0x70100
#define OM_VERSION 0x80000
//#define OM_VERSION 0x70200
#define OM_GET_VER ((OM_VERSION & 0xf0000) >> 16)
#define OM_GET_MAJ ((OM_VERSION & 0x0ff00) >> 8)
......@@ -83,17 +84,17 @@
#endif
#if defined(_MSC_VER)
# define DEPRECATED(msg) __declspec(deprecated(msg))
# define OM_DEPRECATED(msg) __declspec(deprecated(msg))
#elif defined(__GNUC__)
# if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40500 /* Test for GCC >= 4.5.0 */
# define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
# define OM_DEPRECATED(msg) __attribute__ ((deprecated(msg)))
# else
# define DEPRECATED(msg) __attribute__ ((deprecated))
# define OM_DEPRECATED(msg) __attribute__ ((deprecated))
# endif
#elif defined(__clang__)
# define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
# define OM_DEPRECATED(msg) __attribute__ ((deprecated(msg)))
#else
# define DEPRECATED(msg)
# define OM_DEPRECATED(msg)
#endif
typedef unsigned int uint;
......
/* ========================================================================= *
* *
* OpenMesh *
* Copyright (c) 2001-2015, RWTH-Aachen University *
* Department of Computer Graphics and Multimedia *
* All rights reserved. *
* www.openmesh.org *
* *
*---------------------------------------------------------------------------*
* This file is part of OpenMesh. *
*---------------------------------------------------------------------------*
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions *
* are met: *
* *
* 1. Redistributions of source code must retain the above copyright notice, *
* this list of conditions and the following disclaimer. *
* *
* 2. Redistributions in binary form must reproduce the above copyright *
* notice, this list of conditions and the following disclaimer in the *
* documentation and/or other materials provided with the distribution. *
* *
* 3. Neither the name of the copyright holder nor the names of its *
* contributors may be used to endorse or promote products derived from *
* this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
* ========================================================================= */
/*===========================================================================*\
* *
* $Revision$ *
* $Date$ *
* *
\*===========================================================================*/