Commit Graph

3158 Commits (48eed0d2c68dfb3565ae0821a93666850424e403)

Author SHA1 Message Date
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
aramis_acg a83183d95f # fix transposed memset() parameters -> replace by fill_n
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@978 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-06 20:26:55 +00:00
aramis_acg e241749511 # FileSystemFilter now skips over empty paths as opposed to crashing on them.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@977 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-03 22:47:14 +00:00
aramis_acg b18615d0fa + add .URL website shortcuts to root folder
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@976 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-05-02 17:38:59 +00:00
aramis_acg 73d109c7cc # bugfix [3295074]: copy'n'paste bug in ReadSamplerProperties would cause y-axis sampler state to be assigned to the respective x values.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@975 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-29 21:32:13 +00:00
aramis_acg 3fe2a40193 # bugfix [3294475] - ASE BUMP map record not read
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@974 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-29 17:37:08 +00:00
aramis_acg a5210b2765 - fix some issues with the SimpleOpenGl sample:
* Material's shininess would not be set if strength wasn't defined too;
 * Two-sided culling was working the opposite way, GL_CULL_FACE actually removes back faces when enabled;
 * GL_COLOR_MATERIAL should not be enabled for mesh->mColors since it replaces other materials, it now sets vertex color only. Also, it now uses glColor4fv directly. 
Thanks to Ricardo Costa for the patch (http://sourceforge.net/projects/assimp/forums/forum/817653/topic/4502991).
- some doc and formatting fixes in the very same sample.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@973 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-25 11:29:07 +00:00
aramis_acg 4aed392d03 # add missing newline at EOF
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@972 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 22:23:20 +00:00
aramis_acg e400dc46ef # fix gcc compile errors
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@971 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 21:43:51 +00:00
aramis_acg 6f30639d7f - refraing from using magic numbers like 0xffffffff all over the repository, rather use UINT_MAX/SIZE_MAX ..
- minor re-formatting and refactoring at some old code spots.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@970 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 21:29:18 +00:00
aramis_acg 14c6467aac # re-generate regression dump database from scratch since it seems that ~200 of the files were totally deprecated. This gives me 99.4% reproducible results with Blender.bob still failing.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@969 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 21:23:22 +00:00
aramis_acg 3547ca173b + add the test file that led me to find the bug I fixed with r967. This file has been created by Blender 2.4.1.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@968 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 20:06:39 +00:00
aramis_acg 1ac640f08b # fix small layout issue in assimpview
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@967 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 20:03:26 +00:00
aramis_acg 4ddddbc381 # Blend: fix loading of UV coordinates for models older than Blender 2.42
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@966 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 19:43:18 +00:00
aramis_acg 3ac2f700dd - update minidump database
- improve output formatting for run.py

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@965 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 17:15:33 +00:00
aramis_acg 7807c15e65 # fix portability problem with the Hsieh hash, which I had introduced accidentially.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@964 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 17:14:21 +00:00
aramis_acg 07dd50c975 # fix a critical portability problem in the mini dump writer code (it still depends on the endianess, but no longer on integer size).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@963 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 17:11:54 +00:00
aramis_acg ea3372f232 # pk3: fix CanRead()
# fix small typo in Importer.cpp

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@962 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 16:08:31 +00:00
aramis_acg 5a2d2d08e2 # regression test suite: fix critical bug that would cause all postprocessing flag except th first to be ignored.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@961 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 15:57:00 +00:00
aramis_acg 2ecbf3f244 # PretransformVertices: fix crash during scene destruction if the resulting scene is empty
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@960 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 15:55:34 +00:00
aramis_acg 5576b31aa6 # MD5 loader: fail early for empty files
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@959 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-04-22 15:54:42 +00:00