Commit Graph

42 Commits (e09d88fa592f1f3e4043a8ce131b584068084056)

Author SHA1 Message Date
Léo Terziman 843e56c252 Added matrix properties 2014-02-28 15:21:10 +01:00
Léo Terziman e2676ec176 Implementing UTF8 to ISO-8859-1 conversion to improve chances of finding files in zip archives 2014-01-17 11:48:27 +01:00
Léo Terziman 4e7b59be55 Improving homogeneity of DEBUG macro for improved portability with compilers other than Visual Studio 2014-01-17 11:43:48 +01:00
aramis_acg 53665faacf - make BaseImporter::GetExtensionList more robust, improve error checking.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1237 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-04-22 22:59:47 +00:00
aramis_acg 5a81b42ebe - add mFileExtensions field to aiImporterDesc, BaseImporter::GetExtensionList is now longer virtual since this would be redundant.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1234 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-04-22 22:26:26 +00:00
kimmi d17071746d Bugfix : Removed some unnecessary const_casts. ( merged from GitHub, thanks to Riku Palomäki ).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1223 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-20 21:11:05 +00:00
kimmi b724ac5c2c - Bugfix : Fix build of Obj-FileImporter ( this is currently only a work-around, loader is leaking memory, I am working on it ).
- Update : Merge fixes from GitHub, thanks to Riku Palomäki ( more fixes will merged soon ).

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1213 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-20 20:31:14 +00:00
aramis_acg 4dbf539b44 - update license header. Update copyright year and unify naming: our name is 'assimp', not 'ASSIMP'.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1147 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-03 03:38:30 +00:00
aramis_acg 3f369342d6 - Redesign the C interface to allow per-import settings.
- Make C-API threadsafe even without boost (no longer a global importer <-> scene map).
- Cleanup headers.
- Change the way how Importer::pimpl is accessed - all users are no longer friends of Importer to avoid spoiling the public interface. Rather, pimpl is exposed via a public member function and anyone having the definition of ImporterPimpl can access it.

THIS IS A BREAKING API CHANGE for anyone using properties with the C API. It is, however, a huge step forward and finally makes our C API functionally equivalent to the C++ interface.

I hope we can adapt all ports as soon as possible. I'd be grateful if the respective maintainers could do this.

Documentation is not yet up to date.

All this is in anticipation to the upcoming 3.0 release, which I'm actively working on.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1111 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-13 14:07:58 +00:00
aramis_acg 665f73861e - move importer and postprocessing step construction chain to separate files to make them available to the exporter part.
+ introduce aiScene::mPrivate. This is a potentially breaking API change. The new member is added at the end of the structure though, so serious regressions are not to be expected.
+ add a mPreprocessing parameter to all Export API calls. Allow exporters to specify further PP steps to be executed prior to handing control to them. The entire export API now operates on a copy of the scene that the user passed in.
- mass refactoring: all constructors of BaseProcess/BaseImporter inherited classes are public now and Importer will perhaps feel a bit sad after having loft all of its friends.
# fix const correctness in SceneCombiner


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1060 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-01 20:58:31 +00:00
aramis_acg 9edc0a9b8e merge with git://github.com/tonttu/assimp.git
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1029 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-06-09 14:29:32 +00:00
aramis_acg 94767ecf8c Merge https://github.com/tonttu/assimp
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@903 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-02-20 00:01:52 +00:00
aramis_acg c5c5338397 Add first version of the planned progress feedback API to the public Cpp API. Currently, progress reporting is done between each major import stage.
Fix various issues with the vc9 solution and assimp_cmd.
Declare some more Importer methods const. This marks them as safe to use from within a progress callback.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@806 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-26 18:16:12 +00:00
aramis_acg 81bebcd0ec Add basic support for the IZWARE NENDO file format (extension: ndo). The loader has been tested with files in format version 1.0, 1.1 and 1.2. Materials and textures are read but ignored for now.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@791 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-09 08:24:16 +00:00
aramis_acg 32bfa9ac21 Add WIP version of the BLENDER importer. DO NOT USE FOR PRODUCTION YET!
Loads static meshes. Sometimes (it segfaults on the rest). No materials, cameras, fancy stuff. Works with all versions of blender. No compressed blend files yet.

- StreamReader now uses shared_ptr's to manage ownership of the stream.
- Adapt other loaders accordingly.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@717 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-05-10 10:22:24 +00:00
aramis_acg 7cea2eb497 Change date in license header to 2006-2010. This involves updating quite a few files, sorry.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@661 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-10 15:30:22 +00:00
aramis_acg 762a7df46a Revamp exception handling. ImportErrorException renamed to DeadlyImportError to avoid silent regressions. Exceptions now thrown by value, and caught by reference. Put guards in all C++ and C API functions to avoid unwanted exception propagation across module and language boundaries.
PLEASE TEST CAREFULLY IF THIS SHOULD CAUSE REGRESSIONS.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@617 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-18 17:00:12 +00:00
aramis_acg 17326515d4 Get rid of warnings on GCC4.4 with -wall
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@541 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-06 23:52:41 +00:00
aramis_acg a251827cb9 Adding support for Unicode input files to most text file loaders (BVH and MD5 missing for now).
IrrXML receives memmapped UTF-8 input data now, it's own (faulty) conversion is not used anymore.
aiString's are explicitly UTF-8 now.
Slight refactorings and improvements.
Adding UTF-8/UTF-16 text files for ASE,obj,collada,ac3d. These contain various japanese/chinese character sequences.
Changing assimp_view's node view to display UTF-8 multibyte sequences correctly.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@469 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-08-21 22:49:58 +00:00
ulfjorensen 12070a1d52 Bugfix: made various internal structures namespace-local to avoid strange linker issues in case of name conflict
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@466 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-08-18 16:17:27 +00:00
aramis_acg afcfdf27ea Fixing crash at Importer::IsExtensionSupported().
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@411 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-27 19:58:34 +00:00
aramis_acg 9abcba4bc2 Integrating aiProcess_OptimizeGraph and aiProcess_OptimizeMeshes back into the Assimp core. They're stable enough now.
Moving private members of Assimp::Importer to a pimpl, hopefully solving strange crashes with vc9 debug builds.
Updating assimp_cmd to reflect these changes.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@403 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-24 20:53:24 +00:00
aramis_acg a3b32f306c Adding a file system filter layer to correct invalid paths automatically.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@381 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-10 21:59:22 +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 d70c092b71 MD3
- rough support for multi-part player models.

SceneCombiner
 - added support for cross-attachments of nodes in the whole graph

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@345 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-02-12 22:14:35 +00:00
aramis_acg 58eb786d62 Major API cleanup. Unified formatting & doxygen tags in the public API.
Added factory provider for default log streams.
Added default log streams to std::out and std::cerr.
Updated VC8 project config, boost workarounds is now working for the viewer.
Updated unit test suite.
Fixed some minor issues in the postprocessing-framework.

BROKEN: DebugDLL build.




git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@292 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-12 22:06:54 +00:00
aramis_acg b73cb1c569 HMP loader returns quads now, cleaned up the code a bit. Still longer than necessary.
BVH loader supports arbitrary rotation/translation orders now. Fixed a crash issue, added test models with ZYX and ZXY rotation order.
Updated CREDITS.
'Beautified' pushpack/poppack.
Collada loader does now also load XML files if 'COLLADA' is found in the header.
Fixed path issues in several IRR test files.


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@282 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-10 17:58:06 +00:00
aramis_acg e48d1a4e5a Tracker ID [2485593], patch by John Connors for better Linux/Scons support.
Removed BCC55 workspace. 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@274 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-01-08 22:15:05 +00:00
aramis_acg fd9e6edc19 Further work on the IRR, AC, LWS loaders. Further work on the - still unfinished - OptimizeGraph step. SceneCombiner works now properly in all cases I tested yet.
Added missing 'typename' in Colladaparser.h
First implementation of spherical and cylindrical mapping, already in use for IRR and LWO models. For the latter the coordinate system is not yet correct.
Moved vec2d to a separate header and added operators similar to vec3.
Added plane and ray helper classes. Just the data is wrapped, no operators required for the moment.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@249 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-11-26 13:17:39 +00:00
aramis_acg 32342857d8 ASE and 3DS cleanup - face ordering improved.
Further work on target camera animation support in both loaders. Some general animation problems in both formats remaining, too. 
Added GenUVCoords and TransformUV-steps (see ML). The latter has been fully implemented, test file are there. GenUVCoords is a dummy for the moment.
Boost workaround for shared_array.
Further work on the documentation.
Updated material system (see ML).
Bug fixing in the AC loader, lights are now supported, too.


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@243 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-11-16 21:56:45 +00:00
aramis_acg a7088d6263 Rewrote 3DS loader to support BE - added temporary light & camera & animation support. few models not working anymore, transformation bug still unsolved.
Fixed normal vector handling in the ASE loader. Improved animation & camera & light support - as for the 3DS Loader, still in the works.
Fixed AC - Loader. It is now able to load models with complex hierarchies correctly. Added a small workaround for Quick3D, which writes invalid AC files.
DXF-Loader skips {...} blocks produced by 3DS Max & AutoCad correctly now.
DefaultLogger doesn't repeat identical log messages now.
FindInvalidData-Process removes empty or dummy animation tracks now.
LWO-Loader recognizes complex shaders (such as Fresnel) correctly now. Other LLWO bugs still unsolved.
Fixed bugs in the Ply parser, causing non-triangular faces to crash.
Added some additional helperutilities to StreamReader.
Fixed a bug in ProcessHelper.h causing SPlitLargeMeses and SortBxPType to crash for meshes containing many bones.
Changed OB default material from black to gray.
Added additional test fils: ply (bugfix), ase (animation), QUick3D & Irr (in the works), STL (export from 3DS Max)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@210 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-31 19:32:00 +00:00
aramis_acg 3d3b9719f8 Fixed third-person camera movement bug in the viewer.
Fixed a bug that caused the viewer to render "random" polygons in some special cases. 
ASE: Added parsing support for *GROUP nodes. Improved light & camera handling (still WIP). Fixed a bug that was caused by a recent change. Improved logging.
Updated PretransformVertices. The step works now (and supports line and point meshes). Important: The position of the step in the pipeline has changed. No unit test yet.
Minor fixes to SortByPType. Added a config option that allows users to specify which primitive types they don't need. 
Added WIP version of an Irrlicht Scene Loader (.irr).
Added a small helper class ("BatchLoader") to make it easy for loaders to load subsequent meshes from external files (needed for irr and lws).
Added test models for IRR. Added dwarf.x from the Irrlicht repository (readme included) to the test X files.
[Current TODO: Fix bugs in: AC, 3DS, LWO. Finish MDR and OG. Implement: IRR, LWS. Write some more ut's ... ]

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@197 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-27 00:36:26 +00:00
aramis_acg ce6ce098e9 Removed aiProcess_FindDegenerates from the viewer. The step seems to cause some problems that have not yet been solved.
Added irrmesh (Irrlicht Mesh Format) loader to Assimp. Works quite stable, but no lightmapping support yet.
Removed tinyxml, replaced it with irrxml instead. Added an IOStreamToIrrXML wrapper.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@194 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-10-24 20:37:54 +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 7d21c02e28 ASSIMP Beta 1, final fixes for the release.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@141 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-09-13 22:31:15 +00:00
aramis_acg 6fe8c867e8 Refactoring ... added documentation, simplified some parts of the code and migrated some class declarations in separate files.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@100 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-08-08 18:34:14 +00:00
aramis_acg 758e092449 Added validation step, added helper macro AI_BUILD_KEY to the material system.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@59 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-06-15 10:27:08 +00:00
aramis_acg 70f155e515 MakeVerbose moved to subdirectory
pp step c'tors are protected now
viewer changes
JNI additions - JNI BUILD CURRENTLY NOT WORKING

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@43 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-05-26 21:28:19 +00:00
aramis_acg 8c002e6998 Changed "Free" to "Open", Java build configs, port directory added, intellij idea5.1 project file added
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@25 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-05-22 10:20:31 +00:00
ulfjorensen 71fa1b508e - corrected all local include paths so that there are no "additional include paths" necessary in the build configuration anymore
- wrote some further documentation text
- moved ObjFileParser.h to the code directory

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@23 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-05-21 15:35:28 +00:00
aramis_acg db9c5fef2b - ASE loader alpha
- MDL loader stable
- 3ds bugfixes,
- API extensions
- New viewer features - WIP
- Support for C

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@11 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2008-05-09 17:24:28 +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