Commit Graph

49 Commits (73174b7081625efe6020ea0e7a2d7809ee0331c5)

Author SHA1 Message Date
Alexander Gessler f6f8462113 Update IfcLoader to use numeric_limits<uint32_t> instead of UINT32_MAX, fixes gcc build and is more consistent with the rest of the codebase. Fixes #471. 2015-02-28 13:40:10 +01:00
ulf b71ded1ad0 - manually merged C4D importer code from acgessler branch
- manually merged IFC bugfixes and improvements from schrompf branch
2015-02-23 14:23:28 +01:00
Léo Terziman 1f3be52079 Merge remote-tracking branch 'official/master' into contrib 2014-03-24 10:44:57 +01:00
Frederik Aalund 595529ef8b Refactored the metadata for inner consistency. 2014-03-15 08:37:45 +01:00
Frederik Aalund a8401ba377 Added support for heterogenous metadata on the aiNodes. 2014-03-14 14:17:34 +01:00
Léo Terziman b90718bd21 Merge remote-tracking branch 'official/master' into contrib
Conflicts:
	code/IFCLoader.cpp
2014-02-26 18:06:46 +01:00
George Papadopoulos 5ef8c09dbb Use AiNode's metadata to keep per-node(and per-instance) FBX (3dsmax) UserDefinedProperties
Also simplify metadata structure to avoid unnecessary allocations (and make it easier for wrappers like AssimpNET to read it)
2014-02-22 21:57:01 +02:00
guillaume 8267d93537 Modif dans le parsing IFC suppressions des espaces avant traitement de la chaine 2014-01-17 12:02:58 +01:00
Alexander Gessler 31311bdb3b IFC: support reading from IFCZip archives that don't use the same name for the embedded IFC file as the ZIP itself. 2013-06-25 00:22:47 +02:00
Alexander Gessler afc07503d6 - Ifc: limit nesting of IfcComplexProperty's. 2013-03-29 14:21:06 +01:00
Alexander Gessler 2ad24f7940 - Ifc: support reading IfcComplexProperty 2013-03-29 14:07:28 +01:00
Alexander Gessler 10f8eda497 - Ifc: prevent infinite recursion due to cyclic back references which the new STEP backref tracker might produce. 2013-03-29 13:33:18 +01:00
Alexander Gessler 03b8431d54 - IFC: add support for reading IfcProperties as node metadata. 2013-03-28 23:28:49 +01:00
Alexander Gessler bdfcb4b0cb - add ASSIMP_BUILD_NO_COMPRESSED_IFC option. Properly integrate Q3BSP's unzip dependency into the build configuration. 2013-03-28 13:38:42 +01:00
Alexander Gessler 2e6ad884bb - Ifc: append GUID to node names to preserve them. 2013-01-27 15:44:57 +01:00
aramis_acg 56bf755c4b - Ifc: fix handling of curves with RADIAN parameters.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1289 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-07-12 00:20:28 +00:00
aramis_acg d7fe61c255 - Ifc: improved subsampling of curves for IfcSweptDiskSolid entities.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1288 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-07-11 23:08:44 +00:00
aramis_acg c70646912c - add IFCZIP support to IFC loader.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1286 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-07-11 19:18:51 +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
kimmi 6c1cb4f159 Bugfix : Fixed some compiler warnings and some C99 and C++11 specific syntax. ( merged from GitHub, thanks to Riku Palomäki ).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1225 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-20 21:31:56 +00:00
kimmi d17071746d Bugfix : Removed some unnecessary const_casts. ( merged from GitHub, thanks to Riku Palomäki ).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1223 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-03-20 21:11:05 +00:00
aramis_acg 4dbf539b44 - update license header. Update copyright year and unify naming: our name is 'assimp', not 'ASSIMP'.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1147 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-03 03:38:30 +00:00
aramis_acg 15e50959e6 - Ifc: enable double-precision arithmetics for the entire pipeline. This does fix bugs, but unfortunately not all if them.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1143 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-02 22:50:24 +00:00
aramis_acg e867c73327 - Ifc: make code base ready for running double precision by using the new math templates with a customizable float type, IfcFloat. (still using floats with this commit).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1133 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-02 02:09:49 +00:00
aramis_acg 000ef3de02 # IFCLoader: < predicate to order representations by use for us was accidentally a total ordering.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1114 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-15 13:51:34 +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 29676ce70f # Fix gcc compile error (namespace ambiguous)
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1034 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-06-14 16:46:33 +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 e479ca33d4 manual IFC merge, forgot some points
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1030 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-06-09 14:29:46 +00:00
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
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 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 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 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