Commit Graph

4851 Commits (21678df589b522e5c88050ad34335dd20449f764)

Author SHA1 Message Date
Kim Kulling 3329e76263 closes https://github.com/assimp/assimp/issues/3178: throw exception in case of invalid export stream. 2020-05-02 21:06:55 +02:00
Kim Kulling f8e6512a63 Move format importer and exporter into its won folder. 2020-05-02 15:14:38 +02:00
RichardTea 1dabb1a094 Collada: Fix crash with AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES
Add unit test for this
2020-05-01 14:59:09 +01:00
RichardTea 3e2dd186d1
Merge branch 'master' into bug-3177-dae-geo-id 2020-05-01 12:08:12 +01:00
RichardTea 5b9f207f1f ColladaExporter cleanup
Namespace, NULL and includes
2020-05-01 11:54:34 +01:00
RichardTea ee16d2c4c9 Fix camera, light and bone unique ids
Bones don't have a unit test yet
2020-05-01 11:13:38 +01:00
RichardTea 083ebdbc2e Collada Export: More unique Ids
Nodes, Materials, Animations, Lights, Cameras, Bones
2020-04-30 18:28:06 +01:00
Kim Kulling 2d9d112015 fix warning 2020-04-29 21:35:42 +02:00
Kim Kulling 1c30b7bf8e tryout: check if leak is coupled to type double. 2020-04-29 21:31:01 +02:00
Kim Kulling e0bc0f7fad try to fix double memleak. 2020-04-29 21:19:15 +02:00
Kim Kulling da2bf5c7a4 fix wrong size 2020-04-29 21:13:46 +02:00
Kim Kulling f808ed9fb5 fbxconverter: fix memoryleak. 2020-04-29 20:52:49 +02:00
Kim Kulling c6131ce38a scenecombiner: fix leak. 2020-04-29 20:43:23 +02:00
RichardTea ff9f3b8608 Collada: Ensure <geometry> has unique id
Use the "id" for mesh names by default.
Set option AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES to use the mesh "name" instead
2020-04-29 17:17:46 +01:00
RichardTea 2c6ac23a4e Apply Assimp clangformat to touched Collada files 2020-04-29 14:21:17 +01:00
Rafał Mikrut 6967a02fcb
Merge branch 'master' into added_check_before_using 2020-04-28 18:33:29 +00:00
qarmin 4dfdbbf171 Check index before using 2020-04-28 20:31:59 +02:00
Kim Kulling efa046366e
Retrigger build 2020-04-28 09:14:53 +02:00
luca 4488e3e745 build on Linux with gcc and clang; warning as error only for 'assimp' target 2020-04-27 23:38:33 -07:00
Paul Arden 81abd90ee1 Fix reading of orthographic camera data. Fixes #3028. 2020-04-28 10:07:56 +10:00
Kim Kulling b0c9711894
Small format finding 2020-04-27 15:16:57 +02:00
Inho Lee 629320a3a0 Add timescale for collada 2020-04-27 11:52:04 +02:00
luca d98787f35b CI: use clang on Unix, msvc on Windows;Remove explicit flags in CMakeLists.txt; 2020-04-26 12:50:42 -07:00
Kim Kulling 6c1e21d754 fix formatting. 2020-04-26 19:14:30 +02:00
Kim Kulling bafb8e3189 closes https://github.com/assimp/assimp/issues/3165: remove deprecated code whch causes compiler warning. 2020-04-26 08:59:52 +02:00
Kim Kulling 638df2ceac
Merge branch 'master' into master 2020-04-25 12:07:06 +02:00
Kim Kulling 9b1759dcc2
Merge branch 'master' into migenius-migenius-rsws53-mig-2 2020-04-22 19:59:53 +02:00
Kim Kulling ca70b44e44 Merge branch 'migenius-rsws53-mig-2' of https://github.com/migenius/assimp into migenius-migenius-rsws53-mig-2 2020-04-22 19:58:41 +02:00
Kim Kulling c36b028412
fix type error for template deduction. 2020-04-21 16:39:18 +02:00
Kim Kulling c91d3764ca
Merge branch 'master' into optimized_bonelimits 2020-04-21 08:45:50 +02:00
Kim Kulling f71b332ed1
Update glTF2Asset.inl
fix VS-compiler warning.
2020-04-19 21:14:47 +02:00
Kim Kulling e3563212d7
Merge branch 'master' into master 2020-04-19 21:13:12 +02:00
Kim Kulling e0f6eb09e6
Merge branch 'master' into optimized_bonelimits 2020-04-17 20:37:28 +02:00
Hehongyuanlove 9c52fd7633
Update D3MFExporter.cpp 2020-04-17 12:58:41 +08:00
Hehongyuanlove e9a72a5053
repair formate 3MF 2020-04-17 12:38:07 +08:00
Hehongyuanlove 3bbc8e76bd
Rgba2Hex to repair rgba(1,1,1,1) 2020-04-17 12:34:05 +08:00
Kim Kulling c0dc26de8e
Merge branch 'master' into GLTF2_recursive_references_fix 2020-04-16 11:29:37 +02:00
Kim Kulling 996abd3fbe
Merge branch 'master' into GLTF2_invalid_buffer_fix 2020-04-16 11:08:29 +02:00
Kim Kulling d12e938a70
Merge branch 'master' into ifdef_export_defines 2020-04-16 10:24:23 +02:00
Kim Kulling e341eadfd9
Fix typo 2020-04-16 10:23:50 +02:00
Timur Umayev 69f8d47941 glTF2 support targetNames 2020-04-15 09:39:46 +01:00
György Straub e4ceccb42d
Merge branch 'master' into master 2020-04-12 15:58:25 +01:00
Max Vollmer (Microsoft Havok) a14b5fb06f
Merge branch 'master' into GLTF2_invalid_buffer_fix 2020-04-10 08:44:19 +01:00
Max Vollmer (Microsoft Havok) 485d7ab52e
Merge branch 'master' into GLTF2_recursive_references_fix 2020-04-10 08:44:18 +01:00
Kim Kulling 79af2b1a5c
Merge branch 'master' into kimkulling_dev 2020-04-09 19:55:45 +02:00
György Straub 755f3748f1
Merge branch 'master' into master 2020-04-07 11:46:14 +01:00
Kim Kulling 9a11d91cb8 code reformattings. 2020-04-06 13:33:03 +02:00
Kim Kulling 131aed73b0 closes https://github.com/assimp/assimp/issues/2166: add missing setter for metadata. 2020-04-06 11:16:16 +02:00
Kim Kulling 132ecae6f4
Merge branch 'master' into kimkulling_dev 2020-04-04 18:28:50 +02:00
György Straub 956c57f18e
Merge branch 'master' into master 2020-04-03 13:42:59 +01:00
Max Vollmer (Microsoft Havok) a07bf8b26f
Merge branch 'master' into GLTF2_recursive_references_fix 2020-04-03 08:40:32 +01:00
Max Vollmer (Microsoft Havok) d966f3394b
Merge branch 'master' into GLTF2_invalid_buffer_fix 2020-04-03 08:40:29 +01:00
Kim Kulling c21a1ffffa
Remove comments to increase readability 2020-04-01 11:16:39 +02:00
Kim Kulling a7208b02e0
Merge branch 'master' into assimp_gltf2_exporter 2020-04-01 08:42:48 +02:00
Alexey Medvedev 53990ffa42 Check for existed bone 2020-03-31 14:18:51 -07:00
György Straub 87e2d3a54d Added support for glTF2 sparse accessors.
Refactored Accessors, pulling out reusable bits between those
and sparse accessors' indices / values.
2020-03-31 11:28:26 +01:00
Max Vollmer (Microsoft Havok) 54419eb9a0
Merge branch 'master' into GLTF2_invalid_buffer_fix 2020-03-31 09:54:12 +01:00
Max Vollmer (Microsoft Havok) 806d81c919
Merge branch 'master' into GLTF2_recursive_references_fix 2020-03-31 09:54:01 +01:00
Alexey Medvedev 3ef46b0edd Weights and bones count checks 2020-03-30 16:56:33 -07:00
Alexey Medvedev 5e93b9ea8b Fixed bone splitting with excessive amount of bones with 0 weight 2020-03-30 12:42:32 -07:00
Kim Kulling 6973aea6da fix compiler warnings. 2020-03-30 20:41:39 +02:00
Kim Kulling 4c177ad72e fix possible warnings 2020-03-30 20:33:43 +02:00
Kim Kulling d51b89f3ce
trigger build 2020-03-29 13:44:14 +02:00
Kim Kulling b1165cff28
Merge branch 'master' into kimkulling_dev 2020-03-29 12:07:20 +02:00
Ville Ruusutie 222b145307
Merge branch 'master' into optimized_bonelimits 2020-03-29 12:54:07 +03:00
Kim Kulling 9b83d74830 apply code-conventions to unrealloader 2020-03-28 09:48:55 +01:00
Kim Kulling 27e1a20efe
Update 3DSConverter.cpp
Trigger build.
2020-03-27 20:46:32 +01:00
Kim Kulling 3a206a424d
Merge branch 'master' into kimkulling_dev 2020-03-27 18:25:13 +01:00
Kim Kulling e543a58dfb
Update m3d.h
fix more alignment errors.
2020-03-27 18:23:22 +01:00
Kim Kulling 2cfdbe2d50
Update m3d.h
Fix alignment bug.
2020-03-27 16:27:07 +01:00
Kim Kulling 7a01061c3e
Update m3d.h
Try to fix build error.
2020-03-27 15:39:49 +01:00
Kim Kulling 60750161d5
Update m3d.h
replace assignment by memcpy.
2020-03-27 15:28:32 +01:00
Ville Ruusutie 855452831c
Merge branch 'master' into fbx_rotation_fix 2020-03-27 14:36:00 +02:00
Kim Kulling 32c59643f2
Update m3d.h
fix alignment issue.
2020-03-27 11:38:38 +01:00
Kim Kulling 80323b57bc
Update UnrealLoader.cpp
Fix static code analysis findings.
2020-03-27 11:30:40 +01:00
Ville Ruusutie 7a2bc5f8f3
Merge branch 'master' into optimized_bonelimits 2020-03-27 07:12:25 +02:00
Ville Ruusutie 69176ad425
Merge branch 'master' into optimized_bonelimits 2020-03-26 21:28:47 +02:00
Ville Ruusutie 7f521b4eb4
Merge branch 'master' into fbx_rotation_fix 2020-03-26 21:28:03 +02:00
Marc-Antoine Lortie 609632c6a5 Added missing functionalities to C API.
The C API functions that have been added are the following:

Vector2:
- aiVector2AreEqual
- aiVector2AreEqualEpsilon
- aiVector2Add
- aiVector2Subtract
- aiVector2Scale
- aiVector2SymMul
- aiVector2DivideByScalar
- aiVector2DivideByVector
- aiVector2Length
- aiVector2SquareLength
- aiVector2Negate
- aiVector2DotProduct
- aiVector2Normalize

Vector3:
- aiVector3AreEqual
- aiVector3AreEqualEpsilon
- aiVector3LessThan
- aiVector3Add
- aiVector3Subtract
- aiVector3Scale
- aiVector3SymMul
- aiVector3DivideByScalar
- aiVector3DivideByVector
- aiVector3Length
- aiVector3SquareLength
- aiVector3Negate
- aiVector3DotProduct
- aiVector3CrossProduct
- aiVector3Normalize
- aiVector3NormalizeSafe
- aiVector3RotateByQuaternion

Matrix3x3:
- aiMatrix3FromMatrix4
- aiMatrix3FromQuaternion
- aiMatrix3AreEqual
- aiMatrix3AreEqualEpsilon
- aiMatrix3Inverse
- aiMatrix3Determinant
- aiMatrix3RotationZ
- aiMatrix3FromRotationAroundAxis
- aiMatrix3Translation
- aiMatrix3FromTo

Matrix4x4:
- aiMatrix4FromMatrix3
- aiMatrix4FromScalingQuaternionPosition
- aiMatrix4Add
- aiMatrix4AreEqual
- aiMatrix4AreEqualEpsilon
- aiMatrix4Inverse
- aiMatrix4Determinant
- aiMatrix4IsIdentity
- aiMatrix4DecomposeIntoScalingEulerAnglesPosition
- aiMatrix4DecomposeIntoScalingAxisAnglePosition
- aiMatrix4DecomposeNoScaling
- aiMatrix4FromEulerAngles
- aiMatrix4RotationX
- aiMatrix4RotationY
- aiMatrix4RotationZ
- aiMatrix4FromRotationAroundAxis
- aiMatrix4Translation
- aiMatrix4Scaling
- aiMatrix4FromTo

Quaternion:
- aiQuaternionFromEulerAngles
- aiQuaternionFromAxisAngle
- aiQuaternionFromNormalizedQuaternion
- aiQuaternionAreEqual
- aiQuaternionAreEqualEpsilon
- aiQuaternionNormalize
- aiQuaternionConjugate
- aiQuaternionMultiply
- aiQuaternionInterpolate

In addition, a const qualifier has been added to aiQuaterniont::Rotate to allow call to this method via a const aiQuaterniont pointer.
2020-03-26 13:08:40 -04:00
Kim Kulling 96c7c567e6
Merge branch 'master' into kimkulling_dev 2020-03-26 11:56:45 +01:00
Max Vollmer (Microsoft Havok) 3c9751ce0c
Merge branch 'master' into GLTF2_recursive_references_fix 2020-03-26 10:16:58 +00:00
kimkulling ccd13436da fix memory leak during export 2020-03-25 16:37:43 +01:00
napina 14b8d1242b Added pre and post rotation handling to FBXConverter::GenerateSimpleNodeAnim. Fixed quaternion interpolation flip. Cleaned code. 2020-03-25 08:20:31 +02:00
napina b962af93fc Merge branch 'master' of https://github.com/assimp/assimp 2020-03-24 21:35:22 +02:00
Max Vollmer (Microsoft Havok) ec17aff6d6
Merge branch 'master' into GLTF2_invalid_buffer_fix 2020-03-24 11:56:44 +00:00
Max Vollmer (Microsoft Havok) ef20cdc430
Merge branch 'master' into GLTF2_guarantee_rootnode_fix 2020-03-24 11:56:42 +00:00
Max Vollmer (Microsoft Havok) 2820edee54
Merge branch 'master' into GLTF2_recursive_references_fix 2020-03-24 11:56:38 +00:00
simon chen 891b1d4b3f
Merge branch 'master' into fix_FBX_no_preservePivots_bug 2020-03-24 14:38:23 +08:00
Andy Maloney 046f50880f {cmake} Prefix assimp options with "ASSIMP_" to avoid pollution when included as a submodule
When libraries are included as submodules in large projects, having an option with a generic name like "BUILD_DOCS" is not very helpful. (e.g. one project I work on includes many libraries as submodules)

It can also clash with options from other libraries which can break things.
2020-03-23 12:35:32 -04:00
napina bb4bcb442a Merge branch 'master' of https://github.com/assimp/assimp 2020-03-23 10:35:06 +02:00
Max Vollmer (Microsoft Havok) 2006eeed85
Merge branch 'master' into GLTF2_recursive_references_fix 2020-03-23 08:07:25 +00:00
Max Vollmer (Microsoft Havok) 94da6d61a4
Merge branch 'master' into GLTF2_invalid_buffer_fix 2020-03-23 08:03:29 +00:00
Kim Kulling 6f8d96b57e
Merge branch 'master' into kimkulling_dev 2020-03-23 09:00:41 +01:00
Max Vollmer (Microsoft Havok) 973e38ad97
Merge branch 'master' into GLTF2_guarantee_rootnode_fix 2020-03-23 07:57:38 +00:00
napina f0243cc7f3 Changed AI_LMW_MAX_WEIGHTS*2 to 8 which is same thing. 2020-03-22 15:58:12 +02:00
Kim Kulling c0ae9b6040 fix invalid check 2020-03-22 14:21:24 +01:00
Kim Kulling 68a9fa2df3 reformat unittests. 2020-03-22 12:13:09 +01:00
napina d5d30c898b Optimized LimitBoneWeightsProcess. Added SmallVector to reduce heap allocations. Simplified algorithm and removed unnecessary copying. 2020-03-22 12:47:42 +02:00
Kim Kulling 4283e61189 fix clang-compiler warning: wrong move constructor. 2020-03-21 18:25:49 +01:00
Kim Kulling 089ab0693a fix static-code-analysis check. 2020-03-21 18:03:35 +01:00
Kim Kulling 7d624e7f60 obj: add missing init. 2020-03-21 09:00:29 +01:00
Kim Kulling 9f7d9becb2 fix the linux build. 2020-03-21 08:56:49 +01:00
Aaron Franke 1529f9518f
Make file formatting comply with POSIX and Unix standards
UTF-8, LF, no BOM, and newlines at the end of files
2020-03-21 02:34:12 -04:00
kkulling b40769c395 try to fix linux build.2 2020-03-20 13:18:49 +01:00
chenmou.cm 7c3fd351d3 fix no preservePivots bug 2020-03-20 17:19:27 +08:00
kimkulling ac3f08a4d8 fix 3rdparty warnings. 2020-03-20 09:49:36 +01:00
kimkulling 2ee948eb84 fix missing parthesis. 2020-03-19 17:07:21 +01:00
kimkulling 5b8e6832c3 add mssing move constructor. 2020-03-19 16:53:05 +01:00
kimkulling de06c860ea add missing constructor. 2020-03-19 16:20:55 +01:00
kimkulling 9ba014739a fix compiler warning. 2020-03-19 15:25:34 +01:00
kimkulling 4d917c97bd fix warnings detected in vs2017. 2020-03-19 12:58:41 +01:00
kimkulling 68f7f545a9 fix typo. 2020-03-19 11:09:20 +01:00
Kim Kulling 9aa5e3e04f fix new vs2013 warnings. 2020-03-18 21:32:17 +01:00
Kim Kulling 097d2faeea fix vs2013 specific warnings. 2020-03-18 19:31:30 +01:00
kimkulling d1afd97ec2 fix 2 more warnings for vs2013. 2020-03-18 16:48:32 +01:00
Kim Kulling 017b3238ba
Update IFCReaderGen_2x3.h
Fix a typo
2020-03-18 16:20:38 +01:00
Kim Kulling 959446e416
Update IFCReaderGen_2x3.h
Disable warning
2020-03-18 15:52:16 +01:00
Kim Kulling f17b04168f
Merge branch 'master' into GLTF2_recursive_references_fix 2020-03-18 13:58:35 +01:00
Kim Kulling f68c60c7c6
Update StepReaderGen.h
disable warning
2020-03-17 20:32:23 +01:00
Kim Kulling a2fa19aa78
Merge branch 'master' into enable_vs_warning_all 2020-03-17 19:19:29 +01:00
kimkulling a9e8f65941 fix the build - add misisng forward declaration for aiVector3t. 2020-03-16 10:50:07 +01:00
Kim Kulling 27c125ef4d Add 2013-spcific compiler warning disabling statements. 2020-03-15 18:22:49 +01:00
Kim Kulling 856ca9f2dd Fix static-code findings, 2020-03-15 12:16:17 +01:00
Kim Kulling 976091a6f6 ix compiler warning for pragma statements. 2020-03-15 11:47:05 +01:00
Kim Kulling 9e91a33d76 fix review findings. 2020-03-15 10:28:37 +01:00
Kim Kulling 8b6f95ec30 Obj: apply clang format. 2020-03-15 10:21:08 +01:00
Kim Kulling 4210318a34
Merge branch 'master' into enable_vs_warning_all 2020-03-15 10:19:49 +01:00
Kim Kulling 0357333c81 fix all unittests. 2020-03-15 10:17:54 +01:00
kimkulling 255758e6ff fix read for precision-depending data. 2020-03-14 11:16:44 +01:00
kimkulling dc04759492 fix unittests part 2. 2020-03-13 17:00:14 +01:00
Kim Kulling 3c97447c9c
Merge branch 'master' into gltf2_blendshape_export 2020-03-13 13:26:08 +01:00
Yingying Wang 733e5343c8 export blendshape positions/normals in gltf2/glb2 2020-03-12 12:14:17 -07:00
kimkulling b295fda22c fix unittests part 1. 2020-03-12 17:38:42 +01:00
kimkulling 19b40397a9 fix misor findings. 2020-03-11 17:42:10 +01:00
Max Vollmer 3f75ef68ae Assimp guarantees in its docs that mRootNode is never NULL.
glTF2Importer::ImportNodes therefore must always create a root node, or throw an exception.

A GLTF2 file is invalid without a scene, so the importer should throw in that case. For GLTF2 files with a scene without nodes, it should create an empty root node.
2020-03-11 15:47:05 +00:00
Max Vollmer 1bc7c710d6 Added a check to detect and prevent recursive references in GLTF2 files 2020-03-11 09:54:24 +00:00
Max Vollmer 84e060a816 Change: ExtractData throws exception instead of returning false if data is invalid.
Explanation: The return value of ExtractData is never checked anywhere in code. However if it returns false, outData remains uninitialized. All code using ExtractData assumes outData is initialized and proceeds to using it. I haven't encountered a real-life case where this goes wrong - but the simple fact that it can go wrong is a red flag. Instead of relying on every bit of code checking the return value and handling this properly, I think it makes much more sense to have ExtractData throw an exception. It obviously is an exceptional situation, and throwing makes sure that no code that doesn't explicitly handle such a scenario continues running and potentially causing harm.
2020-03-11 09:40:42 +00:00
kimkulling 69551e81ed Merge branch 'enable_vs_warning_all' of https://github.com/assimp/assimp into enable_vs_warning_all 2020-03-11 10:15:25 +01:00
kkulling f8757322be fix warnings 2020-03-11 09:43:55 +01:00
Kim Kulling 7e7555a91b fix compiler warnings in tools and test- 2020-03-11 00:43:44 +01:00
Kim Kulling 02e5698a38 fix linker issues. 2020-03-09 22:49:32 +01:00
kimkulling f3b6b78d4d small refactorings. 2020-03-09 10:55:32 +01:00
Kim Kulling e8d2b84017 clean all warnings for vs-2019 2020-03-08 21:24:01 +01:00
Sebastian Matusik 8b9abc58e7 ifdef the exporters as specifying harsher linker flags than what's in default CMake causes linking issues. 2020-03-04 17:15:09 -08:00
Yingying Wang bb62249f0c fix gltf2 exporter memory crash 2020-03-04 14:52:26 -08:00
Kim Kulling 0b227219b7
Merge branch 'master' into gltf2_broken_bones_count 2020-03-03 11:33:56 +01:00
Kim Kulling 920535165d next fixed warnings 2020-03-01 13:15:45 +01:00
Sebastian Matusik 710dbba52d Trimmed trailing whitespaces 2020-02-28 19:19:10 -08:00
Sebastian Matusik 496fcd35c1 Trimmed trailing whitespaces 2020-02-28 19:17:53 -08:00
Sebastian Matusik 5f35d62d61 Fix for #3037 cause glTF2Importer creating bunch of bones with 0 for vertex with index 0 2020-02-28 18:43:47 -08:00