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
ulfjorensen
2de55ee880
Bugfix: apply transformation as well when filtering out empty proxy nodes in XFile imports. Thanks to Magnus Norddahl for the patch
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1028 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-06-08 12:25:03 +00:00
aramis_acg
323b9d8400
# make source UV index for tangent space computation configurable via the AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX option.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1027 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-06-02 14:02:30 +00:00
aramis_acg
2f4989a35d
# include <memory> and <typeinfo>, which were missing if compiled with the boost workaround enabled
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1026 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 18:15:50 +00:00
aramis_acg
1aab7e4a5e
# noboost.tuple: prefix access of nested, but dependent templates with template<> for ISO compliance
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1025 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 18:14:16 +00:00
aramis_acg
89b6c2b288
# make noboost`s BOOST_FOREACH work with const containers
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1024 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 18:13:13 +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
b9f14beb76
- IFC: use boost::make_shared to cut the number of allocations by 50%.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1022 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 17:37:17 +00:00
aramis_acg
326b11b72f
# bugfix boost workaround, shared_ptr didn't offer a const operator*
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1021 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 17:35:17 +00:00
aramis_acg
a4e371af4b
# fic gcc compile error caused by a temporary beeing accidentially bound to a non-const reference
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1020 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 14:33:46 +00:00
aramis_acg
1e2dd3eefc
- IFC: use smart pointers to keep STEP-SELECT entities in the converted output data structures. This allows us to free the original parameter tuples early as ownership of their members can be transferred. This cuts down memory overhead to 8x (assuming a typical x64 builds) and reduces loading time on average by ~5% as measured on my system.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1019 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 14:23:43 +00:00
aramis_acg
0db3f8b3f4
+ add 3 test cubes to improve testing coverage of the x file format. The compressed cube is a test for the previous commit, r1012, which fixed a bug in the x loader.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1018 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 13:34:57 +00:00
aramis_acg
228be125cf
# really fix false negative reading compressed x files. Silently ignore out-of-bounds indices.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1017 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-31 13:27:52 +00:00
aramis_acg
15565c4858
# IFC: fix potential crash during merging of polygon boundaries
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1016 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-30 21:04:11 +00:00
aramis_acg
23ea1ac97d
# STEP: reduce memory overhead of STEP reader. A typical x64 build now has approx. 10x overhead (compared to the size of the file being read), as opposed to 20-40x that it had before.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1015 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-30 20:17:57 +00:00
aramis_acg
bf7b1d3514
# IFC: track references only for the types for which we actually need reverse indices. On average, this results in a 10% reduction in memory usage and a 5% speed improvement.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1014 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-30 15:38:48 +00:00
aramis_acg
af8533a0bf
# IFC: add workaround to read malformed files that contain IFCSIUNIT elements with the first field not set, which is not allowed by the IFC2X3 specification.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1013 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-30 14:52:39 +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
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
799ae75d67
# Obj: add missing check for empty normals, which caused models with no or partial normal sets to fail in some cases.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1010 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-29 20:38:46 +00:00
aramis_acg
d467b5bb27
# improve robustness of IFC loader: filter out duplicate points, adjacent colinear edges, silently ignore zero-vertex polygons. fix various small bugs and improve numeric stability of some code segments.
...
- workaround: silently drop very small nested polygon boundaries to avoid cases where a large polygon brep (i.e. a slab) has extremely holes that are so extremely small in comparison to the dimensions of the outer polygon that the resulting numeric accuracies make the triangulation fail. I guess the ultimate solution would be a delauney triangulator with extremely high numeric stability, however this is difficult to achieve.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1009 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-29 19:16:52 +00:00
aramis_acg
73a7fdf200
# fix potential off-by-one error when reading compressed X files.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1008 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-29 11:11:47 +00:00
aramis_acg
78b44c3aed
- IFC: slight optimization, take less memory.
...
# IFC: try to make normals point outwards, if possible.
# IFC: implement recursive polygon merging, but leave it disabled since it seems to fail on very complicated polygons with multiple, nested boundaries.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1007 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-21 15:38:39 +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
3a021e934e
# IFC: fix loading of the IFF2X2 scheme.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1005 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-13 01:14:38 +00:00
aramis_acg
fc5ab64790
# q3bsp: quick compile fix
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1004 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-13 01:03:08 +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
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
kimmi
e23767a170
Bugfix : Set right extension for Q3bsp loader
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1001 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-11 17:28:12 +00:00
aramis_acg
cbceae960c
# IFC: forgot to include <iterator>
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1000 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-10 20:51:52 +00:00
aramis_acg
ee64441305
- IFC: initial implementation of boolean clipping (simple kind of CSG). Currently only supports clipping against unbounded planes.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@999 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-10 15:37:40 +00:00
aramis_acg
f64f0446db
- IFC: implement the IfcRevolvedAreaSolid and IfcCircleProfileDef entities. Improve vertical extrusion code.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@998 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-10 12:30:13 +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
2907c35641
# IFC: correct some error messages, skip over some unneeded elements (i.e. bounding boxes) automatically with no warnings.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@996 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-09 18:39:13 +00:00
aramis_acg
f3ff403a91
# add missing template<> declarations that would screw up gcc
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@995 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-09 18:03:55 +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
6a9e0f57d4
# fix vc10 compilation issue, thanks for Stepan Hrbek for the patch.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@993 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-09 13:44:58 +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
27ee419355
# fix crashbug in rtrim(), hackpatch STEP::Object::GetClassName() for gcc
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@990 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-08 00:17:16 +00:00
aramis_acg
a283c2ef91
# IFC: drop rt flag for opening the file stream
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@989 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 23:41:17 +00:00
aramis_acg
af8058498e
- StreamReader now should be able to deal with files opened in text mode.
...
# rename StreamReader::_Begin() to InternBegin(), underscore+capital letter is reserved in C++.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@988 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 23:40:36 +00:00
aramis_acg
f3bd6ac49b
# use a more or less heuristic approach to fix the face winding order automatically. Overall things look much better now and normals are 100% right for most models.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@987 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 20:53:51 +00:00
aramis_acg
5ac47b9873
# don't run cache optimization if mesh fits into cache anyway ...
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@986 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 19:29:33 +00:00
aramis_acg
50b780e21e
# work on IFC face winding, but the extensive use of mirroring in IFC screws things up. Add a documentation node that one should better render them with bf culling turned off.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@985 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 16:57:58 +00:00
aramis_acg
f6c6cd9d9f
- update documentation. Add section on IFC and fix some typos and unambiguities.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@984 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 13:41:35 +00:00
aramis_acg
4116ec7a6a
# fix global orientation for IFC models
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@983 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 13:14:56 +00:00
aramis_acg
36d3a60c40
# fix obj crashes due to out-of-bounds indices in the input files. This fixes models/invalid/malformed.obj and models/invalid/malformed2.obj.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@982 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 11:14:06 +00:00
aramis_acg
785b2c0ac3
+ add two malformed obj files. Currently those will crash Assimp.
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@981 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 11:13:06 +00:00
aramis_acg
8b89edecfa
# fix -noboost
...
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@980 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-07 00:23: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