Commit Graph

1550 Commits (0cee21ce3c049c48658c914a103f6efcca215006)

Author SHA1 Message Date
ulf dbc7dc005d - IfcLoader now evaluates all curve segments at both start and end. Leads to a lot of duplicates which get filtered out afterwards, but fixes the "cutting corners" phenomen that sometimes appeared in conjunction with trimmed curves 2015-03-16 11:35:07 +01:00
Alexander Gessler dca3f09940 Merge pull request #497 from assimp/regression-ci-test
Regression suite fixes, fix cases of non-deterministic output #1.
2015-03-16 09:15:55 +01:00
Alexander Gessler 7ee5eaafc6 Fix compile: set::erase() returns void prior to C++11. 2015-03-15 23:40:29 +01:00
Alexander Gessler 16880b3dbd Fix build after mis-merge. 2015-03-15 23:31:58 +01:00
Alexander Gessler dc441d09e5 Blender importer: fix accidental use of uninitialized fields in the default material.
IMHO C++03+ guarantees zero initialization here, so it may be a MSVC-specific issue.
2015-03-15 14:42:28 +01:00
Alexander Gessler 1c64c590f2 Blender importer: always sort sets of objects by their name. Previously we accidentally ordered pointers to objects by their memory address, which was non-deterministic and caused regression tests to be flaky. 2015-03-15 01:26:15 +01:00
Alexander Gessler c59878e427 Merge branch 'master' of github.com:assimp/assimp
Conflicts:
	code/ColladaLoader.cpp
2015-03-15 00:18:39 +01:00
Madrich c4eb04bb8c Fix XFile name for $ and {}
Memleak copy constructor
2015-03-14 20:52:53 +01:00
Alexander Gessler ff4e1d9446 Sub-sample axis-angle channels if the delta between two consecutive key-frame angles is >= 180 degrees. Fixes #458. 2015-03-14 19:57:13 +01:00
Madrich edd3ed9e8f Back PretransformVertice Change
Fix Node Name in XFileExport
2015-03-14 19:48:08 +01:00
Madrich 56da80bc6e Copy constructor ExportProperties
Fix name dummy node in PreTransformVertices
2015-03-14 19:03:44 +01:00
Madrich 290a16eea5 Copy constructor for ExportProperties
Export Propertie defines in config.h
Remove unnecessary
2015-03-14 16:31:33 +01:00
Madrich 8b1b12682f Add ExportProperties 2015-03-14 14:03:14 +01:00
ulf ad9d178f0a - Bugfix: IfcLoader lost nodes and geometry when they were stored in subnodes of IfcSpace and the setting "Filter IfcSpace" was enabled 2015-03-13 15:13:53 +01:00
Wil Shipley 90a07713c0 Added 'const' to () operator on CompareVector
So it can build on clang.
2015-03-11 16:55:21 -07:00
Alexander Gessler 163bbc25c7 Merge pull request #486 from DenisMikhalev/issue-2
Adds safety and prevents crashes for damaged files
2015-03-10 16:09:07 +01:00
DenisMikhalev 62676b56aa Adds safety and prevents crashes for damaged files 2015-03-09 19:40:13 +03:00
Turo Lamminen ba4689fd05 Whitespace 2015-03-09 12:33:13 +02:00
Turo Lamminen c342778f42 Fix read past end of buffer after call to TokenMatch
IsSpaceOrNewLine returns true on end of input (NUL character). But if
TokenMatch considers a token at end of input to match it sets "in" to
one past end of buffer. This will lead to reading past the end of
buffer on any subsequent operation.
2015-03-09 12:33:13 +02:00
DenisMikhalev c410512173 Use material names, set default direction to UP_Y, process extra tag 2015-03-08 22:37:48 +03:00
Kim Kulling 727888ea10 Merge pull request #480 from turol/subdiv-memory
Free edges map before recursive calls to reduce memory consumption
2015-03-08 10:32:26 +01:00
abma 873ae5db3f addition to c4997f16db
(thanks turol)
2015-03-08 03:26:25 +01:00
Turo Lamminen c89274d366 Free edges map before recursive calls to reduce memory consumption 2015-03-08 00:16:48 +02:00
ulf 76c69205b1 - reintroduced IFC openings to floors and ceilings. Were disabled for some unknown reasons, I hope I didn't break anything. Everything I tested works fine. 2015-03-06 14:14:45 +01:00
ulf 03a7f36858 Merge branch 'master' of https://github.com/assimp/assimp 2015-03-05 20:18:00 +01:00
ulf a2c9904d59 - Bugfix: polygon-bounded half space clipping now assumes plane in correct coordinate space
- Bugfix: closing polygon loop along boundary polygon now correctly projects boundary vertices to polygon plane
2015-03-05 20:17:26 +01:00
ulf 0cdc528e01 - Bugfix: IFC loader tested squared length against non-squared epsilon in RemoveDegenerates() 2015-03-03 15:56:09 +01:00
abma c4997f16db remove "register" keyword:
clang warns: 'register' storage class specifier is deprecated
http://stackoverflow.com/questions/10675072/is-the-register-keyword-still-used
2015-03-02 23:44:02 +01:00
Alexander Gessler b1e8c192db Merge pull request #464 from turol/master
Clean up some warnings
2015-02-28 14:41:26 +01:00
Alexander Gessler f6f8462113 Update IfcLoader to use numeric_limits<uint32_t> instead of UINT32_MAX, fixes gcc build and is more consistent with the rest of the codebase. Fixes #471. 2015-02-28 13:40:10 +01:00
Turo Lamminen 5a74e07f5f Mark some more functions with AI_WONT_RETURN 2015-02-27 23:09:12 +02:00
Turo Lamminen dfd171be6d Remove unnecessary semicolons after FBXDocument property declarations 2015-02-27 23:09:12 +02:00
Turo Lamminen 308884f144 Remove unnecessary semicolons after function definition
Picked up by clang -Wextra-semi
2015-02-27 23:09:12 +02:00
Turo Lamminen e8bcad0840 Silence a warning and add an assertion
Another false positive uninitialized variable. Actually it's only false
if ToOutputVertexIndex does't return NULL which should only happen if
index is out of bounds. Add assertion to make sure of that.
2015-02-27 23:09:03 +02:00
ulf b71ded1ad0 - manually merged C4D importer code from acgessler branch
- manually merged IFC bugfixes and improvements from schrompf branch
2015-02-23 14:23:28 +01:00
Alexander Gessler 51b790c482 ColladaLoader: format. 2015-02-15 22:26:59 +01:00
Alexander Gessler ce1302cd71 Fix VC12 warning "empty but controlled statement found". 2015-02-15 22:20:34 +01:00
Alexander Gessler aae0f7e7b1 3DSExporter: export materials first, then meshes. Our own importer requires this. 2015-02-15 22:12:19 +01:00
Kim Kulling 0292868917 add geomentry node handling.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-14 16:12:09 +01:00
Turo Lamminen 570d02ff6e Silence more uninitialized variable warnings
These are false positives since aiMaterial::Get will have written to output
if it returns AI_SUCCESS but the compiler can't see that.
2015-02-13 13:15:26 +02:00
Turo Lamminen f708d0b122 Silence some uninitialized variable warnings
These are false positives but the compiler isn't smart enough to see that.
Also it might make more sense to use switch here.
2015-02-13 12:21:59 +02:00
Turo Lamminen 84a9514d4b Fix warning about possibly uninitialized variable
It might be better to move FindEmptyUVChannel call earlier
2015-02-13 12:14:39 +02:00
Kim Kulling bd1168af30 fix invalid line endling handling.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-10 20:46:02 +01:00
Kim Kulling 9e87fa178a add property parsing to opengex parser.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-10 20:09:26 +01:00
Kim Kulling c3e2fa0761 - untabify obj parser.
- bugfix openddl: latest version

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-10 19:31:23 +01:00
OgreTransporter 4e8f7fb802 Fix Visual Studio prefixes 2015-02-08 12:26:29 +01:00
Kim Kulling 124f408976 add property parsing.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-07 19:52:06 +01:00
Kim Kulling 303a6893fc fix the build.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-07 13:23:32 +01:00
Kim Kulling 20b3ce6a40 replace opengexparser by using openddl-parser.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-07 12:47:53 +01:00
Turo Lamminen de66f15a0a Fix division by zero 2015-02-02 16:03:24 +02:00
Turo Lamminen b93bd167ed Fix infinite loop in STL loader error path
It appears that this was never tested since hitting it caused an infinite loop.

Fixes testcase hangs/c2eb1fa3e74c6ffe0cebcb1672b03140
2015-02-01 00:35:00 +02:00
Turo Lamminen fe89773c6f Fix infinite loop in PLY parser
Fixes testcase hangs/9ab979ab256c70aaec9b651f32f051e9
2015-02-01 00:22:32 +02:00
Turo Lamminen 6b9f9afd7a Fix infinite loop in STL loader
If next character was not part of valid token and not whitespace we
would end up spinning in the loop indefinitely. Fix by using do..while
loop which always skips at least one character.

Fixes testcase hangs/73b42cd3b6d05e2ddb5c0fe5888459bc
2015-02-01 00:09:32 +02:00
Alexander Gessler 08ad6ae8fe Merge pull request #450 from turol/afl-fixes
Fix some bugs found with afl
2015-01-31 20:51:07 +01:00
Turo Lamminen 792da49933 Fix out-of-bounds write when STL file node name is too long 2015-01-31 21:36:13 +02:00
Turo Lamminen f971b66c47 Fix out-of-bounds read in invalid compressed X file 2015-01-31 21:36:08 +02:00
Kim Kulling 063b2733fc Merge branch 'master' into opengex_support 2015-01-31 11:09:20 +01:00
Kim Kulling 1ee4c06e4b add openddl-parser to contrib.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-01-31 11:07:48 +01:00
Turo Lamminen 95ad827277 Remove bogus delete[] on error path
mBuffer is a pointer inside a std::vector so don't try to delete[] it.
2015-01-29 23:22:56 +02:00
Turo Lamminen 0108d5b1f9 Fix read past end of buffer on malformed LWOB files 2015-01-29 23:22:56 +02:00
Turo Lamminen 16f9ca35d2 Fix out-of-bounds read when OFF file contains no vertices 2015-01-29 23:22:56 +02:00
Turo Lamminen af09e68654 Fix memory corruption when LWO file contains bad-sized points chunk 2015-01-29 23:22:41 +02:00
Turo Lamminen 2f0675ac53 Fix memory corruption when 3DS file has more smoothing groups than faces 2015-01-29 23:18:19 +02:00
Kim Kulling b700cd917f Merge pull request #452 from ricortiz/FixExportedLibraryNameVariable
Fix exported library name variable
2015-01-29 17:24:30 +01:00
Turo Lamminen c5d048a98a Fix crash when 3DS file contains faces but no vertices 2015-01-28 18:37:36 +02:00
Alexander Gessler cc346d3e12 Merge pull request #437 from CasperTech/master
Add support for component controlled matrix transforms, i.e transform(0)...
2015-01-25 19:44:27 +01:00
Alexander Gessler f62d03bd03 Merge pull request #439 from expipiplus1/master
Fix incorrect abs usage
2015-01-25 19:41:46 +01:00
Johnny Dickinson 380021e7c4 Check that zlib initialized correctly in FBX parser
Check the return code of inflateInit() indicates success to avoid
crashing later when zstream contains invalid data.
2015-01-24 00:00:35 -05:00
Ricardo Ortiz a94e668486 Define CMAKE_DEBUG_POSTFIX and use it instead of ASSIMP_DEBUG_PREFIX
to have a consistent library name accross platforms.
2015-01-23 14:19:29 -05:00
Joe Hermaszewski e8d4479344 Squash incorrect abs usage
Replace calls to abs with a float to calls to std::abs. Before int abs(int)
was being called.
2015-01-22 20:03:13 +00:00
Tom Mettam a09de30d83 Add support for component controlled matrix transforms, i.e transform(0)(0) etc. 2015-01-21 01:45:35 +00:00
Kim Kulling 62225f61e4 Merge branch 'master' into opengex_support
Conflicts:
	.gitignore
2015-01-13 20:21:17 +01:00
abma b1221ade64 fix some errors/warnings found by static code analyzer 2014-12-16 23:41:10 +01:00
Andreas Henne ab7754ab2a Code style changes. 2014-12-11 23:05:09 +01:00
Andreas Henne 33f9745b62 Formatting changes. 2014-12-05 19:40:09 +01:00
Andreas Henne 4550279629 Added binary ply exporter. 2014-12-05 17:25:18 +01:00
Kim Kulling bc0fd00e96 Merge pull request #414 from l337r007/collada-tristrips
Collada: tristrip support: helps a lot :-). Thanks for that!
2014-12-01 20:48:10 +01:00
Kim Kulling 7a31a68cfc adapt c-api to get ImporterDesc for a given loader ( see https://github.com/assimp/assimp/issues/412 ).
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-12-01 20:34:15 +01:00
Kim Kulling 1f13158b31 fix vs2013 compiler warnings and add missing doxygen tags.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-11-29 12:12:32 +01:00
Kim Kulling 098ddd3a95 make copy constructor and a assignment operator private to avoid misuse of helper class scope guard
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-11-29 11:56:39 +01:00
Kim Kulling 9f80a2a2a9 update parser.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-11-29 11:33:49 +01:00
Wolfgang Herget c08a5581dd ColladaParser::CopyVertex: don't make a local copy of the vertex' indices.
Instead, we address the relevant indices in the main vector directly by
adding the input offsets to the per-vertex base offset.
2014-11-20 17:53:06 +01:00
Wolfgang Herget 8dead93504 ColladaParser: don't arbitrarily limit number of per-vertex attributes. 2014-11-20 16:42:41 +01:00
Wolfgang Herget ca3ce4703d Rename ColladaParser::CopyPrimitive to ::CopyVertex.
That's a bit closer to what the function actually does.
2014-11-20 13:12:09 +01:00
Wolfgang Herget 13a157ea66 For Polylists, manually compute the start offset outside CopyPrimitive. 2014-11-20 13:10:15 +01:00
Johannes Ebersold e568c2df9d ColladaParser::ReadIndexData: don't rely on the specified number of primitives.
Especially TriStrips don't specify triangle count upfront, so one needs to
sum up the count of triangles read from all <p> tags in a tristrip collection.
2014-11-19 14:40:43 +01:00
Johannes Ebersold 72f67ea0cd Whitespace changes 2014-11-19 14:40:42 +01:00
Johannes Ebersold 593484829b Add Function ColladaParser::ReadPrimTriStrips.
This does the index mangling for reading tristrips.
2014-11-19 14:40:42 +01:00
Johannes Ebersold 0f40dcca7e Add calculation for nuber of Primitives for TriStrips 2014-11-19 14:40:42 +01:00
Johannes Ebersold 7c4bf383d7 Move vertex copy operation into switch statement.
We will be adding special handling for Tristrips in an upcoming commit,
which unfortunately doesn't map to a common copy loop as it is.
2014-11-19 14:40:42 +01:00
Johannes Ebersold 4ef244f672 Extract function ColladaParser::CopyPrimitive 2014-11-19 14:40:42 +01:00
Johannes Ebersold 70d2c8571b ColladaParser::ReadPrimitives: get rid of "idx" iterator.
We will be adding non-sequential access to the indices vector in one of the upcoming commits.
2014-11-19 14:04:49 +01:00
Johannes Ebersold 543bd5c0d0 ColladaParser::ReadPrimitives: rename "a" to currentPrimitive 2014-11-19 13:51:22 +01:00
Jared Duke c7b6b5ea2f Support lowercase 'ns' and 'ni' obj material tokens
Previously, the obj material parser would interpret all key tokens
starting with 'n' as 'newmtl' tokens. However, there are other tokens
that can start with 'n', namely 'ns' and 'ni' for material properties.
Make the parser robust to such cases, despite their canonical forms
being uppercase.

Resolves #410.
2014-11-18 16:56:46 -08:00
Kim Kulling dbf9536213 bugfix: add correct handling for metric line end for example file.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-11-02 20:30:45 +01:00
Kim Kulling 1a5695ff48 update: add parsing of metric nodes.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-11-02 19:01:04 +01:00
Kim Kulling 6843c42da1 update:
- merge master into branch
- fix metrix header parsing.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-10-28 21:45:09 +01:00
Kim Kulling f84589fec4 Merge branch 'master' into opengex_support 2014-10-24 15:24:32 +02:00
Kim Kulling cee583db06 bugfix: fix compiler warning: converting double to float.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-10-22 23:05:25 +02:00
Alexander Gessler b483be3069 Merge pull request #402 from jdduke/disable_bmesh
Temporarily disable Blender BMesh conversion
2014-10-10 22:46:25 -07:00