Commit Graph

1638 Commits (796289754905d53d1f4d4260e0e361070955bdd6)

Author SHA1 Message Date
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
Léo Terziman b367d9b390 Fixed some warnings related to empty statement when using assert & building in release mode 2014-12-18 11:01:16 +01:00
Léo Terziman 469db95cd5 Merge remote-tracking branch 'official/master' into contrib 2014-12-18 10:42:29 +01:00
abma b1221ade64 fix some errors/warnings found by static code analyzer 2014-12-16 23:41:10 +01:00
Léo Terziman 3303f97f13 Merge remote-tracking branch 'official/master' into contrib 2014-12-16 17:48:30 +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
Léo Terziman 940414104a Merge remote-tracking branch 'official/master' into contrib 2014-10-13 14:10:11 +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
Jared Duke a1a1bf77a8 Temporarily disable Blender BMesh conversion
Disable BMesh conversion while associated unresolved issues receive due
attention. Referencing #400, #373, #318  #315 and #132.
2014-10-10 14:16:42 -07:00
Kim Kulling 487c9449d2 bugfix: search for token checks for the given tokenlist against the lowercased info coming from the asset file. So we also have to used a lowercased token. Thanks to Robinson for the report.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-10-10 15:59:42 +02:00
Filip Wasil 88f6e8213b Android JNI asset extraction support (API 9+)
- installation fixes

Signed-off-by: Filip Wasil <filip.wasil@tieto.com>
2014-10-07 17:05:14 +02:00
Filip Wasil 7224476ee1 Android JNI asset extraction support (API 9+)
Signed-off-by: Filip Wasil <filip.wasil@tieto.com>
2014-10-07 16:33:43 +02:00
Gargaj 397989e169 Null-terminate string
In theory it shouldn't be necessary since the length is specified but there are parts like https://github.com/assimp/assimp/blob/master/code/MaterialSystem.cpp#L74 that depend on it.
2014-09-26 01:29:23 +02:00
Kim Kulling a5afbcf29c refactoring: remove duplicate code.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-23 23:34:05 +02:00
abma 775b26e614 use std:: namespace for most cmath functions:
http://en.cppreference.com/w/cpp/header/cmath
2014-09-23 00:43:33 +02:00
Kim Kulling b359deb7fd update:
- add assert test in obj-import
- fix material token in Obj.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-21 20:37:36 +02:00
Jared Duke 4dcd316430 Use strict inequality when validating BMesh uvloop access
Change the inequality to a strict inequality when validating
BMesh uvloop access during face conversion.
2014-09-20 10:23:21 -07:00
Alexander Gessler 6a8f69ad5d Merge pull request #386 from jdduke/rebase_fbx_fov
Rebase FBX regression db entries
2014-09-16 09:37:37 -07:00
Alexander Gessler aac40dd5b8 Merge pull request #385 from jdduke/fix_blend_and_rebase_regression_tests
Fix non-BMesh-containing .blend import
2014-09-16 01:10:53 -07:00
Jared Duke 046b7e5f47 Rebase FBX regression db entries
The FBX importer now properly parses field-of-view tokens. Rebase
only the failing FBX entries to accomodate the fix, also removing
the comment noting the (now incorrect) comment about improper import
of the FOV property.
2014-09-15 18:14:38 -07:00
Jared Duke c482458cae Fix non-BMesh containing .blend import
BlenderBMeshConverter was erroneously asserting that it contained valid
mesh upon construction. The assertion should only occur when
triangulation is requested, allowing non-BMesh blender meshes to load
properly.

Note that this fixes a number of .blend regression tests that are
currently baselined as failures.
2014-09-15 17:19:33 -07:00
Denis Biryukov ab6b5a7b21 Fix gcc warnings. (initialization order) 2014-09-15 23:35:03 +04:00
Jared Duke 35c9a33718 Fix crash for Blender poly to face conversion without UVs
BlenderBMeshConverter assumes that the BMesh has UVs, but that is not
always the case. Handle the non-UV case by only adding a T face when
UVs are present.
2014-09-13 09:43:00 -07:00
Jared Duke 485aa8b39d Fix null check in Q3BSPFileImporter
Reverse the null condition, preventing invalid texture stream
dereferencing. Fixes #380.
2014-09-12 19:37:10 -07:00
Kim Kulling db582ee024 bugfix: replace nullptr with NULL:
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 18:12:18 +02:00
Kim Kulling 49c9786b0a update: avoid mesh generation on heap, when the mesh will be empty ( obj-loader ).
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 15:40:50 +02:00
Kim Kulling 7dff0c6d52 refactoring: remove not use iosystem.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 12:05:42 +02:00
Kim Kulling 75d3c8e9f2 update: metric parsing ongoing.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 12:00:03 +02:00
Jared Duke 43c82b0b38 Remove std::isnan and std::isinf usage from utFastAtofTest
These functions were added in C++11, and should not be used nakedly
in the current code base. Replace them with suitable C++03 constructs.
2014-09-09 16:34:10 -07:00
Jared Duke 66e608a393 Replace cppunit with the googletest framework
The GTest framework has a more active support base, and natively
supports CMake. Introduce it as an external dependency (using CMake's
ExternalProject_Add), replacing cppunit and porting the associated unit
tests.
2014-09-07 16:52:03 -07:00
Kim Kulling c3b35f3933 update: add endline. 2014-09-06 09:19:28 +02:00
acgessler 185f01963f LWO: replace legacy reinterpret_cast based code by memcpy to solve Android SIGBUS problems due to unaligned accesses. Fixes #351 2014-09-04 20:49:48 -07:00
acgessler 1a594b861a Collada: use a counter instead of clock() to generate unique names. Closes #357 2014-09-04 18:50:37 -07:00
Kim Kulling ed9a466c30 update:
- add OpenGEX parser sceleton
- add base datatypes for OpenGEX support.
2014-09-04 19:41:14 +02:00
George Papadopoulos 8bf26065de [FBX] parse upper cased Int/Enum properties 2014-09-01 19:06:59 +03:00
Adam Petrone 625d2b7c4a Fix #325; Blender UV unwrap issue
The BMesh converter might be missing more details, but this should get basic UVs working for now.
2014-08-30 00:50:26 -04:00
Alexander Gessler 201807f733 Merge pull request #350 from Gargaj/ambientlight
Enable ambient lights
2014-08-28 09:20:04 -07:00
Gargaj d333e08343 add ambient light type, allow collada to load it 2014-08-28 16:27:29 +02:00
Gargaj e2401c8b58 fix va_end call 2014-08-28 15:51:01 +02:00
Gargaj 6f828087f9 add stdarg.h 2014-08-28 15:45:48 +02:00
Gargaj 19de24a442 ...and some more assbin leftovers 2014-08-28 15:42:22 +02:00
Gargaj 8f0208e5a8 whoops, still some residue from ASSBIN 2014-08-28 15:41:17 +02:00
Gargaj c47dc2802e convert assxml exporter 2014-08-28 15:38:57 +02:00
Gargaj 2e9195819a start assxml exporter basics 2014-08-28 15:17:53 +02:00
Kim Kulling 7f45f5fc95 bugfix: fix license.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-08-27 23:01:35 +02:00
Kim Kulling 8126dce94d update: add sceleton for OpenGEX importer.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-08-27 23:00:19 +02:00
unknown 9d04a45088 Collada : Add missing parsing <image> into <effect><profile> markup 2014-08-27 10:15:13 +02:00
Léo Terziman e2d9512275 Merge remote-tracking branch 'official/collada_export_escape' into contrib 2014-08-25 10:51:50 +02:00
acgessler 33ffb0003e Collada Export: escape user-defined strings in XML output. 2014-08-23 15:42:47 -07:00
Alexander Gessler fddae20cb7 Merge pull request #338 from jdduke/fast_atof_fix_final
Gracefully handle NaN/inf values in fast_atoreal_move
2014-08-20 19:29:44 -07:00
Jared Duke ed124ccbab Gracefully handle NaN/inf values in fast_atoreal_move
There are legitimate cases where inf/nan values are embeddded in a mesh.
Such values should not cause loading to fail, and indeed, previous versions of
Assimp supported their existence. Update the new fast_atoreal_move method
to gracefully parse such values, allowing case-insensitive checks for "NAN",
"INF" and "INFINITY" as per the atof guidelines found at
http://en.cppreference.com/w/cpp/string/byte/atof.

Note that the inf/nan text parsing is fairly loose, but is fast for the general
case and should handle most legitimate inf/nan values.
2014-08-20 18:42:37 -07:00
Alexander Gessler 7ff7b783ee Merge pull request #335 from abma/master
fix most warnings with -pedantic
2014-08-17 17:49:21 -07:00
abma 6c5f9ecb06 fix most warnings with -pendantic 2014-08-18 02:09:06 +02:00
Alexander Gessler 6636e596ab Merge pull request #334 from jdduke/fbx_binary_fix
Avoid raw reinterpret_casts in the FBX parser
2014-08-17 17:01:10 -07:00
abma 48a772b20b fix compiler warnings:
- defined but not used
- deprecated conversion from string constant to ‘char*’
2014-08-18 00:46:21 +02:00
abma d795491c48 fix unittests on linux / enable on travis-ci 2014-08-18 00:34:45 +02:00
abma 56ddb4f4af fix some compile warnings:
- passing NULL to non-pointer
- unused vars
- unused function
- order of init
- parentheses
2014-08-17 23:28:00 +02:00
abma aafc8d5f3f CMake: changed cached bools into "option" 2014-08-17 23:10:06 +02:00
Jared Duke 69810a2a07 Avoid raw reinterpret_casts in the FBX parser
As reinterpret_cast can break strict aliasing rules, causing runtime failure
on Android, replace such usage in FBXParser with memcpy.  Also provide a
utility routine for both performing the copy and asserting the validity of
the buffer length relative to the copied region.
2014-08-17 08:41:45 -07:00
Kim Kulling 5e265610fb bugfix: add obj-material handling for <color> 0 instead of <color> r g b.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-08-16 11:39:28 +02:00
Gargaj 58b78fa265 comment 2014-08-08 13:10:05 +02:00
Gargaj fa99aa0d3a add remaining specializations
hopefully i didnt mess this up too bad
2014-08-08 12:56:11 +02:00
Gargaj b712bf1770 Change to looped writes
to avoid struct packing issues
2014-08-08 12:46:29 +02:00
Kim Kulling 9f795c64d5 Merge pull request #326 from Gargaj/newprogresshandler
More elaborate progress handler
2014-08-07 11:45:29 +02:00
Kim Kulling 63a110468f Merge pull request #327 from Gargaj/assbinintegrate
Integrate import/export for .ASSBIN format
2014-08-07 11:41:35 +02:00
Gargaj 5886154247 tweaks according to the comments of kimkulling 2014-08-07 11:30:44 +02:00
Gargaj c3977bd132 unify data types 2014-08-07 09:32:00 +02:00
Gargaj 61ecff3474 missed one 32/64 type conversion 2014-08-07 09:30:20 +02:00
Gargaj b53a425fe4 make templates gcc compatible 2014-08-07 09:28:50 +02:00
Gargaj 2775141da3 #include should be outside 2014-08-07 09:07:09 +02:00
Gargaj 3c172988bb remove BUG notices (discussed with acgessler) 2014-08-07 08:43:52 +02:00
Gargaj df4b17d145 code style 2014-08-07 08:26:34 +02:00
Gargaj aa5c1a1a23 syntax 2014-08-07 08:26:04 +02:00
Gargaj 7925dcadba avoid NULL, just in case
(loader might just probably crash anyway)
2014-08-07 08:25:10 +02:00
Gargaj 523d87bbe7 use 0..fileSize as progress metric (easier for loaders) 2014-08-07 08:22:47 +02:00
Gargaj 061911bdbf add support for compressed, drop support for shortened 2014-08-07 08:05:07 +02:00
Gargaj fb546b694e code style 2014-08-06 15:25:39 +02:00
Gargaj 1aeaef2037 add lights and cameras 2014-08-06 15:01:04 +02:00
Gargaj 97c9ce1d5b add animations and textures 2014-08-06 14:44:06 +02:00
Gargaj 886a704c17 some notes to self 2014-08-06 14:43:47 +02:00
Gargaj 5048793096 add material import 2014-08-06 14:21:53 +02:00
Gargaj f38dd8e6e2 add mesh loader 2014-08-06 14:06:08 +02:00
Gargaj ad298cd84f fix code style 2014-08-06 13:29:09 +02:00
Gargaj ac5c1f9df1 add to cmake 2014-08-06 13:27:09 +02:00
Gargaj 87dff6a00e start importer, load nodes 2014-08-06 13:26:26 +02:00
Gargaj 5b512dd9dd add info + header check 2014-08-06 00:52:05 +02:00
Gargaj 9cdecc780b Fix wrong nesting
Otherwise doesn't compile if ASSIMP_BUILD_NO_3DS_IMPORTER is defined because the #endif is inside the namespace block
2014-08-06 00:44:30 +02:00
Gargaj 0f822d38cd add basic framework for importer 2014-08-06 00:39:54 +02:00
Gargaj cd86818888 - add compression support
- remove unneeded code
- change log warning to exception
- document
2014-08-05 23:18:45 +02:00
Gargaj fc9b4e2adf follow assimp code style (tabs) 2014-08-05 22:55:20 +02:00
Gargaj 2592ff0796 convert exporter from tools/assimp_cmd 2014-08-05 22:54:45 +02:00
Gargaj 3d5e1b5cbc add basic framework (files, etc) 2014-08-05 20:54:38 +02:00
Gargaj 6b8cbe5c83 this isn't needed anymore 2014-08-05 00:10:23 +02:00
Gargaj dbc553343c Granulate file loading too 2014-08-05 00:05:18 +02:00
Gargaj dfe1f03e5b Split off postprocessing progress 2014-08-04 23:57:08 +02:00
acgessler 203d5d6fcc Obj: make mtl importer accept kd, ks etc. as well (Kd, Ks being the correct form). This is for keeping up compatibility with assimp's own Obj exporter, which has been inaccurate about this since inception. 2014-08-02 21:18:21 -07:00
Alexander Gessler f5b9f5cb50 Merge pull request #321 from Gargaj/patch-1
Add FieldOfView token type (fixes #245)
2014-08-02 11:38:23 -07:00
Gargaj e5ed62581d Handle both types of element names
MAX seems to add an "s" to "Binormal" and "Tangent" when exporting
2014-08-02 14:57:43 +02:00
Gargaj 11af0866dc Add FieldOfView token type (fixes #245)
"FieldOfView" has its own token type (basically just one float), if it's missing the camera will keep reverting to default FOV in ASSIMP.
2014-08-02 14:47:59 +02:00
Kim Kulling 5d861a8250 bugfix:
- fix gcc-specific compiler warnings.
2014-07-31 15:09:49 +02:00
Alexander Gessler 9eba139feb Merge pull request #317 from assimp/export-3ds
3DS Exporter
2014-07-23 22:26:58 +02:00
Alexander Gessler a07cde4a81 3DS Exporter: export scene hierarchy. 2014-07-23 22:08:35 +02:00
Alexander Gessler 026f32733d 3DS Export: fix texture export. 2014-07-23 20:14:32 +02:00
Alexander Gessler d5db6f39e6 Fix CI build. 2014-07-23 18:54:05 +02:00
Alexander Gessler 6fde07f7e5 Initial implementation of 3DS Exporter. Hierarchy exporting and smoothing groups missing. 2014-07-23 18:27:22 +02:00
Tyson Grant Nottingham 0c5605d07d Don't use isspace() in OBJ file parser. 2014-07-22 21:59:23 -07:00
Tyson Grant Nottingham 79c56adea4 Don't use isdigit() in fast_atof. 2014-07-22 21:58:41 -07:00
Alexander Gessler 0166518132 Extend StreamWriter to write to a buffer and to allow re-positioning of the write cursor within the buffer. 2014-07-22 20:36:16 +02:00
Alexander Gessler 3419fedb3c Add StreamWriter utility (mostly symmetric to StreamReader). 2014-07-22 17:55:37 +02:00
Tyson Grant Nottingham 36c82fe5b0 Allow several spaces between numbers in OBJ files. 2014-07-21 23:03:08 -07:00
Tyson Grant Nottingham 3e9fab3bfc Allow numbers starting with decimal in fast_atof. 2014-07-21 22:43:13 -07:00
Kim Kulling d655199043 bugfix: fix stupid test introduced by myself.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-19 16:22:15 +02:00
Kim Kulling 46ca36cb6f update:
- remove dead code.
- check for a possible division by zero.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-19 14:45:21 +02:00
Alexander Gessler 2edccb7f34 fast_atof: If a literal ends with a trailing dot (.), only parse further if the next character is a digit. In cases where the dot ends the literal (i.e. "1.") this would cause strtoul10_64 to throw an exception. To preserve as much of the old behaviour, we still consume trailing dots though. This "regression" was introduced (exposed) by #261, which added the extra check to strtoul10_64 that triggered here. This commit now fixes #304 (IFC file reading broken due to IFC files containing "(1.,1.,1.)" lists. 2014-07-13 15:08:28 +02:00
Alexander Gessler 7e48c1cce9 FBX: fix memory leak, parsed TokenList never released. See #307. 2014-07-13 14:11:58 +02:00
Alexander Gessler 5ae010028b FBX: fix memory leak. Connection objects in Document never freed. See #307 2014-07-13 14:07:19 +02:00
Andrew Short a30ea8e92c Fix overflow in STL header colour reading.
When reading the STL header for a "COLOR=rgb" part, the bytes were treated as signed chars, when in fact they can range from 0-255. This meant that any value greater than 127 would overflow, leading to an incorrect colour.

This change fixes the issue by treating the header as unsigned chars.
2014-07-13 00:34:08 +10:00
Robin ce37d3bcad Fixed possible bug with map_emmissive keyword and removed second check for ambient texture keyword 2014-07-11 08:11:54 +02:00
Robin afa2d3da94 Improved texture map data in mtl exporter (in most cases an upper first character is used) 2014-07-10 08:26:32 +02:00
Robin 47e7667071 Added alpha texture map (map_d) 2014-07-09 15:51:09 +02:00
Kim Kulling 231e4e0cd0 update: commit not saved changes.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-04 00:23:02 +02:00
Kim Kulling c6b516b68b bugfix: handling possible nullptr access.
update: replace clear be resize( 0 ) at some places to avoid double allocations ( only a micro optimization ).

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-04 00:22:13 +02:00
Kim Kulling b3b732c12b update: some micro improvements, replace post-increment operator with pre-increment operator.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-03 20:33:52 +02:00
Léo Terziman 6d16a5a5b7 Merge remote-tracking branch 'official/master' into contrib 2014-07-03 10:25:47 +02:00
Kim Kulling 0856ff9659 update: replace some clear / push-back by resize( 0 ) / push_back to avoid redundat allocations.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-06-29 21:16:37 +02:00
Alexander Gessler 7abfcd1a4d Merge pull request #300 from eyethereal/fix-obj-exporter-vertex-references
Fixed vertex reference output format in face element for OBJ exporter
2014-06-21 18:55:51 +02:00
Alexander Gessler 1207f84f7b Merge pull request #298 from Madrich/master
Collada fixes, adding XFile Exporter
2014-06-21 18:54:11 +02:00
Madrich 2c34f24497 Fix XFile define 2014-06-21 17:23:30 +02:00
Kim Kulling 9fbc9c4fb7 Merge pull request #301 from eyethereal/obj-exporter-no-name-no-group
OBJ Exporter: No "g" lines with empty names
2014-06-21 15:21:27 +02:00
Nathan Morse 77faf04aa3 OBJ Exporter: No "g" lines with empty names
In the OBJ spec ( http://www.martinreddy.net/gfx/3d/OBJ.spec ), in the section labeled "Grouping" -> "Syntax", the structure of the "g" group statement is defined. Though this statement allows multiple names on a single line, it is unclear whether there must be at least one name on the line. However, the examples don't show any "g" group statements with no names. So, let's be conservative and not write out a "g" group statement that doesn't have a name. These empty "g" statements were prompting an error message from the three.js OBJ loader code.
2014-06-20 16:06:04 -07:00
Nathan Morse d10d20f62f Update ObjExporter.cpp
In the OBJ spec ( http://www.martinreddy.net/gfx/3d/OBJ.spec ), in the section labeled "Referencing groups of vertices", there is no support for allowing a trailing slash with no valid vertex normal reference at the end. This commit modifies the vertex reference output code to prevent this behavior, as it has been causing compatibility issues with other software that parse OBJ files.
2014-06-20 15:08:29 -07:00
Madrich 1cb01c54a3 Fix IOSFixed
Fix Author/AuthoringTool in Collada by MetaData
2014-06-20 00:08:11 +02:00
Alexander Gessler be5fc42e16 Fix memory corruption in the aiGetExportFormatDescription() API. Clarify Exporter doc. 2014-06-17 16:10:55 +02:00
Alexander Gessler 75fd29ac19 SceneCombiner: implement proper copying of meta data. This entire module will need to be revamped in future as it is highly likely to cause further regressions as assimp data structures are modified. 2014-06-17 15:18:10 +02:00
Alexander Gessler d044ce7a62 FBXConverter: avoid creating an empty metadata slot (UDP3DSMAX was erased from list _after_ its size was taken)/ 2014-06-17 14:31:14 +02:00
Alexander Gessler 244f981f6a ObjExporter: cleanup code. Fix bug writing normal: normals would not be transformed by world transform. 2014-06-17 14:15:48 +02:00
Gregory Jaegy 5efc0207f3 Merge branch 'master' of https://github.com/assimp/assimp 2014-06-13 10:59:16 +02:00
Gregory Jaegy 16ae05eeeb obj loader: added multiline support
collada loaded: bug fixed when importing several files, whith one containing animation
2014-06-13 10:56:10 +02:00
Madrich edc7a950c4 ReFix the stuff before
Fix XFileExporter Normal
Fix Collada (Triangle->Poly)
2014-06-11 00:41:18 +02:00
EdgarsT 8549e4b1b1 fixed OgreImporter compilation error with boost scoped_ptr 2014-06-10 19:58:02 +03:00
Madrich 272a59cd36 Fix convertToLH for uv coordinates
Fix Collada export
Fix XFile export
2014-06-10 13:14:41 +02:00
Madrich c4021fbaaf Fix Collada export validated by Schema 2014-06-09 15:17:45 +02:00
Madrich 77cec96d74 Fix collada 2014-06-07 21:17:31 +02:00
Madrich ec2ce90654 Add Scene Author + AuthorTool
Add XFileExporter
Add Collada Triangle+Line export
Fix Obj Comment
2014-06-06 01:56:54 +02:00
Alexander Gessler 1403cabb71 FBXParser: fix compiler warning on double -> float. 2014-06-01 17:34:11 +02:00
Madrich 9ddd459fe8 Extend Collada Exporter using lines and triangles 2014-05-31 12:50:11 +02:00
Jonne Nauha fe87b09246 Move pstdint.h for <= VC9 under include. Apps that include the Assimp headers need to have this available, as its pulled in by metadata.h. Fixes #290. 2014-05-30 01:57:21 +03:00
arkeon b2ac7b878f Correction on FBX material texture UV index
(keep the previous method for "allMaterials" option, this should be change too since the materials indexes used are not the good ones, or just remove the object / material test
2014-05-27 09:11:27 +02:00
Alexander Gessler 62554a055d Merge pull request #285 from jdduke/blend_fix_mirror_winding
Properly orient mirrored blend mesh faces
2014-05-25 01:34:52 +02:00
Jared Duke d9b65f9bd8 Properly orient mirrored blend mesh faces
If the mirrored axis count is odd, the face orientation has logically
been inverted.  In such cases, the winding order should be inverted as
well, easing the burden on applications sensitive to index ordering
(e.g., one-sided renderers) to detect and fix such issues after import.
Add this functionality for .blend meshes.
2014-05-24 08:49:33 -07:00
Alexander Gessler 1b6b238f09 FBX: fix handling of string metadata. Before, we would accidentially confuse aiString and std::string and trigger a debug assertion. 2014-05-22 16:22:38 +02:00
Alexander Gessler becd298e77 FBX: use memcpy() instead of reinterpret_cast or union to populate a float from a blob, causing SIGBUS errors on Android due to memory alignment of the source blob not being a multiple of 4/8. This fixes #24. 2014-05-22 16:17:42 +02:00
Léo Terziman 274a6ce1ff Fixed space 2014-05-21 15:59:13 +02:00
Jonne Nauha 8a5041ea11 Merge remote-tracking branch 'upstream/master' into ogre-binary 2014-05-21 04:55:09 +03:00
Jonne Nauha 43e620e04a OgreImporter: Fix UV flip for binary meshes. Fix exception XML parsing when positions are declared in a previous vertex buffer than the currentl parsed one (that has eg. UVs). Remove debug prints from material parser. 2014-05-21 04:37:45 +03:00
Jonne Nauha f8e1dcb102 OgreImporter: Mirror bool return for XmlSerializer as it is in BinarySerializer. Document its meaning. 2014-05-21 04:06:22 +03:00
Jonne Nauha 1129ae5a6e OgreImporter: Implement binary skeleton serialization. Fix bone/animation matrix stuff to be simpler (aka read as Quats to internal structures). Cleanup code for pull request. 2014-05-21 04:00:11 +03:00
Jonne Nauha cf9b705829 OgreImporter: Move skeleton functions to the end of file (after mesh functions). Put all constant to same place in the file. Implement support for 'animationlinks' (skipped) and bone 'scale' (read to Bone but not utilized atm). 2014-05-21 00:09:30 +03:00
Jonne Nauha 0b937c5a4b OgreImporter: Proper rewrite of the XML parser to OgreXmlSerializer. Now more robust for XML sources, previously had hardcoded expectations on the child node ordering. Implement common Skeleton class for both binary and xml serialization. Implement shared IVertexData with proper bone assignment to Assimp bone weights functionality. 2014-05-20 04:52:53 +03:00
Léo Terziman 311f5b47ca Fixed bug during compilation with mingw & improved git revision support for automatic up to date revision number. 2014-05-19 14:36:24 +02:00
Jonne Nauha 75598f69b7 OgreImporter: Format code and move commented verbose debug logging behind internal OGRE_BINARY_SERIALIZER_DEBUG. Thow deadly importer error on clear invlid mesh file errors. 2014-05-18 12:30:16 +03:00
Jonne Nauha 4b16b182be OgreImporter: Implement Ogre binary mesh support (.mesh). All Ogre3D SDK media samples tested to work. Assimp repo does not yet have binary versions of Ogre meshes. 2014-05-18 11:57:44 +03:00
Alexander Gessler d531945888 Merge branch 'master' of github.com:assimp/assimp 2014-05-16 14:58:01 +02:00
Alexander Gessler 908b945f50 BoostWorkaround/shared_array and shared_ptr: fix checks for whether the boost originals are included already. Fixes #277 2014-05-16 14:57:33 +02:00
James Lupiani 427eaad642 Fixes #158 via anonymous user 2014-05-12 12:04:19 -05:00
Alexander Gessler 04f0075b63 Change default extension for binary STL exports from stlb to stl 2014-05-12 12:50:21 +02:00
Kim Kulling f6925db3d8 update: add cmake_mimimum_required statement to each cmake file
for consistency
2014-05-10 10:31:42 +02:00
Jonne Nauha eea8099b05 RemoveRedundantMaterials: Fix crash bug when unreferenced materials were destroyed. The logic only rebuilt the material list if there were redundant materials being removed. This is a clear bug as it left freed aiMaterial ptrs into the list and did not fix the scene->numMaterials to be correct, even when deleting materials. This crashed later on in the ComputeUVMappingsProcess that accessed the freed ptr. 2014-05-09 01:33:30 +03:00
Léo Terziman f8b79acb36 Fixed compilation errors on OgreImporter with Visual Studio 2012 2014-05-05 10:25:04 +02:00
Kim Kulling 1ec72cdddb Release candidate 2 : 3.1
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-05-04 19:17:51 +02:00
Kim Kulling 392730be07 bugfix: export processes for unittests.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-05-04 16:02:52 +02:00
Jonne Nauha 9ad74e461e OgreImporter: Added brackets for all conditional etc. statements, even when there is a single line as requested by @kimkulling. I'm still not sure about the coding convention but looked for guidance in the obj importer code. Now newline before { if only one line and no else/else if after it, othewise a newline before it. 2014-05-03 00:20:17 +03:00
Jonne Nauha 22a4215c06 OgreImporter: Remove unnecessary comments. 2014-05-02 01:54:42 +03:00
Jonne Nauha dcf6002bed Try fix travis ci produced build errors on gcc and clang. 2014-05-02 01:38:13 +03:00
Jonne Nauha 409c2cf332 OgreImporter: One more function cleanup. 2014-05-02 00:56:35 +03:00
Jonne Nauha 283394d695 OgreImporter: Cleanup skeleton related code and code that populates the assimp scene. Tested skeleton/animation imports and it seems to work correctly now. 2014-05-02 00:28:14 +03:00
Jonne Nauha f5c7b283bc OgreImporter: Cleanup and bugfixes to OgreSkeleton.cpp. This was actually so badly broken that it did nothing if the mesh referenced a binary skeleton. Now logs a warning for this case and tries to read from .skeleton.xml like the original author intended it to work. The assimp skeleton is still broken, I will fix that later on when I (eventually) get to that part of the code. 2014-05-02 00:28:13 +03:00
Jonne Nauha 45715df263 OgreImporter: Forgot to rebuild after filename changes so broke the build. Fix includes, add include guards and ASSIMP_BUILD_NO_OGRE_IMPORTER to missing places. 2014-05-02 00:28:12 +03:00
Jonne Nauha fcb97bb595 OgreImporter: Rename .hpp to .h. Shuffled parsing utils to a single file. 2014-05-02 00:28:12 +03:00
Jonne Nauha f98584cdea OgreImporter: Remove unnecessary m_currentX state. Improve and clean OgreMaterial: split tech/pass/texture_unit to their own functions. Document missing features and potential bugs. Improve the original authors 'detection from texture filename' logic (enabled with AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME). Add generic detection from texture unit name, which is commonly used in Ogre materials. 2014-05-02 00:28:10 +03:00
Jonne Nauha 6c51fa2072 OgreImporter: Continue cleanup. 2014-05-02 00:28:09 +03:00
Jonne Nauha 09517b342b OgreImporter: Started cleanup and refactoring. Aim is to get this into a shape that its easy to read and understand before I start making any new features. 2014-05-02 00:28:09 +03:00
Kim Kulling 825a61fbc0 update:
- update version info for 3.1
- aiGetVersionRevision will now return the git tag.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-05-01 11:32:15 +02:00
Kim Kulling d1886daf5a Merge branch 'master' of https://github.com/assimp/assimp 2014-04-29 00:06:14 +02:00
Kim Kulling fbaf89492d bugfix: Obj-importer is now able to deal with 3d-texture coordinates.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-04-29 00:04:54 +02:00
Léo Terziman 7c3a039349 Merge remote-tracking branch 'official/master' into contrib
Conflicts:
	include/assimp/matrix4x4.inl
	include/assimp/vector2.h
	include/assimp/vector3.h
2014-04-22 14:32:59 +02:00
Kim Kulling 129e4318e6 Merge pull request #255 from xantares/master
mingw|cmake fixes
2014-04-22 08:49:59 +02:00
tszirr 25c2dd58de fix: smoothed normal qnan handling & more stable smoothed normals for imprecise geometry w/ long thin faces 2014-04-21 23:12:51 +02:00
tszirr 0a01da7242 fix: optimize meshes when vertex & primitive format final 2014-04-21 22:52:50 +02:00
tszirr 8699021f17 fix: OptimizeMeshes w/o SplitLargeMeshes was disabled due to obscure max_verts = 0 assignment 2014-04-21 22:40:48 +02:00
xantares 0e62405406 use standard BUILD_SHARED_LIB option. Install dll to <prefix>/bin (mingw) 2014-04-21 21:36:33 +02:00
Kim Kulling aae01c47ad bugfix: fix compiler warnings for gcc-4.8.1. 2014-04-21 16:18:14 +02:00
Kim Kulling a6044e125e Merge pull request #249 from attila-barsi/master
Initial version for FBX layered textures.
2014-04-01 16:02:16 +02:00
attila-barsi 4f36e85bd8 Added required changes to doc and protection from nullptr. 2014-03-31 10:30:04 +02:00
Kim Kulling 38de6a658d bugfix:
- fix redundant checks against nullptr ( see https://github.com/assimp/assimp/issues/241 ).

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-03-27 20:33:08 +01:00
DoubleLee 2e3b602c0b Aspect Ratio fix, and comment about field of view. 2014-03-26 16:44:49 -05:00
attila-barsi ed9204ab1b Initial version for FBX layered textures.
Fixed assert during parsing UDP3DSMAX.
2014-03-24 11:46:36 +01:00
Léo Terziman 1f3be52079 Merge remote-tracking branch 'official/master' into contrib 2014-03-24 10:44:57 +01:00
Léo Terziman 2dd6726c02 Changed order of some post processing steps in order to switch coordinate system as early as possible because pretransform now accept external matrices for the root transformation & this matrice should imperatively be in the same system coordinates as the rest of assimp structures 2014-03-24 10:43:07 +01:00
Léo Terziman 358819c1a0 Fixed error in GetProperty when accessed from external libraries using a different language (using swig for example) 2014-03-20 15:32:12 +01:00
Alexander Gessler 331158e410 Merge pull request #237 from frederikaalund/master
Added support for heterogenous metadata on aiNode
2014-03-20 02:23:07 -04:00
Léo Terziman e9fa779a65 Fixed error when compiling with mingw 2014-03-19 15:45:12 +01:00
Léo Terziman 82cc038a83 Merge remote-tracking branch 'official/master' into contrib 2014-03-19 10:18:47 +01:00
Judith Hartmann 7d1a704ed7 saves value in the 'Ke'-Attribute in ObjMtl Files in COLOR_EMISSIVE 2014-03-16 21:30:10 +01:00
Frederik Aalund 595529ef8b Refactored the metadata for inner consistency. 2014-03-15 08:37:45 +01:00
Frederik Aalund a8401ba377 Added support for heterogenous metadata on the aiNodes. 2014-03-14 14:17:34 +01:00
Léo Terziman 8fad549649 Merge remote-tracking branch 'official/master' into contrib 2014-03-10 17:21:26 +01:00
Léo Terziman 77263c631f Fixed unzip support to use IOSystem/IOStream abstraction 2014-03-10 17:21:17 +01:00
Léo Terziman 29e3b82238 Fixed some header files in CMakeLists 2014-03-10 17:20:14 +01:00
Frederik Aalund f65e5d5487 Fixed a compile error due to a >> expression in a nested template statement. 2014-03-09 17:04:27 +01:00
Frederik Aalund 9eb8677aba Added unparsed FBX properties to the aiNode's metadata. This allows the
user to extract extra/custom/user attributes/properties from the scene
graph. E.g., extracting attributes set under "extra attributes" in Maya.
2014-03-09 16:18:05 +01:00
Kim Kulling 84b66092d7 Merge pull request #217 from lousyphreak/master
Fix 3DS instances loading, fixes #151
2014-03-06 00:07:33 +01:00
Kim Kulling 34882177a9 bugfix: install_name should be set to absolute path to installed library in macosx build #226
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-03-06 00:06:19 +01:00
Kim Kulling ec2b8dd3fa bugfix:
add handling for special cases for the uv-calculation:
- When 3 vector have same UV, using default UV direction:
- When 2 vector have same UV, recalculate tangent/bitangent according to normal and bitangent/tangent.

Thanks to Ya ping Jin.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-03-05 23:25:49 +01:00
Léo Terziman 172c917c37 Merge remote-tracking branch 'official/master' into contrib 2014-03-03 12:47:45 +01:00
Alexander Gessler 5c95848f51 Merge pull request #224 from VirusFree/master
[FBX] Do not rename null nodes. Preserve information in node metadata.
2014-03-02 10:41:28 -05:00
YoheiKakiuchi 08324b8095 fix miss commit at 8e35ea59d5 2014-03-01 20:34:57 +09:00
Léo Terziman f54c85d4e6 Added custom root transformation for pre-transform vertices post-process step 2014-02-28 15:32:43 +01:00
Léo Terziman 843e56c252 Added matrix properties 2014-02-28 15:21:10 +01:00
Léo Terziman b90718bd21 Merge remote-tracking branch 'official/master' into contrib
Conflicts:
	code/IFCLoader.cpp
2014-02-26 18:06:46 +01:00
Kim Kulling fd4cd67edb Merge pull request #218 from YoheiKakiuchi/fix-ply-parse
remove SkipSpaceAndLineEnd after parsing end_header in PlyParser.cpp
2014-02-26 16:42:18 +01:00
George Papadopoulos 2db48ef532 [FBX] Do not rename nodes if they are marked as null in fbx. Preserve this information in node metadata.
Use can use node.Metadata.Get("IsNull") to check. (returns "true" or "false")
2014-02-23 12:27:34 +02:00
George Papadopoulos 5ef8c09dbb Use AiNode's metadata to keep per-node(and per-instance) FBX (3dsmax) UserDefinedProperties
Also simplify metadata structure to avoid unnecessary allocations (and make it easier for wrappers like AssimpNET to read it)
2014-02-22 21:57:01 +02:00