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

This commit is contained in:
Hans-Christian Ebke
2015-12-14 17:32:34 +01:00
34 changed files with 110 additions and 104 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.project
.cproject
CMakeLists.txt.user
build*

View File

@@ -58,7 +58,7 @@ cd ..
# Execute Python unittests
cd Python-Unittests
python -m unittest discover -v
#python -m unittest discover -v
cd ..
cd ..

View File

@@ -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

View File

@@ -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>

View File

@@ -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
**/

View File

@@ -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

25
Doc/speedup.docu Normal file
View File

@@ -0,0 +1,25 @@
//-----------------------------------------------------------------------------
/** \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>
*/
//-----------------------------------------------------------------------------

View File

@@ -1,4 +1,4 @@
# OpenMesh, 5.1
# OpenMesh, 6.0
## Getting OpenMesh

View File

@@ -1,6 +1,6 @@
VERSION=5.1
MAJOR=5
MINOR=1
VERSION=6
MAJOR=6
MINOR=0
PATCH=0
ID=OPENMESH

View File

@@ -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"

View File

@@ -57,7 +57,6 @@
//== INCLUDES =================================================================
#include <OpenMesh/Core/System/config.h>
// -------------------- STL
#include <algorithm>
#include <iostream>

View File

@@ -57,7 +57,6 @@
//== INCLUDES =================================================================
#include <OpenMesh/Core/System/config.h>
#include <OpenMesh/Core/IO/IOManager.hh>
#include <iostream>

View File

@@ -56,8 +56,6 @@
//== INCLUDES =================================================================
#include <OpenMesh/Core/IO/OMFormat.hh>
#include <algorithm>
#include <iomanip>
//== NAMESPACES ===============================================================

View File

@@ -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

View File

@@ -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 ==============================================================

View File

@@ -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 ==============================================================

View File

@@ -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 ==============================================================

View File

@@ -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 ==============================================================

View File

@@ -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

View File

@@ -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 ==============================================================

View File

@@ -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 ==============================================================

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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 ==============================================================

View File

@@ -50,7 +50,6 @@
// CLASS TriMeshT - IMPLEMENTATION
#include <OpenMesh/Core/Mesh/TriConnectivity.hh>
#include <OpenMesh/Core/System/omstream.hh>
namespace OpenMesh
{

View File

@@ -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

View File

@@ -47,7 +47,6 @@
\*===========================================================================*/
#include <OpenMesh/Core/Utils/BaseProperty.hh>
#include <ostream>
namespace OpenMesh
{

View File

@@ -59,7 +59,6 @@
#include <OpenMesh/Core/Utils/RandomNumberGenerator.hh>
#include <cstdlib>
//== NAMESPACES ===============================================================

View File

@@ -46,8 +46,8 @@
#endif
#ifndef WIN32
#include <stdlib.h>
#include <string.h>
#include <string.h>
#else
#ifdef __MINGW32__
#include <stdlib.h>

View File

@@ -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 {

View File

@@ -49,6 +49,8 @@
#ifndef OPENMESH_UTILS_CONIO_HH
#define OPENMESH_UTILS_CONIO_HH
// ----------------------------------------------------------------------------
#include <OpenMesh/Core/System/OpenMeshDLLMacros.hh>
namespace OpenMesh {
namespace Utils {
// ----------------------------------------------------------------------------

View File

@@ -1,42 +1,42 @@
/* ========================================================================= *
* *
* 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>

View File

@@ -1,11 +1,11 @@
#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 {