jimmy andrews
65f56db50c
add polygon and path offset functions to GeometryScript
...
+ some fixes to clipper offset methods, and additional controls over the number of vertices at round joins
#rb david.hill
#preflight 6430d1e7b306e98c639e68a8
[CL 24984017 by jimmy andrews in ue5-main branch]
2023-04-10 17:09:53 -04:00
jimmy andrews
a1369e28aa
Add polygon offset functions that take arrays of general polygons and apply one or two offsets
...
also:
Update polygon union code to allow the input array to be (optionally) re-used as the result array
Fix the previous offset function to support negative offsets for polygons
#rb ryan.schmidt
#preflight 63f7f9b12b1a2765f9210b37
[CL 24397851 by jimmy andrews in ue5-main branch]
2023-02-24 04:01:40 -05:00
jimmy andrews
ff71fb07b1
Add support for taking the intersection/union/difference/xor of arrays of polygons with clipper
...
#rb david.hill
#rb ryan.schmidt
#preflight 63f7ad72dd78dd50f6000db5
[CL 24397791 by jimmy andrews in ue5-main branch]
2023-02-24 03:57:07 -05:00
Ryan Kautzman
45e6e19cd1
Expose TetWild parameters.
...
#rb: jimmy.andrews
#fyi: Brice.Criswell
#preflight 638faec3bb6fefa472d2bbf3
[CL 23416667 by Ryan Kautzman in ue5-main branch]
2022-12-06 16:22:47 -05:00
Jimmy Andrews
77b15b8f44
Add initial (very coarse-grained) progress reporting to ftetwild code via FProgressCancel
...
#rb ryan.kautzman
#preflight 638a89034c3ce8ae5d41e30a
[CL 23416579 by Jimmy Andrews in ue5-main branch]
2022-12-06 16:17:14 -05:00
Jimmy Andrews
7c175bb387
Add fTetWild (adapted to work with UE) as a new third party library in GeometryAlgorithms
...
#rb ryan.kautzman
#preflight 6387ba677b4bd3f05727dbaf
[CL 23346740 by Jimmy Andrews in ue5-main branch]
2022-11-30 23:16:34 -05:00
george rolfe
8be5c99ee7
Clipper library precision fix
...
#jira UE-164425
#rb jimmy.andrews
#preflight 632cf394d747fe52c87af584
[CL 22152063 by george rolfe in ue5-main branch]
2022-09-22 23:50:43 -04:00
Jimmy Andrews
571b3c262d
Fix ConstrainedDelaunay2 Add() function being overloaded in two ways; make the new Add be more-specifically-named AddWithIntersectionResolution
...
#rb michael.balzer
#rb david.hill
#preflight 630fa8cc556fc14dce9c74d1
#jira UE-162641
[CL 21726042 by Jimmy Andrews in ue5-main branch]
2022-08-31 15:14:58 -04:00
Jimmy Andrews
4baf1c84e0
non-unity build fixes for polygonintersectionutils.h
...
#preflight 630ed0ff501b64ba335839ab
[CL 21716892 by Jimmy Andrews in ue5-main branch]
2022-08-30 23:45:44 -04:00
jimmy andrews
9cb9952297
Make Arrangment2d not fail/ensure on a degenerate input (collapsed to a single point)
...
#rb ryan.schmidt
#preflight 630e4d330345de4ccfb87600
[CL 21710498 by jimmy andrews in ue5-main branch]
2022-08-30 17:40:48 -04:00
Jimmy Andrews
c739875cc3
Add test coverage to ensure that Clipper's Union operation can also be used to resolve self-intersections via union-with-empty
...
#rb rinat.abdrashitov
#preflight 630d89f80345de4ccf9b59ed
[CL 21703980 by Jimmy Andrews in ue5-main branch]
2022-08-30 12:44:16 -04:00
George Rolfe
fd9eafdc4b
GeometryProcessing clipper lib integration and exposed functionality
...
#jira UE-161308
#rb jimmy.andrews
#preflight 62fe3d930f2aefc97af68d16
[CL 21441167 by George Rolfe in ue5-main branch]
2022-08-18 09:40:40 -04:00
Jimmy Andrews
c21b7d49f3
Add new oriented box fit variant that starts from the fast DiTO box and optimizes the fit iteratively
...
+ Add ProgressCancel to box fits
+ Change editor code to use the new fit algorithms
#rb rinat.abdrashitov
#rb david.hill
#preflight 62f15a2ba035cdf05ea4d1b7
[CL 21273458 by Jimmy Andrews in ue5-main branch]
2022-08-08 15:20:28 -04:00
jimmy andrews
d1222a4aa3
fix mac build of ConstraintedDelaunay2: Graph.Edges() iterator does not return items by reference
...
#jira UE-154040
#rb michael.balzer
#preflight 628e3a4deb57f851e227961c
#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 20379998 in //UE5/Release-5.0/... via CL 20381853
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20385124 by jimmy andrews in ue5-main branch]
2022-05-26 16:45:41 -04:00
Jimmy Andrews
20f8e9cd7e
Make a new triangulation fill mode that supports explicit boundary and hole edges
...
Update Arrangement2d's triangulation functions to use that fill mode, and also to be explicit about whether the boundary group is expected or not
#rb david.hill
#rb rinat.abdrashitov
#preflight 6269606c8c2782e4f2327a34
[CL 19941732 by Jimmy Andrews in ue5-main branch]
2022-04-27 12:30:18 -04:00
Jimmy Andrews
ec5013e106
change FArrangement2d and TConstrainedDelaunay2 to use new FDelaunay2 code for triangulations
...
#rb david.hill
#preflight 6247dfee3a5a4c1622eb077b
[CL 19628412 by Jimmy Andrews in ue5-main branch]
2022-04-05 14:07:13 -04:00
Jimmy Andrews
72f8fb303d
add better comment + alternate call to the CDT helper function, to make it easier to use
...
#robomerge 5.0
#rnx
#rb tyson.brochu
#preflight 61898fe39239fd6016e7b45e
[CL 18094779 by Jimmy Andrews in ue5-main branch]
2021-11-08 17:46:59 -05:00
jimmy andrews
ee57dd4ec7
Update TriangulateSimplePolygon to by-default orient its output triangles in the most-often-desired orientation (w/ triangle winding the opposite of the polygon winding, for example this is desirable when the polygon is generated from boundary edges on a hole to be filled)
...
Add test coverage for polygon triangulation functions to ensure they create triangulations with the expected orientations
#jira UE-133286
#rb rinat.abdrashitov
#rnx
#preflight 6181fc82612e950001c9b4ee
#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18032811 in //UE5/Release-5.0/... via CL 18032831
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 18032838 by jimmy andrews in ue5-release-engine-test branch]
2021-11-03 09:39:16 -04:00
ryan schmidt
6437ecc4a1
GeometryCore: replace all usage of GeometryCore FVector3<T> with TVector<T>, remove FVector3<T> and GVector4<T>
...
#rb none
#rnx
#jira none
#preflight 614ce33574f7e70001ea822b
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17617027 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
[CL 17617043 by ryan schmidt in ue5-release-engine-test branch]
2021-09-23 19:38:55 -04:00
ryan schmidt
4e422005cd
GeometryCore: Add minimal UE::Math::TVector2<T> implementation and FVector2f/2d typedefs locally in GeometryCore VectorTypes.h. Replace existing FVector2<T> with this class, in preparation for LWC conversion. FVector2 members ::Distance() and ::DistanceSquared() moved to free functions. Update all call sites and references to FVector2.
...
#rb jimmy.andrews
#rnx
#jira none
#preflight 612d248c423a8f00013287f2
#ROBOMERGE-SOURCE: CL 17359821 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17359838 by ryan schmidt in ue5-release-engine-test branch]
2021-08-30 18:03:07 -04:00
michael balzer
ba195473cd
GeometryProcessing: Move plugin from Experimental to Runtime
...
#jira UETOOL-3823
#rb ryan.schmidt
#ROBOMERGE-SOURCE: CL 16958628 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16958640 by michael balzer in ue5-release-engine-test branch]
2021-07-26 14:07:13 -04:00