Commit Graph

33 Commits (806d3ac8e15bf4112dbb7ece7dba8cfc4e688bd0)

Author SHA1 Message Date
George Papadopoulos 54ce3d843f fix for strtol10_64 2015-04-05 16:40:40 +03:00
George Papadopoulos da3c347a57 add strtol10_64 and fix FBX text parsing for int_64 (for animation KTime) 2015-04-05 15:19:55 +03: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
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 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
Tyson Grant Nottingham 79c56adea4 Don't use isdigit() in fast_atof. 2014-07-22 21:58:41 -07:00
Tyson Grant Nottingham 3e9fab3bfc Allow numbers starting with decimal in fast_atof. 2014-07-21 22:43:13 -07: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
Léo Terziman 0bf4aea9d5 Improved fast_atof (bis) 2014-01-17 11:47:37 +01:00
Léo Terziman 3e55dca943 Improved fast_atof 2014-01-17 11:46:44 +01:00
Pavel Rojtberg 6920c433fd add missing include to fast_atof.h 2013-08-07 14:29:17 +02:00
aramis_acg 687a4644d6 # fast_atof: fix comma handling.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1209 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-20 16:29:57 +00:00
aramis_acg 16b3d19f7f # fast_atoreal_move: avoid floating-point casts. Compilers have trouble optimizing this.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1144 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-02 22:53:26 +00:00
aramis_acg 5716c4b007 - Set AI_FAST_ATOF_RELAVANT_DECIMALS to 15. This may cause regressions.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1126 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-31 16:28:19 +00:00
aramis_acg c12fadc93b - make fast_atof_move a template and rename it to fast_atoreal_move.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1125 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-31 16:18:32 +00:00
aramis_acg 6f30639d7f - refraing from using magic numbers like 0xffffffff all over the repository, rather use UINT_MAX/SIZE_MAX ..
- minor re-formatting and refactoring at some old code spots.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@970 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 21:29:18 +00:00
aramis_acg 0fc965da91 Rename strtolxxx family of functions, all functions returning unsigned integers now carry an 'u' in their name (this is for compatibility with Irrlicht's fast_atof see http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=243079#243079).
strtol10 -> strtoul10
strtol16 -> strtoul16

strtol8  -> strtoul8
strtol10_64 -> strtoul10_64
strtol_cppstyle -> strtoul_cppstyle
strtol10_s -> strtol10


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@923 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-03-23 14:26:19 +00:00
aramis_acg 74d9339274 - Change AI_FAST_ATOF_RELAVANT_DECIMALS to 10.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@880 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-12-27 15:59:06 +00:00
aramis_acg 4c1b5a532d Add first WIP version of a TrueSpace loader. Currently only ASCII COB/SCNs are supported.
Add some fast_atof overloads to simplify calling it.
Add another convenience c'tor to aiColorMM.
Add COB test models.
Remove unreferenced member in B3D importer.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@633 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-02 04:17:05 +00:00
kimmi 5c1804f3ad - BUGFIX : Fixed compiler warning ( constant condition ).
- BUGFIX : Fixed compiler warning ( not referenced parameter ).

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@490 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-10-10 11:59:00 +00:00
aramis_acg 25088fd7da FIX: IrrMesh lightmap scale factor is imported correctly now.
FIX: aiProcess_TransformUVCoords tried to transform untransformed channels, and 'he' changed their order from time to time.
FIX: Viewer displays lightmap with scaling factor correctly now.
Further work on documentation, material doc is WIP for the moment.
Some improvements to fast_atof.
Updating makeifle.mingw to reflect my new boost location (arg, too lazy to make it better ...). 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@413 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-05-03 21:49:34 +00:00
aramis_acg acdbf77c6e Fixing a rare bug when parsing floating-point numbers in exponent form. Thanks to zhao lei to point it out.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@388 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-15 14:16:11 +00:00
aramis_acg 4bbc03332b General
- Added format auto-detection to most loaders
  - Simplified BaseImporter::CanRead() with some utility methods
  - improved fast_atof -> no overruns anymore. Fuck you, irrlicht.
  - added assimp_cmd tool to allow command line model processing. Mainly adebugging tool for internal purposes, but others might find it useful, too.
  - vc8/vc9: revision number is now written to DLL version header
  - mkutil: some batch scripts to simplify tagging & building of release versions
  - some API cleanup
  - fixing some doxygen markup (+now explicit use of @file <filename>)
  - Icon for assimp_view and assimp_cmd

3DS
  - Normal vectors are not anymore inverted in some cases
  - Improved pivot handling
  - Improved handling of x-flipped meshes

Collada
  - fixed a minor bug (visual_scene element)

LWS 
  - WIP implementation. No animations yet, some bugs and crashes.
  - Animation system remains disabled, WIP code
  - many test files for LWS, but most of them test the anim support, which is, read above, currently disabled.

STL
  - fixing a log warning which appears for every model
  - added binary&ascii test spider, exported from truespace

MD3 
  - Cleaning up output tags for automatically joined player models.


IRR
  - Fixing coordinate system issues. 
  - Instance handling improved.
  - Some of the reported crashes not yet fixed.

PretransformVertices
  - Numerous performance improvements.
  - Added config option to preserve the hierarchy during the step.

RemoveRedundantMaterials
  - Added config option to specify a list of materials which are kept in every case.

UNREAL
  - Added support for the old unreal data format (*.a,*.d,*.uc)
  - tested only with exports from Milkshape
  - more Unreal stuff to come soon



git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@356 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-03-05 22:32:13 +00:00
aramis_acg c865999420 Collada
- collada 1.5.0 textures are readable now
 - cube and volume maps and mip initializations are skipped
Material system
 - unified texture types. Added lightmap, displacement, reflection and 'unknown'. Everyone should be happy now (intending to remove ambient textures from the API).

ComputeUV
  Changed mapping axis property to vec3 
  Adapted step
   WARN: produces mirrored uv coords now. LH issue.

IRR  
  Updated to new texture types

3DS
  Updated to new texture types

NFF
  Updated to new texture types

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@340 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-11 20:56:05 +00:00
ulfjorensen 85a487f6b8 - Bugfix: ColladaLoader node rotation was miscalculated
- ColladaLoader now supports more primitive types
- ColladaLoader now honours the up-vector specification
- moved Collada temporary structures to separate Helper header
- fast_atof_move() now also eats localized numbers with comma separator (e.g. 0,3210) correctly

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@251 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-11-26 15:45:34 +00:00
aramis_acg 383a614931 Fixed some minor issues in the AC loader. However, it still crashes with large and complicated models. Line handling is complete.
Moved the code to find degenerated primitives to a separate step that is not anymore active by default. 
The FindInvalidData-Step isn't active by default now. It hast a flag and must be explicitly requested.
Added line and point handling code to the CalcTangentsStep - not yet tested.
Added support for the Sense 8 (WorldToolKit) NFF file format. The format uses the same file extension as the "Neutral File Format" (and is implemented in the same loader). Seems to work well, added test files for it.
Added itoa10 function - so we have itoa on all platforms.
Small optimizations in the SortByPType step.
Fixed the material validation: textured meshes without uv coords cause a warning now.
Fixed a minor isses with the OFF loader.
Added empty unit tests for the new steps - to be filled in the next days. 
Added SceneCombiner.cpp. It contains utilities to join meshes and scenes. The latter will be needed by the LWS loader (LWS files contain references to external LWO files and the LWO loader is already to complicated that it would make sense to add an additional code path to it). Mesh joining is needed by some pp steps, but the code has not yet been moved to its new location.
Added WIP light & camera support to the ASE loader. Works for the moment, but there's much missing. ASE parser refactored, the code is still quite long but at least cleaner. Fixed a bug that caused ASE to import invalid texture coordinates.
Makefiles and VC8 solution are up-to-date. The rest isn't.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@192 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-22 20:06:16 +00:00
aramis_acg 2da2835b29 Fixed bug in the AC loader causing lines to load incorrectly. Seems to work now.
Added some more essential includes to AssimpPCH.hAdded support for line and point meshes to most steps - I did nto yet adapt all unit tests, so meshes with mixed primitive types are not absolutely safe at the moment.
Added camera and light support to the PretransformVert step. Fixed some small inaccuracies and fixed a bug reported by Mark Sibly causing all transformations to be invalid. However the step is nto yet completely correct, there are still some small artifacts.
Updated light and camera data structures, added temporary validation code for the
Renamed AI_SCENE_FLAGS_ANIM_SKELETON_ONLY to a more generic AI_SCENE_FLAGS_INCOMPLETE flag.
Fixed bug in the OFF loader causing meshes with polygons to crash
Added line support to the DXF loader - seems to fail for the moment cause of SortByPType.
Added support for lights and cameras to NFF, implemented another NFF format subtype (file starts with 'nff'). Implemented NFF 'tpp' chunk and a corresponding texture extension.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@185 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-19 11:32:33 +00:00
aramis_acg 1db46c242f Added temporary boost workaround - some assimp features work with reduced functionality in this case.
Added AC-loader, WIP version.
PLY loader is now able to load models from blender, test model added. Refactoring.
Added FindInvalidData step.
Added support for precompiled headers, the release builds in VC8 are configued to use PCH now.
Added separate makefile for mingw, no -FPic warning anymore, -clear works now.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@176 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-13 16:45:48 +00:00
aramis_acg 9279513700 Optimized GenVertexNormal-Step.
Added SharedPostProcessInfo-class to allow pp-steps to interact with each other.
Used this new feature for some cross-optimization between the steps: SpatialSort is now solely computed once, not up to three times.
3DS bugfix - orientation was wrong.
ASE normal vectors - although they are normally wrong and not orthonormal they are working now.
Fix in fast_atof.h - 1.45E45 (major 'E') is handlded correctly now.
Improvements on jAssimp, still WIP and not working.
Some LightWave bugfixes, still WIP.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@164 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-27 16:46:05 +00:00
aramis_acg 56563016b0 Added DXF implementation. No support for polymeshes yes, just 3DFACE elements are implemented.
Added strtol64s function, refactored SMDLoader.cpp to use it.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@120 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-05 13:21:01 +00:00
aramis_acg f13edd8acf Fixes from Andrew Galante for build with gcc4. LWOB materials finished, some research for LWO2. Unit tests are working again. Added makefile and project workspace for xcode3 (from Andrew, too).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@110 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-13 23:46:46 +00:00
aramis_acg 2f36cc5f5f Added MD5 (md5mesh works, md5anim has not yet been tested) and STL. new unittests, although not yet complete (material system, normals). Bugfixes (GFn and MDL7). Added HMP5 support. Rewrote MD2 and MD3 to be more stable.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@77 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-06 23:01:38 +00:00
kimmi b76f999cb7 Initiual commit: AssetImporter source moved from ZFXCE repository to its own repository. PLease do not use the ZFXCE repo any more.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-05-05 12:36:31 +00:00