Commit Graph

1104 Commits

Author SHA1 Message Date
Jan Möbius
29ba85a7f0 Merge branch 'OBJ-loader-check-ranges' into 'master'
range check for vertex colors and normals in OBJ loader

This merge request adds explicit range checks and error reporting for the reading of colors and normals. The code is copied from texture coordinates, where a similar check already existed.

See merge request !92
2016-10-02 09:22:13 +02:00
Max Limper
782adb7b0a fixed handling of negative indices in OBJ loader 2016-10-01 20:31:16 +02:00
Max Limper
c577810d47 range check for vertex colors and normals in OBJ loader 2016-10-01 19:43:46 +02:00
Max Limper
d20d6a83e4 Fixed comment in OBJ loader 2016-10-01 18:21:18 +02:00
Jan Möbius
4c35d544f4 Merge branch 'obj-fix-wrong-indices' into 'master'
Fixed broken indices for some cases of OBJ parsing by using two passes

(Continuing fixing / discussion from https://graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/merge_requests/51)

This merge request is fixing an issue that came up as a follow-up of the following merge request:
 https://graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/merge_requests/51

The problem it fixes occurs for some kinds of OBJ data, where vertices and face data are stored interleaved and, at the same time, the mesh contains some non-manifold geometry.  As non-manifold geometry triggers the on-the-fly creation of new vertices during parsing, the indices from the OBJ file do not match any more and the result gets messed up.

The straightforward solution applied on this branch is to parse to whole OBJ file in two passes, first the vertices and then the material data and faces. This way, possible extra vertices will always be added to the back, not interfering with indices from the OBJ file

I tested the performance on a 1.1 GB OBJ file. The loading time on my machine increased from ~59 seconds to ~65 seconds, so I believe the performance overhead could probably be considered acceptable.

Looking forward to your feedback!


See merge request !84
2016-09-28 12:17:21 +02:00
Hans-Christian Ebke
dafbcf1480 Updated documentation of BaseKernel's property functions to hint at PropertyManager. 2016-09-22 10:14:30 +02:00
Jan Möbius
17b91da501 Use stdint.h for unittest 2016-09-19 14:17:59 +02:00
Alexander Dielen
8dc194e8f1 Merge branch 'master' into 'BuildPythonWindows'
# Conflicts:
#   src/Python/Vector.hh
2016-09-16 12:54:51 +02:00
Jan Möbius
4f209d9f35 Missing ifdef 2016-09-16 09:50:44 +02:00
Jan Möbius
18e86a7f2b Missing header 2016-09-16 09:48:42 +02:00
Jan Möbius
bfc8506c20 Merge branch 'vector11-gcc-4-7-fix' into 'master'
g++ 4.7 compile fix in vector11

With g++ 4.7, the following error occurs when trying to compile code that uses Vector11:

```
../OpenMesh/Core/Geometry/Vector11T.hh: In function ‘decltype ((_v1 % _v2)) OpenMesh::cross(const OpenMesh::VectorT<LScalar, DIM>&, const OpenMesh::VectorT<RScalar, DIM>&) [with LScalar = float; RScalar = float; int DIM = 3; decltype ((_v1 % _v2)) = OpenMesh::VectorT<float, 3>]’:
../OpenMesh/Core/Geometry/Vector11T.hh:89:19: error: ‘OpenMesh::VectorT<float, 3>::container OpenMesh::VectorT<float, 3>::values_’ is private
```

It looks like this version of g++ would not be able to deal with the decltype statement used when overriding the "%" operator, where the "this->values_" part is not working properly. This issue should be fixed with this merge request.

See merge request !87
2016-09-14 10:15:55 +02:00
Max Limper
6433ed2ae3 gcc 4.7 compile fix 2016-09-13 18:52:39 +02:00
Hans-Christian Ebke
f38ce2ed5e Added unit test to trigger GCC alignment bug. See #32. 2016-09-13 17:59:30 +02:00
Hans-Christian Ebke
f08f96eb71 Fixed constness fail in PropertyManager::set_range(). 2016-09-12 17:06:56 +02:00
Hans-Christian Ebke
ab51547d92 PropertyManager: Add initializing createIfNotExists() versions. 2016-09-12 16:58:03 +02:00
Hans-Christian Ebke
a705d57bd0 PropertyManager: Add C++11 range-based set_range() version. 2016-09-12 16:57:33 +02:00
Max Limper
f53429fdeb Fixed broken indices for some cases of OBJ parsing by using two passes 2016-08-30 17:25:48 +02:00
Alexander Dielen
f90c6da1b8 Made member function pointer types explicit. This gets rid of a preprocessor conditional and sidesteps a bug in msvc. 2016-08-23 21:56:15 +02:00
Martin Schultz
2e6820a16b added binary stl file size check after ascii check 2016-08-16 15:06:19 +02:00
Martin Schultz
cc37345556 added include for cstring which should fix compile errors with c++11 and clang 2016-08-15 17:27:55 +02:00
Martin Schultz
fc04bac1a1 made the stl reader check for ascii file keyword instead of computing binary size 2016-08-15 17:14:25 +02:00
Alexander Dielen
c8c51626df Added link directories and log file. 2016-08-14 13:22:18 +02:00
xan
6f811b5bd9 No Core/src include directory 2016-08-14 09:25:03 +02:00
xan
8445bad3c3 Fix undefined MSVC macro warning 2016-08-14 09:21:31 +02:00
Janis Born
5ee25a5af0 fix CirculatorT type-pun warning on GCC6
(fixes #28)
2016-08-11 10:22:44 +02:00
David Bommes
b82e329c21 changed incorrect class into struct 2016-08-03 10:07:28 +02:00
Janis Born
e029d33c2a document that DecimaterT::decimate does not perform garbage collection on the mesh 2016-07-22 16:34:39 +02:00
Jan Möbius
c9510459ca Bump version to 6.3 development 2016-07-11 16:23:12 +02:00
Jan Möbius
6f862cad6c Merge branch 'hash_functions' into 'master'
Hash functions



See merge request !75
2016-07-11 10:24:44 +02:00
Jan Möbius
59c0b6f16b Next try 2016-06-30 14:05:25 +02:00
Jan Möbius
085e711856 Fixed VS2015 Update 3 fix 2016-06-30 13:56:54 +02:00
Jan Möbius
755f06bf11 Fixed VS2015 Update 3 build error. (Thanks to Jeongkyu Kim for the patch) 2016-06-30 13:53:23 +02:00
Martin Schultz
80192d945b added code to write faceTexCoords to obj writer.
fixes #25
2016-06-29 16:58:59 +02:00
xan
ecdd59a82a Split openmeshcore static/shared MinGW compilation
As with ms compilers, the shared/static compilation depends on export macros.
Anyway this is inconsistent with the behavior for openmeshtools library.

Why did you add this ?
2016-06-15 21:19:22 +02:00
Andreas Fabri
58b9e4085a - ADD a macro OM_HAS_HASH in the config file.
- Based on the macro provide partial specializations for std::hash<>
- for vertex,halfede,edge, and face handles.
- Add a free function hash_value(BaseHandle) for boost::unordered_set/map
2016-06-08 10:29:18 +02:00
Jan Möbius
8a26487a69 Added hash functions 2016-06-07 12:56:27 +02:00
Jan Möbius
46aed2c4f4 Bump version number for 6.2 development cycle 2016-05-31 12:56:24 +02:00
Jan Möbius
16a6a6b607 Merge branch 'MINGW_changes' into 'master'
Mingw changes

TODO: Test 

See merge request !68
2016-05-31 12:23:33 +02:00
Jan Möbius
279659856a More MINGW compatibility changes
(cherry picked from commit ec84b4750a)
2016-05-31 12:22:04 +02:00
Jan Möbius
984239ade2 Merge branch 'PLY_READER_handle_rn_newlines' into 'master'
Handle nr newlines



See merge request !71
2016-05-30 16:31:05 +02:00
Jan Möbius
1ab77e166b Merge branch 'Throw_error_when_no_readers_are_available' into 'master'
Throw error when no readers are available



See merge request !69
2016-05-30 16:27:53 +02:00
Jan Möbius
ec84b4750a More MINGW compatibility changes 2016-05-30 16:26:01 +02:00
Jan Möbius
2822bb61a3 Add plain stl extension to stlwriter 2016-05-30 16:19:55 +02:00
Jan Möbius
b4cea6008d Handle nr newlines 2016-05-30 16:12:38 +02:00
Jan Möbius
5903657e6a Throw error when no readers are available 2016-05-30 14:07:11 +02:00
Jan Möbius
b2f3d5eac4 Several changes to make Mingw happy 2016-05-30 14:00:43 +02:00
Martin Schultz
4b8f1bf667 fixes MSVC Community 2015 ICE
The default constructors are now used as template specializations by
postponing them below the template definition
2016-05-24 15:06:32 +02:00
Janis Born
bb024a6846 move documentation of PropertyManager factory functions to PropertyManager Doxygen page 2016-05-23 15:04:28 +02:00
Jan Möbius
bca37d9653 Fixed binary reader errors in ply reader. (Thanks to Michael Kremer for the patch). 2016-05-17 13:15:29 +02:00
Jan Möbius
438410786f Fixed another warning 2016-05-11 11:11:53 +02:00