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
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
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
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
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
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
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
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
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
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
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