Commit Graph

3357 Commits (6600446e2c5369956ec5713d00f9f7f3979854d7)

Author SHA1 Message Date
Turo Lamminen 3b68ffe363 LWO: Use C++11 auto for easier refactoring 2018-02-06 19:50:42 +02:00
Turo Lamminen 9344074a04 MDLLoader: Replace raw pointer with vector to fix a memory leak 2018-02-06 19:22:32 +02:00
Turo Lamminen 1aed63afb7 OpenGEX: Replace another raw pointer with vector to fix a memory leak 2018-02-06 19:13:54 +02:00
Turo Lamminen 880be5403f OpenGEX: Replace raw pointer with vector to fix a memory leak 2018-02-06 19:03:47 +02:00
Turo Lamminen c42dd9104c BlenderLoader: Fix memory leak 2018-02-06 18:52:23 +02:00
Turo Lamminen d284d107e7 XGLLoader: Fix a memory leak 2018-02-06 18:43:51 +02:00
Kim Kulling dceb7257dd
Update XFileParser.cpp
Fix the build.
2018-02-05 13:53:06 +01:00
Kim Kulling eb23946fe7
Update XFileParser.cpp
Fix alignment for float and double.
2018-02-05 13:44:19 +01:00
Kim Kulling ff556027ef X: fix some review findings. 2018-02-05 00:33:41 +01:00
Kim Kulling 3685791e0d closes https://github.com/assimp/assimp/issues/1729: check for bit flip when unsigned int overflow happens in x-file parsing. 2018-02-04 22:15:18 +01:00
Kim Kulling 1a9f17e13d
Merge branch 'master' into issue_774 2018-02-04 18:33:22 +01:00
Kim Kulling c5157bc471 fbx: global settings use float instead of double. 2018-02-04 17:13:58 +01:00
Kim Kulling 37d352622b closes https://github.com/assimp/assimp/issues/774: use correct type for unitscale in fbx. 2018-02-04 16:42:36 +01:00
Turo Lamminen 5278e1a5f8 CSM: Fix a possible memory leak by using std::unique_ptr 2018-02-03 17:52:25 +02:00
Turo Lamminen cfcaf3e97b BVH: Initialize all members of Node in constructor 2018-02-03 17:38:30 +02:00
Turo Lamminen da19ed0b2a BaseImporter: Remove dead condition
operator new never returns NULL, it throws exception on allocation failure
2018-02-03 17:25:31 +02:00
Turo Lamminen be865ae613 LimitBoneWeightsProcess: Initialize all members of Weight in constructor 2018-02-03 17:19:27 +02:00
Turo Lamminen 9397932e4f PretransformVertices: Rearrange some assignments to clarify things 2018-02-03 17:08:25 +02:00
Kim Kulling d47f34344e closes https://github.com/assimp/assimp/issues/1752: move guard over include statement. 2018-02-03 08:46:03 +01:00
Kim Kulling 58d1ef6492
Merge branch 'master' into unzipExt 2018-02-01 19:21:09 +01:00
Kim Kulling a1963feab7
Merge branch 'master' into warning4221 2018-01-31 20:27:45 +01:00
Kim Kulling 2714e146e0
Update OgreXmlSerializer.cpp
- Make constats static
- add asserts to check against nullptr dereferencing
2018-01-31 09:57:34 +01:00
Sergio Acereda 8f99c1a0be including <unzip.h> instead of <contrib/unzip/unzip.h> 2018-01-30 22:13:44 +01:00
Kim Kulling 46e9d1321d
Merge branch 'master' into warning4221 2018-01-30 21:41:44 +01:00
Turo Lamminen 388ec8461c Ogre: Change OgreXmlSerializer::ReadAttribute parameter from std::string to pointer 2018-01-30 20:12:46 +02:00
Turo Lamminen cfc9a69512 Ogre: Don't create std::strings in global scope where char pointer will do 2018-01-30 20:03:28 +02:00
Turo Lamminen 0c66b3902e Ogre: Avoid creating static std::strings
They're causing false positive race condition messages from Helgrind
2018-01-30 19:47:15 +02:00
Turo Lamminen 12396d0ce3 Ogre: Change OgreXmlSerializer::HasAttribute parameter from std::string to pointer
It's immediately passed via string pointer and in most places
it's already a raw string constant.
2018-01-30 19:42:58 +02:00
Sergio Acereda be33feba44 Warning LNK4221 when not building exporter. 2018-01-29 12:39:40 +01:00
Kim Kulling bd29fe73fa Merge branch 'master' into new_license_dates 2018-01-28 20:16:17 +01:00
Kim Kulling b049933d2f update license dates. 2018-01-28 19:42:05 +01:00
Turo Lamminen e0cbd92da4 ASE: Delete BaseNode constructor which doesn't take name 2018-01-27 18:48:57 +02:00
Turo Lamminen 4b20e9712c ASE: Explicitly pass "DUMMY" as Dummy node name 2018-01-27 18:48:57 +02:00
Turo Lamminen 2d1bd1eec4 ASE: Delete Camera default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 7fef5e6d23 ASE: Explicitly pass "UNNAMED" as default camera name 2018-01-27 18:48:57 +02:00
Turo Lamminen 945f2bed09 ASE: Add Camera constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 039ca38542 ASE: Delete Light default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 4fd791796c ASE: Explicitly pass "UNNAMED" as default Light name 2018-01-27 18:48:57 +02:00
Turo Lamminen f3d702339c ASE: Add Light constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 17f801ae8a ASE: Delete Mesh default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 59ab30cb25 ASE: Explicitly pass "UNNAMED" as default mesh name 2018-01-27 18:48:57 +02:00
Turo Lamminen f3474fb399 ASE: Add Mesh constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 3874720947 ASE: Add BaseNode constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 1836b00f51 ASE: Delete Bone default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen e75f7a5964 ASE: Explicitly pass "UNNAMED" as default bone name 2018-01-27 18:48:57 +02:00
Turo Lamminen 3f377e11f5 3DS: Delete Node default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 0d69b15238 3DS: Explicitly pass "UNNAMED" as 3DS root node name 2018-01-27 18:48:57 +02:00
Turo Lamminen 6c23b57208 3DS: Pass name to Node constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 56a19ac492 3DS: Add Node constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen c0c06093b4 3DS: Whitespace 2018-01-27 18:48:57 +02:00
Turo Lamminen 8c219c7bd1 3DS: Delete Mesh default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 93fa373206 3DS: Pass name to Mesh constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen b580064414 3DS: Add Mesh constructor with takes name 2018-01-27 18:48:57 +02:00
Kim Kulling 25c5384208
Merge branch 'master' into master 2018-01-25 09:11:14 +01:00
Kim Kulling 2e7e16b52b
Merge branch 'master' into issue_1728 2018-01-24 23:58:55 +01:00
Kim Kulling 1037ac5b93
Merge branch 'master' into issue_1721 2018-01-24 21:57:53 +01:00
Kim Kulling 5baba37414 closes https://github.com/assimp/assimp/issues/1728: check if mesh is a null instance before dereferencing it. 2018-01-24 21:43:36 +01:00
Giuseppe Barbieri 47a2775b94
Update FBXConverter.cpp
Renamed nested looping variable
2018-01-24 21:30:25 +01:00
Kim Kulling 0b15d5cd46 closes https://github.com/assimp/assimp/issues/1721: set camera parameters instead of nonsense. 2018-01-24 21:20:34 +01:00
Rohan Singh b28bcc365c Interpret IndexAToDirect as Direct when the index element is missing
Paint3D exports FBX like this, which is wrong, but could still support it
2018-01-24 09:45:20 -05:00
Turo Lamminen a8fd9f668f ASE: Explicitly write out Material move constructor and assignment operator
Because MSVC doesn't support defaulting them
2018-01-24 12:25:30 +02:00
Turo Lamminen cbd7916ced 3DS: Explicitly write out Material move constructor and assignment operator
Because MSVC doesn't support defaulting them
2018-01-24 12:11:19 +02:00
Turo Lamminen e6ff15d201 3DS: Initialize Material name in initializer list 2018-01-23 20:41:26 +02:00
Turo Lamminen 4acd96d405 3DS: Remove Material default constructor 2018-01-23 20:36:51 +02:00
Turo Lamminen dd7035372d 3DS: Pass default material name to constructor instead of changing after the fact 2018-01-23 20:36:05 +02:00
Turo Lamminen 10246bf052 3DS: Pass default material name to Material constructor 2018-01-23 20:29:46 +02:00
Turo Lamminen f2ec3eeeb8 ASE: Delete Material default constructor 2018-01-23 20:20:37 +02:00
Turo Lamminen 209966ef35 ASE: Pass default material name to constructor 2018-01-23 20:15:21 +02:00
Turo Lamminen 1b28124f21 ASE: Pass a default material name when resizing submaterials buffer 2018-01-23 19:54:16 +02:00
Turo Lamminen 4b1b5f1b59 ASE: Pass a default material name when resizing materials buffer 2018-01-23 19:50:20 +02:00
Turo Lamminen 60d78f1701 ASE: Add Material constructor which takes material name 2018-01-23 19:43:15 +02:00
Turo Lamminen d49996d8a6 3DS: Add Material constructor which takes material name 2018-01-23 19:38:38 +02:00
Turo Lamminen 024aade208 ASE: Add explicit default constructors and assignment operators to Material 2018-01-23 19:33:50 +02:00
Turo Lamminen 9e7b21f83d 3DS: Add explicit default constructors and assignment operators to Material 2018-01-23 19:24:22 +02:00
Turo Lamminen 4d946d9e31 ASE: Reformat another initializer list 2018-01-23 19:10:00 +02:00
Turo Lamminen 6c4e3bce53 3DS: Reformat initializer list 2018-01-23 18:58:23 +02:00
Turo Lamminen 70ae30f26a ASE: Reformat initializer list 2018-01-23 18:58:19 +02:00
kim kulling 88a0bb1b6d FBX: store UnitScaleFactor for fbx-files. 2018-01-23 15:13:23 +01:00
kim kulling 8ac1de3287 closes https://github.com/assimp/assimp/issues/1390: aiScene now stores metadata as well. 2018-01-23 15:12:57 +01:00
Kim Kulling f0d03ec6b8 closes https://github.com/assimp/assimp/issues/1722: use a const reference to fix issue with ppc. 2018-01-22 14:35:06 +01:00
Marco Di Benedetto 5f38bd01ec restored gltf checks. 2018-01-18 22:28:44 +01:00
Marco Di Benedetto c749594e9d gltf instant ok on valid extension. 2018-01-18 19:12:51 +01:00
Marco Di Benedetto 55ca48e838 Merge branch 'master' of https://github.com/assimp/assimp 2018-01-18 19:08:54 +01:00
Kim Kulling 8b9b770f9f
Merge branch 'master' into gltf2-fixes 2018-01-16 21:50:48 +01:00
Kim Kulling 81fbe2c7d3
Merge branch 'master' into issue_1660 2018-01-16 17:13:02 +01:00
Kim Kulling d230635ff6 STLLoader: closes https://github.com/assimp/assimp/issues/1660: use memcpy instead of a c-style dynamic cast to parse a aiVector3D 2018-01-16 16:31:15 +01:00
Alexis Breust 5e6cae3094 Force normalized normals 2018-01-16 09:56:44 +01:00
Alexis Breust 0f4189c77e Forced 4-bits alignment for glTF buffers 2018-01-16 09:26:18 +01:00
BuildTools 0c37ef55be IFCLoader.h fix 2018-01-15 19:23:13 -08:00
BuildTools f88572f572 fix includes 2018-01-15 19:14:44 -08:00
Christian Meurin 86fa0f4524
Merge branch 'master' into master 2018-01-15 19:10:14 -08:00
BuildTools d0c92e30be conflict resolution again, temp. move LogAux.h 2018-01-15 19:07:33 -08:00
BuildTools 68db518696 Fix IFC branch merge conflict 2018-01-15 19:00:56 -08:00
Kim Kulling c07069821d
Merge branch 'master' into better_fbx_material_import 2018-01-14 22:04:20 +01:00
Kim Kulling 03b43ee9c3
Merge branch 'master' into ifc_40 2018-01-13 14:40:50 +01:00
Kim Kulling 5e339d0ff0 fix case-sensitive typo in include. 2018-01-13 10:54:38 +01:00
Kim Kulling cecab969c6 IFC: introduce new namespace fpr IFC-schema2x3 2018-01-13 10:27:45 +01:00
BuildTools 4410de1c44 correct header path for new process 2018-01-11 13:21:40 -08:00
Christian Meurin 925be5e983
Merge branch 'master' into master 2018-01-11 13:13:46 -08:00
awefers 193165fb43
Merge branch 'master' into issue_1684 2018-01-11 10:16:20 -08:00
Axel Wefers 0e99f1f587 Build fix for 1684
Requires cast from size_t to uint64 like in other places, otherwise the call to the constructor for GenericValue() is ambiguous.

Fixes #1684
2018-01-11 10:15:05 -08:00
Tommy fb4a67d4fe Improve FBX material import.
Some properties were being incorrectly interpreted,
and by default it was relying on a legacy system.
2018-01-11 17:30:21 +01:00
Kim Kulling 88df886bcc
Merge branch 'master' into issue_1605 2018-01-11 11:39:14 +01:00
Christian Meurin 538bc95499
Merge branch 'master' into master 2018-01-10 20:10:54 -08:00
Axel Wefers 3e127bebff glTF 2.0: Import scale for normal textures and strength for occlusion textures
resolves #1693
2018-01-10 16:45:17 -08:00
Kim Kulling 936eb26dde
Merge branch 'master' into issue_1605 2018-01-11 00:54:35 +01:00
awefers bb71f2ba64
Merge branch 'master' into issue_1605 2018-01-10 12:04:41 -08:00
Kim Kulling 45d5f2eec8
Merge branch 'master' into issue_1691 2018-01-10 20:50:37 +01:00
Marco Di Benedetto 978c156c2a added import of material properties (double sided and transparency) in glTF 1.0 importer. 2018-01-10 20:02:41 +01:00
Axel Wefers 901b981260 glTF: Always check signature
Always check signature for glTF 1.0 and glTF 2.0 files to select the correct importer. Fixes #1605
2018-01-09 09:37:57 -08:00
Axel Wefers dc79b572cf glTF 2.0: Assign default material to meshes with no material reference.
fixes  #1691
2018-01-08 14:57:55 -08:00
Axel Wefers 4235765856 glTF 2.0: Set camera "look at" to (0.0, 0.0, -1.0). 2018-01-08 14:19:30 -08:00
Kim Kulling 0fff3b1232
Merge branch 'master' into master 2018-01-08 15:36:03 +01:00
Alexis Breust 559bc38e5d Embedding images post-process 2018-01-08 09:26:52 +01:00
Christian Meurin 5ef13e7b38
Merge branch 'master' into master 2018-01-07 11:34:18 -08:00
Kim Kulling dd7a323103
Merge branch 'master' into issue_1574 2018-01-07 11:30:03 +01:00
Christian Meurin 7b5c543b82
Merge branch 'master' into master 2018-01-06 14:48:23 -08:00
Kim Kulling abc01bcdf0 closes https://github.com/assimp/assimp/issues/1574: add API to get name of current branch. 2018-01-06 21:52:58 +01:00
Kim Kulling b2bfb40859
Merge branch 'master' into remove_ctest 2018-01-06 21:31:22 +01:00
Kim Kulling 3896f3ffce
Merge branch 'master' into 1674-buffer-relative-uri 2018-01-06 20:40:27 +01:00
Kim Kulling 01081765ad closes https://github.com/assimp/assimp/issues/1638: use memcpy instead of dynamic_cast. 2018-01-06 18:03:27 +01:00
Kim Kulling 6bbdb669e1
Merge branch 'master' into master 2018-01-06 09:30:13 +01:00
A. Breust ca152f41e2
Merge branch 'master' into 1674-buffer-relative-uri 2018-01-06 09:19:48 +01:00
BuildTools 66171de915 Successful lib build, unit testing still WIP 2018-01-05 16:18:33 -08:00
Alexis Breust 9b5df71150 Not using external bin file for glb2 2018-01-05 10:28:12 +01:00
Alexis Breust 988acd00f1 Using relative buffers URI 2018-01-05 10:08:17 +01:00
Kim Kulling f376a3e8cd move data declaration after test if elements are in current scope. 2018-01-04 13:09:43 +01:00
Kim Kulling 9efa4282fe closes https://github.com/assimp/assimp/issues/1460: skip uv- and color-components if these are not defined. 2018-01-04 12:37:35 +01:00
Kim Kulling 2f6dab53f4
Merge branch 'master' into remove_ctest 2018-01-04 00:28:04 +01:00
Kim Kulling c66c7d7ae6 remove ctest to make workspace more readable. 2018-01-03 17:22:07 +01:00
Leo Terziman d0bee866c0 Merge remote-tracking branch 'github/master' into contrib 2018-01-03 16:15:07 +01:00
Leo Terziman 712a7ee779 Fixed bug in IFC where SweptDiskSolid tessellation would fail for polylines with only 2 points.
Indeed, the EstimateSampleCount is not always accurate in this case, as the number of generated curvature pointer is greater by one. Moreover, it is redundant to call EstimateSampleCount, as the SampleDiscrete method will provide the (correct) number of points anyway. This commit fix the described bug, but also increase the efficiency of the ProcessSweptDiskSolid method, as EstimateSampleCount is only called once now, instead of two times.
2018-01-03 16:14:20 +01:00
Leo Terziman 32dfd423db Fixed bug in IFC when dimensional exponent parameters in IfcSIUnits is not defined.
Usually, the value of this parameter is derived from parents, but it is not always the case for some files.
2018-01-03 16:08:18 +01:00
Turo Lamminen 8a505398a3 MMD: Fix memory leak 2018-01-02 20:35:06 +02:00
Turo Lamminen aac41cf2c3 MMD: Fix delete / delete[] mismatch
Also this was a horrible abuse of std::vector and shouldn't have worked
2018-01-02 20:28:08 +02:00
Turo Lamminen 7ebd8e7543 glTFAsset: Use std:unique_ptr for Image data 2018-01-02 20:09:22 +02:00
Turo Lamminen d308cfcb43 glTF: Fix delete / delete[] mismatch 2018-01-02 19:23:21 +02:00
Alexandre Avenel ced6e8ce43 Use std::unique_ptr in ObjFileParser 2017-12-30 13:23:44 +01:00
Alexandre Avenel 606fd6b1a1 Replace assertion by an exception in Obj parsing
This crash could happen when the user try to parse an ill-formed obj file.
2017-12-29 18:07:41 +01:00
Alexandre Avenel 20ef807982 Remove assertion in ObjFileImporter
This assertion is already handled by an exception, and could lead to a
crash when parsing an ill-formed OBJ file.
2017-12-29 17:56:30 +01:00
Turo Lamminen 096056b899 Q3BSP: Fix build with clang libc++ 2017-12-24 22:17:59 +02:00
Turo Lamminen dc94e5921e MDLImporter: Use unique_ptr
Fixes a double free
2017-12-24 22:17:11 +02:00
Turo Lamminen 55e69272bd MMD: Remove bogus assert
It can be triggered by input file, it's undocumented and it looks like nothing breaks
2017-12-24 22:15:19 +02:00
Turo Lamminen 90cdd0f20c RemoveComments: Fix out-of-bounds read when file ends with a comment 2017-12-24 22:14:39 +02:00
Turo Lamminen 4078543827 OpenGEX: Throw exception on malformed color4 instead of crashing 2017-12-24 14:57:14 +02:00
Turo Lamminen 7932a85ca1 Raw: Fix unitialized values in scene 2017-12-24 14:38:26 +02:00
Turo Lamminen 1ad789bae9 Raw: Reformat code, no functional change 2017-12-24 14:26:53 +02:00
Faule Socke 4a65e76ca7 Fix buffer overflow in obj loader
The overflow-checking code in ObjFileImporter::createVertexArray is at
the wrong position, allowing buffer overflows in preceding code.

This fix moves the code to the right spot.

An actual overflow can be caused by usign some more bugs and weird
behaviours and injecting a malformed line statement into the object
file, containing only one index. Such a malformed file could for
example look like:

o 1

v 0 0 0
v 1 1 1
v 2 2 2

l 1
f 1 2 3

Because the code in ObjFileImporter::createTopology incorrectly handles
line-type faces containing only one index (in line 364), it
underestimates the number of required indices and therefore causes the
buffer allocated in line 421 to be too small.

I believe, the correct fix for this would be in the parser and
rejecting such faces early. However the overflow check was misplaced
anyway.

If you can't reproduce a crash, just insert some more "l 1" lines
before the "f 1 2 3" line until it crashes. The behaviour of heap buffer
overflows strongly depends on memory layout and allocation history.
2017-12-23 17:57:48 +01:00
Kim Kulling 5a30bccdae closes https://github.com/assimp/assimp/issues/1612: make wstaring handling depend from encoding of the filename. 2017-12-22 16:45:07 +01:00
Kim Kulling 2294390917
Merge branch 'master' into iosystem-patch 2017-12-20 09:57:54 +01:00