Commit Graph

259 Commits (2ba3d956d1220be84b63ef707c9314dc37eceb41)

Author SHA1 Message Date
aramis_acg e479355d0a + add aiImporterDesc API to hold importer meta information.
- cleanup some Importer APIs: FindLoader -> GetImporter, add some utility APIs. Note that this is a breaking API change.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1232 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-04-18 23:07:52 +00:00
aramis_acg 397603bac0 + add XGL/ZGL importer. Some features (includes, object refs, textures not supported yet).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1210 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-20 16:52:33 +00:00
jonathanklein 3ed356d3c4 Ogre Importer: Support for Shared Geometry, as exported by Blender2Ogre for Blender 2.6 (still experimental)
CleanUp for OgreImporter (splitted the big file in smaller ones)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1190 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-07 22:42:40 +00:00
jonathanklein 521088e134 Ogre:
- better support for OgreXmlConverter generated files

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1177 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-20 10:27:27 +00:00
jonathanklein eebba5348d - Added Debug Postfix
- added Viewer Installer

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1172 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-18 10:55:47 +00:00
aramis_acg 08fe2e7d20 + add Ply exporter.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1169 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-16 02:11:29 +00:00
aramis_acg 6fa251c2f2 - unify naming of all header files. Obviously, this is a breaking change that affects all users.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1150 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-03 17:04:06 +00:00
aramis_acg 075b1acaf0 - move include/ to include/assimp/ to have consistent header locations between installed and trunk version.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1148 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-03 16:25:12 +00:00
aramis_acg ea3f655c57 - templatize math library. All standard math classes (i.e. aiMatrix4x4) have been replaced by templates which are usually named like the old type with a 't' postfix. For compatibility, typedefs to replace the old types exist. For the C interface, these still map to raw structures.
While principally backwards-compatible, this is still a breaking change since I also changed some method signatures (i.e. aiVector3t<TReal>(TReal) is now explicit). Normal users should not be affected, though.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1129 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-02 02:06:08 +00:00
kimmi 16a5bef3ba Bugfix: Bugfixes fror VS 2010 with CMake ( thanks to Jonathan Klein ).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1124 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-25 18:42:14 +00:00
aramis_acg ad759f6efe - Ifc: use a combination of clipper and poly2tri to triangulate arbitrary polygons with arbitrarily-shaped holes (the former to workaround the cases not supported by the latter ...). Issues with doors et al. (i.e. openings touching the outer contour of a wall polygon) remain and are yet to be solved. Overall, this change should make IfcLoader much more robust, though. Since this means that the previous algorithm to triangulate walls is dropped altogether, regressions are highly likely.
Note 1: there are cases in which the previous algorithm may have produced 'better' triangles, but my big hope is that poly2tri's CDT implementation will implement more advanced refinement algorithms over time.

Note 2: This issue http://code.google.com/p/poly2tri/issues/detail?id=34 is relevant, first versions of my poly2tri embedding would indeed stackoverflow or assert. I somehow avoided this by using Clipper as prepass and scaling the entire polygon to 0..1 range (as recommended).


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1118 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-17 01:49:17 +00:00
mmathias01 2c0b36bc45 Update CMake environment to accept BUILD_STATIC_LIB option to allow building of static library for platforms that require it (such as iOS). Sorry if I overstepped any bounds here; feel free to revert if required.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1088 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-11-24 10:59:09 +00:00
aramis_acg 45b0ccfc92 + experimental STL exporter.
- improve process handling during exporting. This is still WIP.
+ BaseProcess::RequireVerboseFormat.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1062 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-04 11:27:13 +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 c58480d608 + first version of OBJ exporter
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1056 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-19 21:41:59 +00:00
aramis_acg a7e43173db git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1046 67173fc5-114c-0410-ac8e-9d2fd5bffc1f 2011-07-17 01:09:56 +00:00
kimmi cd963608c6 Feature : Add first M3-format deta definitions and a prototype importer for M3-models. Many thanks to libm3 for their great work ( see http://code.google.com/p/libm3/ ).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1040 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-15 11:13:42 +00:00
aramis_acg 81ad224f84 - IFC: Refactor source to simplify maintenance.
- IFC: rate all available representations by a simple ranking system and take the one that is easiest to load. This should avoid loading the same geometry twice. Also it might result in quality improvements when BRep geometry is avoided in favour of extrusion geometry.
# IFC: Various bugfixes related to geometry loading.


git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1033 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-06-14 15:58:22 +00:00
aramis_acg 68a10dd1b0 + add dummy implementation of make_shared to boost workaround (unlike the original, it does *not* offer any performance benefits).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1023 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 17:38:22 +00:00
aramis_acg e7c9e4d5aa [3309083] Allow external unzip, and buildsys cleanup (many thanks to Rick Mattes for the patch).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1011 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-30 14:13:33 +00:00
aramis_acg bce502c0bc - update CMakeLists.txt, fix a small typo
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1003 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-13 00:54:53 +00:00
aramis_acg c05acabea9 - update cmake build environment, now includes targets to build debian packages for Assimp.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@997 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-09 19:34:21 +00:00
aramis_acg c55509132b - IFC: implement automatic conversion from polygons with holes to polygons that consist of only one piece and are thus applicable to triangulation by ear-cutting. This solves many of the broken windows that would fall victim to z-fighting in earlier revisions.
- IFC: reduce logging overhead
- Move parts of IFC and BLENDs logging code to a shared implementation.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@994 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-09 18:00:55 +00:00
aramis_acg 1400ae79e7 + add first prototype version of the IFC-STEP loader. Loads many test models fine but does not support some of the more sophisticated format features.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@979 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-06 23:55:38 +00:00
aramis_acg a6e0a5075f + integrate Debone-Process into Assimp. This step was contributed by mick-p, see [3262561] (https://sourceforge.net/tracker/?func=detail&aid=3262561&group_id=226462&atid=1067634)
- refactor ProcessHelper.h. Some functions now reside in ProcessHelper.cpp, which is new.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@946 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-15 15:09:53 +00:00
aramis_acg 2c83543b39 - remove aiAssert, use a plain assert instead. This removes the exit() call in Assimp.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@943 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-06 12:06:40 +00:00
aramis_acg f8add9bb22 -add missing unit to cmake script for assimp_cmd, fix linux build trouble.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@934 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 11:44:09 +00:00
aramis_acg 4bde6808b2 - CMakeLists: turn on export functionality by default, offer NO_EXPORT option to turn it off.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@931 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 11:21:34 +00:00
aramis_acg ee827e8870 - update CMakeLists. However, the export interface still remains disabled.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@914 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-03-08 16:15:09 +00:00
aramis_acg 4a88e50aa4 - revamp DXF loader. It now correctly distinguishes BLOCKS and ENTITIES and resolves cross references to entities from a block. Support for block-based coordinate-space transformations. Better polymesh handling. Improve error reporting. Refactor loader structure: the class itself is now stateless, reading is done using LineSplitter.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@905 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-02-22 19:58:29 +00:00
kimmi f1d02ecd5d - UPDATE : Add missing files for export-API.
- UPDATE : Disable export API for temporary until implementation is finished.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@890 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-01-09 19:39:42 +00:00
kimmi bd92f15128 - BUGFIX : Fix aiQuaternion::nomalize method.
- UPDATE : Improve performance by avoiding multiple divisions.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@873 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-11-27 13:53:34 +00:00
klickverbot 140efeadc0 Bump the SOVERSION on CMake builds as well.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@855 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-11-21 19:01:22 +00:00
klickverbot 76e15fd5c9 Use the *_SECURE_NO_WARNINGS defines for MSVC 2010 as well.
MSVC is Windows-only anyway, so I removed the extra check.
The version check could probably be just MSVC since I can think of no way the defines would break older or future versions.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@840 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-11-10 21:54:05 +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
klickverbot 9cc61781d0 Changes forgotten in the previous commit – the code was moved out to the top-level CMakeLists.txt.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@803 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-08-25 16:55:38 +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 aae8637666 Add GLOB_MEASURE_TIME configuration option to profile the runtime of the postprocessing steps.
Start new documentation page for Performance/Profiling questions.
Migrate existing notes on multithreading to a new doc page, add more details.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@772 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-07-08 22:44:44 +00:00
aramis_acg d082330cea BLENDER: Fix potential stack overflow caused by a DOM object referencing itself.
Add general infrastructure to apply modifiers.
Implement mirror and subdivision modifiers using existing stuff.
Update BlenderDNA with related structures.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@763 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-07-07 14:50:19 +00:00
kimmi f017b5a4a4 - FEATURE : First version of PK3 format loader.
- FEATURE : First prototype of Quake 3 BSP format loader.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@755 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-06-18 17:36:46 +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 630005619b Add missing boost workaround files to CMakeLists.txt.
Boost workaround's shared_xxx stuff now matches boosts documented API.
Add shared_array.hpp to boost workaround (forgot to commit it when I added shared_ptr.hpp).

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@668 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-11 02:46:52 +00:00
aramis_acg 01a25c1fb4 Get rid of ./extra folder in ./code. Move contents to main code folder.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@664 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-04-11 01:41:24 +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
aramis_acg 22ec6b0c1f Remove typo from CMakeLists
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@622 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-19 22:37:29 +00:00
jonathanklein 25416b494f further work at Ogre Importer:
- split some code to OgreImporterMaterial.cpp
- Animation keys now are absolute, like required
- WorldToBoneSpace is now BoneToWorldSpace (hence we compute the inverse and the variable is renamed)

Animations still don't work really, so this version has basically no new features

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@621 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-19 20:45:40 +00:00
klickverbot ac8479f542 Moved private headers to code/ as discussed; removed boost::random workaround which was no longer needed; CMake cleanup part two (Boost detection, …).
Please be quick to suspect this commit if the build should break on Windows/MSVC.

(Again, sorry for the large commit, but I didnt want to flood the commit log with my git-style tiny commits.)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@577 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-03 21:48:23 +00:00
klickverbot ee6c6e5187 CMake cleanup, part one (sorry for the large commit).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@576 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-03 21:46:56 +00:00
kimmi 78f27eef13 BUGFIX : Fix incorrect INSTALL target.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@558 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-27 14:04:14 +00:00
kimmi 7050ae5a3d - UPDATE : Add Install target to CMake build.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@556 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-27 12:00:00 +00:00
aramis_acg 707b06a7fe Add experimental MS3D loader, static meshes only at the moment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@542 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-02-07 00:54:48 +00:00
aramis_acg 2e3fee99f0 ADD Vertex utility class to simplify conversion from and to interleaved vertices.
Refactor JoinVerticesProcess to utilize the new utility.
ADD basic operators for aiColor4D, move to dedicated header and implementation file.
ADD some utility functions to SpatialSort.
ADD my existing Catmull-Clark implementation to Assimp for all model formats with support for subdivision surfaces. Slightly WIP, likely to produce errors on non-closed meshes. Currently only implemented in the AC3D loader.
Switch to byteswap intrinsics instead of inline assembly (bswap). Currently MSVC only.
FIX phong shading in assimp_view.
VertexTriangleAdjacency class now also works on arbitrary polygons - UNTESTED, tbd.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@532 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-01-28 21:17:25 +00:00
jonathanklein 8cfb2e26cf - Ogre Importer Beta
- Ogre Importer Documentation
- Extended the general documentation at some points

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@476 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-09-05 12:04:32 +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
kimmi 7ae85f56fa Bugfix: Remove local header from CMake script.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@426 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-05-28 17:32:36 +00:00
aramis_acg d7b4dd6ae3 Adding very basic reading support for CSM (CharacterStudio Motion). No proper hierarchy reconstruction yet, just plain marker import.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@408 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-26 15:09:03 +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
kimmi ea085bddd1 - Remove crt- and secure-warnings for VC8.0 in cmake enviroment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@391 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-18 11:24:00 +00:00
kimmi 0ec4348188 - Add first prototype for CMake enviroment.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@390 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2009-04-18 00:10:16 +00:00