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
Max Limper
6433ed2ae3
gcc 4.7 compile fix
2016-09-13 18:52:39 +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
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
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
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
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
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
5cebbd146f
Some fixes for min gw (Thanks to Xan for the patch)
2016-05-09 11:15:25 +02:00
Max Limper
c7b64addec
Copy per-halfedge and per-face properties to new elments during triangulation
2016-05-03 16:02:59 +02:00
Jan Möbius
ffbab0a3aa
Bumped version to OpenMesh 6.1
2016-04-29 15:26:25 +02:00
Jan Möbius
1c85080a1e
- Updated changelog
...
- Always emit warning
2016-04-15 15:57:07 +02:00
Isaak Lim
6c6ce56c3c
don't emit an error message for every face that could not be added (due to complex elements)
2016-04-15 14:01:11 +02:00
Jan Möbius
17217c405d
Merge branch 'fixDoubleSwap' into 'master'
...
Fix double swap
See merge request !54
2016-04-14 15:42:24 +02:00
Jan Möbius
2496fa8363
Merge branch 'property-manager-factories' into 'master'
...
add factory functions for creating PropertyManagers without restating the mesh type in C++11
See merge request !53
2016-04-14 15:11:03 +02:00
Martin Schultz
e7ed1ca1e0
fixes #17 by removing the swap of len in string serialization specification
2016-04-14 12:52:21 +02:00
Janis Born
70d7ae8a79
add factory functions for creating PropertyManagers without restating the mesh type in C++11
2016-04-14 09:58:54 +02:00
Max Limper
532f64464a
Not collecting failed faces but directly processing them
2016-04-06 17:28:41 +02:00
Jan Möbius
6a045b5c5e
Obj writer: Fix OBJ writer bug file extension removal (Thanks to Katharina Breininger for the patch)
...
(cherry picked from commit 4cfe75788a5374978555322c596ecdea9909516a)
2016-04-05 15:44:34 +02:00
Hans-Christian Ebke
00101c13e0
Merge remote-tracking branch 'origin/master' into performance_tuning
2016-03-24 12:59:35 +01:00
Hans-Christian Ebke
3868b351ec
Added a whole bunch of doxygen documentation.
2016-03-24 12:58:43 +01:00
Jan Möbius
434a0ed1c6
Merge branch 'obj_mat_file' into 'master'
...
Fix OBJ material files and face color (Thanks to Sven-Kristofer Pilz for the patch)
closes #20
See merge request !50
2016-03-23 13:45:56 +01:00
Janis Born
b1a7d43a83
drop VectorDimensionsT metaprogram in favor of vector_traits
...
(thanks to Marco Centin and Amodio Pesce)
2016-03-17 18:29:55 +01:00
Jan Möbius
44cb2ebc4d
Fix OBJ material files and face color (Thanks to Sven-Kristofer Pilz for the patch)
2016-02-11 14:49:44 +01:00