Alexander Gessler
f7680f7f28
- Ifc: refactor code, move opening generation and boolean clipping code to separate units.
2013-02-07 09:51:33 +01:00
Alexander Gessler
35128a7251
- update vc9 workspace.
2013-01-30 13:00:51 +01:00
Alexander Gessler
b993509087
- update vc9 workspace after merge.
2012-12-21 16:28:30 +01:00
Alexander Gessler
bae9db2f03
Merge branch 'master' of git://github.com/assimp/assimp
2012-12-21 16:24:05 +01:00
aramis_acg
f507994299
- Ifc: vastly improved algorithm for fixing up window caps.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1345 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-12-19 02:24:06 +00:00
Alexander Gessler
ef0dcaaea2
- fbx: refactor, move DOM utility functions to separate unit.
2012-08-10 23:02:38 +02:00
Alexander Gessler
ffbac847ef
- fbx: add DOM classes for light and camera node attachments. Devise a new macro-based system to easily define dynamic fbx properties.
2012-08-10 22:58:54 +02:00
Alexander Gessler
24ce9495fd
- fbx: add binary reading draft. Started from scratch after my first attempt had design flaws. The binary reader now sits on the lexer stage (really) and generates a (fake) token sequence similar to the text lexer's output - this means most parsing code can go unaffected.
2012-08-09 02:08:12 +02:00
Alexander Gessler
06acead438
- fbx: read deformers (Skin and Cluster).
2012-07-26 18:05:24 +02:00
Alexander Gessler
b66dfc85e1
- fbx: read NodeAttribute and Camera.
2012-07-26 03:42:02 +02:00
Alexander Gessler
67c55990cd
- fbx: initial code to read animations plus the accompanying DOM classes.
2012-07-21 00:45:37 +02:00
Alexander Gessler
bf79c83bf2
- fbx: read node hierarchy and assign model material indices. Cache already converted materials and meshes to make FBX instancing work as intended.
2012-07-04 16:33:21 +02:00
acgessler
00f249b8dd
- fbx: add property system
2012-07-02 15:57:51 +02:00
acgessler
6ddb1c9aa7
- fbx: refactor code
2012-07-01 14:38:14 +02:00
acgessler
8ce0a3df9f
Merge branch 'master' of github.com:acgessler/assimp-gsoc2012-fbx
...
Conflicts:
code/FBXImporter.cpp
code/FBXTokenizer.cpp
code/FBXTokenizer.h
code/FBXUtil.h
2012-07-01 14:18:16 +02:00
Alexander Gessler
d7270aa278
- fbx: skeleton for DOM -> aiScene converter.
2012-06-28 20:02:09 +02:00
Alexander Gessler
05bc8ab684
- fbx: add ImportSettings to keep track of fbx-specific import settings. The settings are generated by the importer instance and injected into parser and DOM.
2012-06-28 19:16:14 +02:00
Alexander Gessler
25dfbdf58d
- fbx: add DOM layer to represent the parsed FBX file in-memory, capturing the essential semantics we need for importing.
2012-06-26 18:31:19 +02:00
Alexander Gessler
c9d9fcdfd1
- fbx: parser working now. Drop shared_ptr's in favour of raw pointers to reduce memory overhead (a pity - I want unique_ptr and move semantics in C++03).
2012-06-25 23:03:06 +02:00
acgessler
6c5efe471f
- fbx: fix various issues with tokenizer. Stricter error checking and better debuggability. Do not use shared_ptr's for tokens, there are simply too many of them and ownership is always clear.
2012-06-25 17:31:42 +02:00
acgessler
ff995307ac
- fbx: further work on broadphase tokenization.
2012-06-25 16:10:35 +02:00
acgessler
18b2aebcb1
- FBX importer: basic interface and importer skeleton. Start tokenizer and parser.
2012-06-23 03:36:55 +02:00
aramis_acg
adfef670cc
- rename assert.h to ai_assert.h. See also https://sourceforge.net/tracker/?func=detail&atid=1067632&aid=3520178&group_id=226462
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1240 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-04-22 23:14:39 +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
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
aramis_acg
2d7b59e134
- update vc9 vcproj
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1196 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-11 19:20:25 +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
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
aramis_acg
90fb1525b1
# fix vc9 pch settings
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1120 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-17 02:06:12 +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
aramis_acg
3aad6f8b6d
- add M3 loader to vc9 workspace.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1098 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-12 00:05:23 +00:00
aramis_acg
9d85c8834d
- extract MaterialHelper and move all of its members to aiMaterial in /include.
...
- pull in IOhannes' patch to set the gcc default visibility for all symbols to NO and to mark ASSIMP_API with __attribute__ ((visibility("default"))).
- drop unneeded ASSIMP_API from most internal classes in /code, we just need to keep some exports on Windows to keep AssimpView alive.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1066 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-22 20:22:51 +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
97ce1d2bcd
# fix vc9 project file
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1054 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-18 03:06:03 +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
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
ccd4a9d78d
# fix include path to <unzip.h> for hand-maintained vc9 solution
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1012 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-30 14:41:57 +00:00
aramis_acg
f522143909
+ IFC: use custom triangulation algorithm to generate walls with openings. Introduce a configuration option to toggle the triangulation implementation.
...
# IFC: fix bug in boolean clipping code leading to polygons having undefined normals.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1006 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-18 18:08:18 +00:00
aramis_acg
bbd7547fff
- Further work on IFC, fix transformations, support non-uniform transformations, optimize loading, use recursive algorithm to resolve holes in polygons, implement CSG logic to generate wall openings. The latter is currently disabled.
...
- Triangulation step now automatically drops polygons with an area of zero.
- Add debug preprocessor switch to dump all triangulations to a separate file.
- Refactoring, collect some polygon related functions in a separate header, PolyTools.h
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1002 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-13 00:52:50 +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
95e0148f95
- IFC: directly keep a pointer to the class name in STEP::Object. This avoid hacking around with typeid().name(), which yields platform-dependent results.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@992 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-08 20:08:28 +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
d2a1a3f2c0
# update vc9 workspace
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@947 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-15 15:10:50 +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
7e2f322dc8
- updated hand-maintained vc9 projects.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@932 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-03 11:24:10 +00:00