Commit Graph

699 Commits (df7f1777940b13c764593c4de6fe4cefa607d0f2)

Author SHA1 Message Date
aramis_acg 418c1bfbe0 # fix compile error introduced by previous changes, we are not yet ready for this.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1128 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-02-01 03:39:05 +00:00
aramis_acg 2e4b1a08ff # STEPFileReader now scans real number literals as doubles.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1127 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-31 16:29:06 +00:00
aramis_acg 5716c4b007 - Set AI_FAST_ATOF_RELAVANT_DECIMALS to 15. This may cause regressions.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1126 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-31 16:28:19 +00:00
aramis_acg c12fadc93b - make fast_atof_move a template and rename it to fast_atoreal_move.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1125 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-31 16:18:32 +00:00
kimmi 16a5bef3ba Bugfix: Bugfixes fror VS 2010 with CMake ( thanks to Jonathan Klein ).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1124 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-25 18:42:14 +00:00
aramis_acg edd1e2e99a # Ifc: re-introduce the previous triangulation code algorithm, but use Clipper to clip to the outer contour line and poly2tri as fallback.
# Ifc: fix a issue when closing window contours. Sometimes a corner would be left out.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1122 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-17 17:40:15 +00:00
aramis_acg ab6c348c2d # Ifc: if generating wall openings fails, revert to the original wall rather than leaving polygon crap.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1121 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-17 02:18:59 +00:00
aramis_acg de865532f4 # DXFLoader: EOLs.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1119 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-17 01:50:37 +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 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 81ef6af2df Apply patch [3473792] - LWS loader failed to find LWO files referenced with inaccessible, absolute paths, but actually residing in the folder of the LWS file. Applied the patch to FileSystemFilter, so all loaders do this now.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1113 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-15 13:46:21 +00:00
aramis_acg 3f369342d6 - Redesign the C interface to allow per-import settings.
- Make C-API threadsafe even without boost (no longer a global importer <-> scene map).
- Cleanup headers.
- Change the way how Importer::pimpl is accessed - all users are no longer friends of Importer to avoid spoiling the public interface. Rather, pimpl is exposed via a public member function and anyone having the definition of ImporterPimpl can access it.

THIS IS A BREAKING API CHANGE for anyone using properties with the C API. It is, however, a huge step forward and finally makes our C API functionally equivalent to the C++ interface.

I hope we can adapt all ports as soon as possible. I'd be grateful if the respective maintainers could do this.

Documentation is not yet up to date.

All this is in anticipation to the upcoming 3.0 release, which I'm actively working on.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1111 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-13 14:07:58 +00:00
aramis_acg 2c0965795c [ 3460982] Patch for Bug 3460978 - Obj loader not generating new objects for material groups.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1108 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-11 13:38:56 +00:00
aramis_acg e52a49a990 Fix [3472310] Unnecessary output in LWOImporter
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1107 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-11 09:41:48 +00:00
aramis_acg aa189c0247 # TextureTransform-Step: fix memory leak due to uvtrafo keys not being deleted properly. This fixes [3463286].
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1104 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-04 15:27:56 +00:00
kimmi 67e8e52a00 Fix a compiler warning.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1102 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-27 17:22:47 +00:00
ulfjorensen a73397198c - Bugfix #3457587: correct decomposition of matrices with negative scaling. Thanks to anonymous google account user for the fix.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1099 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-12 08:44:48 +00:00
aramis_acg d9f7df6bcd - LWSLoader: don't use free().
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1097 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-12 00:04:58 +00:00
aramis_acg 5957e9996b merge https://github.com/gellule/assimp.git
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1096 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-11 23:54:04 +00:00
aramis_acg 052ad0e3de # LWO: set layer skip parameter, thanks to gellule for the patch [https://sourceforge.net/projects/assimp/forums/forum/817654/topic/4853762]
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1095 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-12-01 12:24:33 +00:00
aramis_acg 34089b4596 # include <memory> for auto_ptr [3445528]
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1094 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-11-30 13:34:28 +00:00
aramis_acg 3d00f36faf # fix unit tests, although static linkage to Assimp is a requirement or symbols will be missing. This involves declaring some members of certain pp step classes public to give the tests access to them. Those are harmless and completely safe to use from outside, though.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1092 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-11-29 13:53:24 +00:00
mmathias01 2c0b36bc45 Update CMake environment to accept BUILD_STATIC_LIB option to allow building of static library for platforms that require it (such as iOS). Sorry if I overstepped any bounds here; feel free to revert if required.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1088 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-11-24 10:59:09 +00:00
klickverbot db29c9a20d Spelling fixes, thanks to Jan Dittberner.
This patch replaces »continously« with »continuously« and »treshold« with »threshold«.

(merged from https://github.com/assimp/assimp/pull/2)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1086 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-11-08 12:15:18 +00:00
kimmi ab71ca60c3 - Feature : First buggy prototype of the M3-loader for starcraft models.
- Bugfix  : Fix some typo's in the obj-loader.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1085 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-10-31 08:34:55 +00:00
aramis_acg 255ed412d5 + add Exporter::RegisterExporter and Exporter::UnregisterExporter pair of methods. Make parts of the internal export interface public to allow custom exporters to be added on the fly. This is a non-breaking API change.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1084 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-10-15 13:37:59 +00:00
aramis_acg c807fd65f3 - no longer distinguish between textured and non-textured default materials. Also, do not spit out dummy texture names. This was once a workaround to get some viewers to display a dummy texture rather than a plain shaded asset, but this is no longer appropriate. This involves removal of the public #define AI_DEFAULT_TEXTURED_MATERIAL_NAME.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1083 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-10-15 10:28:36 +00:00
kimmi d5bd7009a6 - Update : Apply simple patch for debian-specific build-fixes: adapt architecture-macro.
- Bugfix : Fix a type in FixNormalStep.
- Bugfix : Fix a missing exception in Obj-Importer, texture coordinate import.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1079 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-09-23 16:45:17 +00:00
ulfjorensen 487071be77 Bugfix: FCollada's special texture tag "bump" now maps to aiTEXTURE_NORMAL. Thanks to agent8261 for the hint
Bugfix: AssimpView now properly skips the leading quotation mark when being executed with a file

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1078 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-09-14 09:41:48 +00:00
aramis_acg 1305376060 # PolyTools.h, fix point of declaration for GetArea2D, thanks to Joe Hermaszewski to point it out.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1077 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-09-05 13:13:30 +00:00
aramis_acg 4f1a95a584 # STLLoader: avoid potential division by zero.
# irrMeshLoader: fix potentially uninitialized variable.
Thanks to erikbuck for pointing these out (http://sourceforge.net/projects/assimp/forums/forum/817653/topic/4691387).

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1076 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-09-04 15:09:45 +00:00
rave3d c01d81c882 BUGFIX VC9 does not support unordered_map
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1075 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-09-04 07:40:25 +00:00
aramis_acg 78493b833c + Obj: implement exporting of p and l entities.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1074 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-27 23:32:53 +00:00
kimmi 40ed87e05c Bugfix : Fix patch.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1073 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-26 14:04:32 +00:00
kimmi 8928523266 - Committed the patch of Makr Page: VertexTriangleAdjacency set member.
- Updated CREDITS.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1072 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-25 19:28:21 +00:00
aramis_acg ff705e6fa4 # Collada: allow empty meshes. Thanks to Mark Page for the patch (https://sourceforge.net/projects/assimp/forums/forum/817653/topic/4628297).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1071 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-23 16:27:07 +00:00
aramis_acg df63b4b3ed [3298060] OBJ: Add support for p and l elements
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1070 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-23 16:23:13 +00:00
aramis_acg ce08069399 - remove makefile from code, use CMake to generate one.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1068 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-22 20:47:24 +00:00
aramis_acg 9177c7df8d # fix float constant 'f' suffix
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1067 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-22 20:46:54 +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 9f32504792 [3393728] [PATCH 2/2] renamed MDL::IntSplittedGroupData_MDL7 to MDL::IntSplitGroupData_MDL7
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1065 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-20 22:01:46 +00:00
aramis_acg 2ffac898d6 [3393728] [PATCH 1/2] ommit->omit and splitted->split
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1064 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-20 22:00:33 +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 36b3695a31 - improve symmetry between Assimp::Importer and Assimp::Exporter.
+ aiCopyScene -- a bit dysfunctional because we will also need getters and setters for all other scene components to avoid running into ownership & heap issues when users modify scenes.
# fix handling of postprocessing during exporting

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1061 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-08-04 08:53:59 +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 967e87d625 # ammendment to previous: take care for gcc.major > 4
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1059 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-28 21:53:52 +00:00
aramis_acg 4f5b36b850 # [3358562] disable the second set of LogFunctions<T>::LogXXX overloads, which cause trouble on Mac OSX with gcc 4.2 for reasons not totally comprehensible to me.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1058 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-28 12:23:39 +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 d29dde1646 # NoBoost: fix a critical issue in the foreach replacement. All local variables introduced by the loop header have longer, magic names now. This avoids unintended shadowing of other local variables.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1055 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-18 03:13:57 +00:00
aramis_acg de0b632e15 - IFC: implement the SameSense flag for IfcCompositeCurveSegment
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1053 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-18 02:17:36 +00:00
aramis_acg 409eb6cee7 - IFC: IfcTrimmingCurve sampling code now supports trimming by points rather than by parameter values.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1052 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-18 01:13:40 +00:00
aramis_acg 56a5230d3a # IFC: improve IfcTrimmedCurve implementation and support wrap-over parameters for closed, conic curves.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1051 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-17 23:35:39 +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 0276a09a87 # Ifc: fix generation of wall openings, now no longer 'forgets' wall parts.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1043 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-15 21:51:33 +00:00
aramis_acg 47836d23e7 # fix vc10 compile warning
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1042 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-15 21:50:32 +00:00
kimmi b2c4963f72 Update : Add a hint for the source of the m3-data definition.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1041 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-15 11:15:10 +00:00
kimmi cd963608c6 Feature : Add first M3-format deta definitions and a prototype importer for M3-models. Many thanks to libm3 for their great work ( see http://code.google.com/p/libm3/ ).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1040 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-15 11:13:42 +00:00
aramis_acg 7ad99f3baf # lowercase include (mingw cross compile fix). Thanks to abma for the patch.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1038 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-07-14 16:59:18 +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 ffdb479411 + Blender: read specular hardness. Thanks to Marvin for the patch.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1032 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2011-06-09 15:10:54 +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
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 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 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