Alexander Gessler
|
250ca6837f
|
- Ifc: rework geometry generation for openings to use 2D profiles for approximate boolean differentiation whenever possible. Also fix issues in 2D projection, which caused very spurious triangle artifacts.
|
2013-01-27 21:21:30 +01:00 |
Alexander Gessler
|
b90882a4cb
|
- Ifc: more opening tweaks, half a step back again.
|
2013-01-25 08:09:32 +01:00 |
Alexander Gessler
|
d4bcd3ab69
|
- Ifc: [openings] more fine-tuning and some debugging aid.
|
2013-01-25 07:42:51 +01:00 |
Alexander Gessler
|
1a60697282
|
- Ifc: more opening tweaks.
|
2013-01-25 05:55:32 +01:00 |
Alexander Gessler
|
302fad13b0
|
- Ifc: [openings] don't accidentally mirror stuff when projecting onto 2D planes.
|
2013-01-25 05:16:02 +01:00 |
Alexander Gessler
|
af0d4ef3da
|
- Ifc: clean up temporary wall points when switching from horizontal to vertical openings.
|
2013-01-25 04:35:30 +01:00 |
Alexander Gessler
|
9647c87c7c
|
- Ifc: no need to generate contour skiplist twice.
|
2013-01-25 04:19:12 +01:00 |
Alexander Gessler
|
bbd10cd748
|
- Ifc: fix normalization of base mesh normal for opening generation.
|
2013-01-25 03:48:06 +01:00 |
Alexander Gessler
|
3b30a39fe1
|
- Ifc: add debug code for checking correctness of coordinate transforms.
|
2013-01-24 12:44:53 +01:00 |
Alexander Gessler
|
b42f279110
|
- Ifc: improve intersection check for openings.
|
2013-01-24 01:09:48 +01:00 |
Alexander Gessler
|
650e515dd6
|
- Ifc: bix bug that caused some openings to be generated twice. This stops lots of the z noise.
|
2013-01-22 16:50:18 +01:00 |
Alexander Gessler
|
2d01b9bdc9
|
- Ifc: pick average of all coordinates as projection plane.
|
2013-01-22 16:39:43 +01:00 |
Alexander Gessler
|
c2bd22507c
|
- Ifc: check for self-intersecting contour lines to avoid duplicates.
|
2013-01-22 16:31:31 +01:00 |
Alexander Gessler
|
8b823bd631
|
- Ifc: improve heuristic to detect unwanted crossing lines by not running it when the window is not the result of arbitrary boolean ops on rectangles.
|
2013-01-22 16:08:44 +01:00 |
Alexander Gessler
|
e9bbe64115
|
- Ifc: fine-tune epsilons. Correct epsilon approximation for a squared value is max(e^2 +- 2e).
|
2013-01-21 22:46:11 +01:00 |
Alexander Gessler
|
6905229603
|
- Ifc: refactor border detection code.
|
2013-01-21 22:37:53 +01:00 |
Alexander Gessler
|
fcf86f1e0a
|
- Ifc: add heuristic to detect remaining, unwanted "crossing caps" and to drop them silently. Testing this on some larger files, it typically reduces artifacts due to z-fighting on lower window caps.
|
2013-01-21 22:27:48 +01:00 |
Alexander Gessler
|
d20126f7a1
|
- Ifc: fine-tune some epsilons.
|
2013-01-21 21:56:55 +01:00 |
Alexander Gessler
|
58f087e04d
|
- Ifc: fix boolean differentiation for 3D openings to avoid having duplicate contour lines or inner points in the contour data that gets used as input for window cap generation. This solves various instances of 'crossing' caps in windows.
|
2013-01-21 21:11:16 +01:00 |
acgessler
|
470f4f3757
|
- Ifc: fix another indexing error.
|
2013-01-20 17:40:09 +01:00 |
acgessler
|
0e5db8a369
|
- Ifc: fix loop indexing error in detection of overlapping window contours. Improve numerical robustness of intersection tests by explicitly catching a/b=inf.
|
2013-01-20 15:40:36 +01:00 |
acgessler
|
23a2ff629c
|
- Ifc: drop flawed assertion.
|
2013-01-20 15:16:20 +01:00 |
aramis_acg
|
f507994299
|
- Ifc: vastly improved algorithm for fixing up window caps.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1345 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-12-19 02:24:06 +00:00 |
aramis_acg
|
477995f860
|
- Ifc: fix lost line that causes compile errors in debug build, WIP work on removing overlapping window caps.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1340 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-27 19:59:09 +00:00 |
aramis_acg
|
d395e88670
|
- Ifc: more refactoring in the window generation code.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1338 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-18 19:41:26 +00:00 |
aramis_acg
|
b7ee62080a
|
- Ifc: refactor opening/window generation code.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1337 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-18 16:36:38 +00:00 |
aramis_acg
|
e3e8c92546
|
- Ifc: since overlapping opening bounding boxes cause lots of trouble, we now try to avoid them in a subset of all cases. This is possible whenever two openings overlap in a way that their bounding boxes can easily be made disjunct by differentiating the polygons.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1335 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-17 02:04:53 +00:00 |
aramis_acg
|
3f38d91e88
|
- Ifc: further improvements to opening caps algorithm.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1329 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-03 00:43:28 +00:00 |
aramis_acg
|
1553bd91f6
|
- Ifc: work on generating proper closing caps for openings generated by doing a boolean difference.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1328 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-02 23:56:38 +00:00 |
aramis_acg
|
7484dd379c
|
- Ifc: revamped Quadrify() version now correctly clips overlapping non-rectangular windows.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1327 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-02 04:46:46 +00:00 |
aramis_acg
|
ccf629bd19
|
- Ifc: allow arbitrary IfcSolidModel entities as difference operands for openings (rather than just IfcExtrudedAreaSolid et al).
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1326 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-02 03:29:04 +00:00 |
aramis_acg
|
612f67da0a
|
- Ifc: avoid duplicate points in opening contour lines, this sometimes screws up the clipping algorithm.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1325 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-01 21:36:39 +00:00 |
aramis_acg
|
11b2219b1a
|
- Ifc: fix regressions caused by previous commit. This also fixes a bug which caused openings to appear at the wrong place.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1324 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-11-01 20:40:45 +00:00 |
aramis_acg
|
d128e3d531
|
- Ifc: fix projection artifacts during opening generation.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1321 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 21:50:30 +00:00 |
aramis_acg
|
c3adc004bf
|
- Ifc: always remove degenerate geometry from geometric entities after finishing processing.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1320 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 19:12:18 +00:00 |
aramis_acg
|
a598ac53b4
|
- Ifc: improve robustness towards degenerate geometry.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1319 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 18:52:48 +00:00 |
aramis_acg
|
33a50f515a
|
- Ifc: move some utility functions to TempMesh. Add TempMesh::RemoveDegenerates() method.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1318 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 18:32:25 +00:00 |
aramis_acg
|
7ed1400c68
|
- Ifc: better handling of degenerate primitives occuring in clipping operations.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1317 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 18:10:56 +00:00 |
aramis_acg
|
f6f2c087db
|
- Ifc: skip lines during boolean differentiation between two solids.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1316 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 17:08:12 +00:00 |
aramis_acg
|
d660ec35ad
|
- Ifc: first attempt at also supporting extruded area solids for boolean differentiation.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1315 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 16:58:22 +00:00 |
aramis_acg
|
71fb04849c
|
- Ifc: experimental code to connect window holes, commented by default.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1314 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-21 01:05:48 +00:00 |
aramis_acg
|
2f5475d50a
|
- Ifc: [Quadrulation] use generalized matrix multiplication for projections. Add table to map from contours to the openings they originated from and from openings to the points that were generated from it.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1313 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-20 23:18:48 +00:00 |
aramis_acg
|
a3d5b2e0d7
|
- Ifc: replace old algorithm to merge nested polygons with a version that reduces the problem to an instance of the quadrulate algorithm. This great reduces artifacts in walls.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1312 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-20 21:26:49 +00:00 |
aramis_acg
|
8a77193a33
|
- Ifc: more sanity clamping, improve error messages for degenerate windows.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1310 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-17 00:37:52 +00:00 |
aramis_acg
|
f8974b7209
|
- Ifc: explicitly clamp some computations to [0,1] even if this is already their (arithmetically) defined range to improve numerical robustness.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1309 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-17 00:32:59 +00:00 |
aramis_acg
|
745a7383f6
|
Ifc: fix artifacts from window boundaries.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1308 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-17 00:04:24 +00:00 |
aramis_acg
|
f329e1af6f
|
- IFC: fix possible infinite recursion in QuadrifyPart()
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1307 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-16 21:27:01 +00:00 |
aramis_acg
|
39d13faf9a
|
- Ifc: minor code cleanup.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1306 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-16 20:55:19 +00:00 |
aramis_acg
|
11a22b671b
|
- IFC: revamp binary subtraction and opening generation logic, which now supports 90deg rotated opening proxies. The new version adds extra cleanup steps to prepare the data for processing by clipper. It also has a slightly refactored code base.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1305 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-10-16 19:51:00 +00:00 |
aramis_acg
|
e22bb03f80
|
- IFC: fix face winding for IfcSweptDiskSolid geometry
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1300 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
|
2012-09-10 01:28:19 +00:00 |