Commit df2ac9e7 authored by Hans-Christian Ebke's avatar Hans-Christian Ebke

Merge branch 'master' of roosevelt.informatik.rwth-aachen.de:/OpenMesh/OpenMesh

parents d5849416 33808615
Pipeline #376 passed with stage
.project
.cproject
CMakeLists.txt.user
build*
......@@ -58,7 +58,7 @@ cd ..
# Execute Python unittests
cd Python-Unittests
python -m unittest discover -v
#python -m unittest discover -v
cd ..
cd ..
......
......@@ -51,7 +51,7 @@ cd Python-Unittests
rm -f openmesh.so
cp ../Build/python/openmesh.so .
python -m unittest discover -v
#python -m unittest discover -v
cd ..
cd ..
......@@ -92,4 +92,4 @@ cd Python-Unittests
rm -f openmesh.so
cp ../Build/python/openmesh.so .
python -m unittest discover -v
#python -m unittest discover -v
......@@ -43,6 +43,7 @@
<li>Fixed bug preventing from building with 2 dimensional vectors (e.g. vec2i) </li>
<li>Heap: Minor cleanup (some consts)</li>
<li>Added static versions of ArrayKernel::edge_handle and ...::halfedge_handle</li>
<li>Reduced number of includes</li>
</ul>
......
......@@ -101,6 +101,7 @@ in the following tutorial:
\li \ref mesh_cpp
\li \ref mesh_members
\li \ref naming_conventions
\li \ref mesh_speedup
\li \ref om_changelog
\page mesh_docu Using and understanding OpenMesh
......@@ -119,7 +120,7 @@ in the following tutorial:
\li \subpage mesh_cpp
\li \subpage mesh_members
\li \subpage naming_conventions
\li \subpage mesh_speedup
\li \subpage om_changelog
**/
......@@ -768,6 +768,25 @@ as deleted and OpenMesh::ArrayKernel::garbage_collection() has not yet been call
After garbage_collection() has been called the elements are reorganized and their handles and
iterators are guaranteed to be consecutive numbers again.
OpenMesh uses a lazy deletion scheme to avoid unnecessary updates to the data structure. The
halfedge data structure will always be updated directly to ensure that following algorithms
will have the correct iterator setups.
So if you delete a face, The face itself will still exist but the halfedges which are now located at
the hole will be updated directly, which means that circulators on the adjacent vertices will not
come across the face anymore.
If an edge is deleted, the adjacent faces will be removed as well (flagging them deleted and updating
the surrounding halfedges). The edge itself will also be flagged as deleted. Again the circulators will
not see the deleted primitives anymore.
For a vertex, all adjacent faces and edges are deleted with the schemes above and the vertex flagged as deleted.
The iterators, going across vertices edges and faces will still enumerate all primitives (including deleted ones).
Except if you use the skipping iterators, which will skip deleted primitives. The circulators always only enumerate
primitives which are not deleted.
\note
<ul>
<li>If you delete elements on the mesh, they will still be
......
//-----------------------------------------------------------------------------
/** \page mesh_speedup Some Notes on how to speedup OpenMesh
On this page we collect some hints which can be used to speedup OpenMesh. This list is not complete, so if you
have additional hints, just tell us.
<ul>
<li> <b>Visual Studio</b>
<ul>
<li>The prebuild binaries we ship are not compiled with full optimization enabled. You can build it yourself with full
optimization. ("Full Optimization" (Project setting: C/C++ ->> Optimization) ). Please remember that you than have
to build everything with this flag to avoid incompatibilities.</li>
</ul>
</li>
</ul>
*/
//-----------------------------------------------------------------------------
# OpenMesh, 5.1
# OpenMesh, 6.0
## Getting OpenMesh
......
VERSION=5.1
MAJOR=5
MINOR=1
VERSION=6
MAJOR=6
MINOR=0
PATCH=0
ID=OPENMESH
......@@ -63,6 +63,7 @@ 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 6.0"
"C:/Program Files/OpenMesh 5.1"
"C:/Program Files/OpenMesh 5.0"
"C:/Program Files/OpenMesh 4.2"
......@@ -76,6 +77,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 6.0"
"C:/libs/OpenMesh 5.1"
"C:/libs/OpenMesh 5.0"
"C:/libs/OpenMesh 4.2"
......
......@@ -57,7 +57,6 @@
//== INCLUDES =================================================================
#include <OpenMesh/Core/System/config.h>
// -------------------- STL
#include <algorithm>
#include <iostream>
......
......@@ -57,7 +57,6 @@
//== INCLUDES =================================================================
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <iostream>
......
......@@ -56,8 +56,6 @@
//== INCLUDES =================================================================
#include <OpenMesh/Core/IO/OMFormat.hh>
#include <algorithm>
#include <iomanip>
//== NAMESPACES ===============================================================
......
......@@ -49,14 +49,11 @@
//=== INCLUDES ================================================================
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/IO/reader/BaseReader.hh>
#include <algorithm>
#include <string>
#if defined(OM_CC_MIPS)
# include <ctype.h>
#else
# include <cctype>
#endif
......
......@@ -53,7 +53,6 @@
// OpenMesh
#include <OpenMesh/Core/IO/reader/OBJReader.hh>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/Utils/vector_cast.hh>
#include <OpenMesh/Core/Utils/color_cast.hh>
// STL
......@@ -63,19 +62,13 @@
#elif defined(_STLPORT_VERSION) && (_STLPORT_VERSION==0x460)
# include <cctype>
#else
# include <cctype>
using std::isspace;
#endif
#ifndef WIN32
#include <string.h>
#endif
#include <istream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <functional>
//=== NAMESPACES ==============================================================
......
......@@ -56,17 +56,15 @@
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/IO/reader/OFFReader.hh>
#include <OpenMesh/Core/IO/importer/BaseImporter.hh>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <OpenMesh/Core/Utils/color_cast.hh>
// #include <OpenMesh/Core/IO/BinaryHelper.hh>
#include <OpenMesh/Core/IO/SR_store.hh>
//STL
#include <iostream>
#include <fstream>
#include <memory>
#include <cstring>
#if defined(OM_CC_MIPS)
# include <ctype.h>
......@@ -74,12 +72,10 @@
#elif defined(_STLPORT_VERSION) && (_STLPORT_VERSION==0x460)
# include <cctype>
#else
# include <cctype>
using std::isspace;
#endif
#ifndef WIN32
#include <string.h>
#endif
//=== NAMESPACES ==============================================================
......
......@@ -54,10 +54,8 @@
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/IO/reader/PLYReader.hh>
#include <OpenMesh/Core/IO/importer/BaseImporter.hh>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <OpenMesh/Core/Utils/color_cast.hh>
#include <OpenMesh/Core/IO/SR_store.hh>
//STL
#include <fstream>
......@@ -65,7 +63,6 @@
#include <memory>
#ifndef WIN32
#include <string.h>
#endif
//=== NAMESPACES ==============================================================
......
......@@ -57,12 +57,9 @@
#include <fstream>
// OpenMesh
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/IO/BinaryHelper.hh>
#include <OpenMesh/Core/IO/reader/STLReader.hh>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/IO/importer/BaseImporter.hh>
//=== NAMESPACES ==============================================================
......
......@@ -50,14 +50,11 @@
//=== INCLUDES ================================================================
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/IO/writer/BaseWriter.hh>
#include <algorithm>
#include <string>
#if defined(OM_CC_MIPS)
# include <ctype.h>
#else
# include <cctype>
#endif
......
......@@ -55,11 +55,9 @@
#include <limits>
// OpenMesh
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/IO/BinaryHelper.hh>
#include <OpenMesh/Core/IO/writer/OBJWriter.hh>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/Utils/color_cast.hh>
//=== NAMESPACES ==============================================================
......
......@@ -57,8 +57,6 @@
#include <OpenMesh/Core/IO/BinaryHelper.hh>
#include <OpenMesh/Core/IO/writer/OFFWriter.hh>
#include <OpenMesh/Core/IO/SR_store.hh>
//=== NAMESPACES ==============================================================
......
......@@ -60,13 +60,10 @@
#endif
#include <fstream>
#include <ostream>
#include <vector>
// -------------------- OpenMesh
#include <OpenMesh/Core/IO/OMFormat.hh>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/Utils/Endian.hh>
#include <OpenMesh/Core/IO/exporter/BaseExporter.hh>
#include <OpenMesh/Core/IO/writer/OMWriter.hh>
......
......@@ -50,15 +50,11 @@
//== INCLUDES =================================================================
#include <fstream>
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/Utils/Endian.hh>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <OpenMesh/Core/IO/BinaryHelper.hh>
#include <OpenMesh/Core/IO/writer/PLYWriter.hh>
#include <OpenMesh/Core/Utils/GenProg.hh>
#include <OpenMesh/Core/IO/SR_store.hh>
#include <iostream>
......
......@@ -54,7 +54,6 @@
#include <fstream>
// OpenMesh
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/Geometry/VectorT.hh>
#include <OpenMesh/Core/IO/BinaryHelper.hh>
......
......@@ -3,11 +3,9 @@
#include <fstream>
#include <limits>
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/IO/BinaryHelper.hh>
#include <OpenMesh/Core/IO/writer/VTKWriter.hh>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <OpenMesh/Core/System/omstream.hh>
#include <OpenMesh/Core/Utils/color_cast.hh>
//=== NAMESPACES ==============================================================
......
......@@ -50,7 +50,6 @@
// CLASS TriMeshT - IMPLEMENTATION
#include <OpenMesh/Core/Mesh/TriConnectivity.hh>
#include <OpenMesh/Core/System/omstream.hh>
namespace OpenMesh
{
......
......@@ -64,8 +64,9 @@
// ----------------------------------------------------------------------------
#define OM_VERSION 0x50100
//#define OM_VERSION 0x40200
#define OM_VERSION 0x60000
//#define OM_VERSION 0x50100
// only defined, if it is a beta version
//#define OM_VERSION_BETA 4
......
......@@ -47,7 +47,6 @@
\*===========================================================================*/
#include <OpenMesh/Core/Utils/BaseProperty.hh>
#include <ostream>
namespace OpenMesh
{
......
......@@ -59,7 +59,6 @@
#include <OpenMesh/Core/Utils/RandomNumberGenerator.hh>
#include <cstdlib>
//== NAMESPACES ===============================================================
......
......@@ -46,8 +46,8 @@
#endif
#ifndef WIN32
#include <stdlib.h>
#include <string.h>
#include <string.h>
#else
#ifdef __MINGW32__
#include <stdlib.h>
......
......@@ -46,7 +46,6 @@
* *
\*===========================================================================*/
#include <OpenMesh/Core/System/config.hh>
#include <OpenMesh/Tools/Utils/conio.hh>
// ----------------------------------------------------------------- MSVC Compiler ----
......@@ -92,7 +91,6 @@ int getche() { return ::getche(); }
#endif
#include <termios.h> /* tcsetattr() */
#include <sys/ioctl.h> /* ioctl() */
#include <sys/time.h> /* struct timeval */
namespace OpenMesh {
namespace Utils {
......
......@@ -49,6 +49,8 @@
#ifndef OPENMESH_UTILS_CONIO_HH
#define OPENMESH_UTILS_CONIO_HH
// ----------------------------------------------------------------------------
#include <OpenMesh/Core/System/OpenMeshDLLMacros.hh>
namespace OpenMesh {
namespace Utils {
// ----------------------------------------------------------------------------
......
/* ========================================================================= *
* *
* 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. *
* *
/* ========================================================================= *
* *
* 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. *
* *
* ========================================================================= */
/*===========================================================================*\
......@@ -57,9 +57,9 @@
#include <OpenMesh/Tools/VDPM/VHierarchyWindow.hh>
#include <cstring>
#ifndef WIN32
#include <string.h>
#include <cstdlib>
#else
#if defined(__MINGW32__)
#include <stdlib.h>
......
#include "Python/Bindings.hh"
#include "Python/Vector.hh"
#include "Python/Mesh.hh"
#include "Python/Iterator.hh"
#include "Python/Circulator.hh"
#include "Python/PropertyManager.hh"
#include "Python/InputOutput.hh"
#include <memory>
namespace OpenMesh {
namespace Python {
......
Markdown is supported
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