Commit Graph

7 Commits

Author SHA1 Message Date
Jimmy Andrews 28d23d0754 add an IsConvex() test to polygon2/curveutil
#rb tyson.brochu
#preflight 62b0c9b3ca3595d82dd6e269

[CL 20745228 by Jimmy Andrews in ue5-main branch]
2022-06-20 17:28:14 -04:00
Jimmy Andrews bd91583516 add a ClipConvex method for polygon2 and curveutil, to clip polygons to given bounds.
Uses the Sutherland–Hodgman algorithm of progressively clipping each side, so may leave folded overlaps directly on the boundaries if applied to non-convex polygons (but otherwise should still work)

#rb tyson.brochu
#preflight 62acfb162c6f089ea8ecbd5a

[CL 20717357 by Jimmy Andrews in ue5-main branch]
2022-06-18 08:52:11 -04:00
Jimmy Andrews f075aba840 Refactor some Polygon2 functionality to be more broadly available via CurveUtil (e.g., functions for curve area, normals, length, winding)
+ add test coverage of these

#rb rinat.abdrashitov
#preflight 62aaa543634e82e5d126ccc4

[CL 20694865 by Jimmy Andrews in ue5-main branch]
2022-06-16 16:46:39 -04:00
Jimmy Andrews 44bb08921c Deprecate unused Timestamp and GetTimestamp function on TPolygon2 and TPolyline3
#rb matija.kecman
#rb ryan.schmidt
#preflight 62a896a3a43e20b293433722

[CL 20651996 by Jimmy Andrews in ue5-main branch]
2022-06-14 12:53:25 -04:00
Ryan Schmidt 9f156b5f20 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

[CL 17359821 by Ryan Schmidt in ue5-main branch]
2021-08-30 18:02:34 -04:00
Steve Robb 839f904aa1 Fix for crash when calling TPolygon2<>::Contains() on an empty polygon.
#rb none
#jira none
#fyi ryan.schmidt

[CL 17048265 by Steve Robb in ue5-main branch]
2021-08-04 07:32:02 -04:00
Ryan Schmidt 623e4f96fe GeometryCore: create new GeometryCore Module. Move GeometricObjects code from GeometryProcessing plugin to this new module, as well as core FDynamicMesh3 classes (attributes, aabbtree/octree, change tracking). Update module Build.cs files that reference GeometricObjects.
#rb none
#rnx
#jira none
#preflight 60a713700569f300014a064a

[CL 16415082 by Ryan Schmidt in ue5-main branch]
2021-05-21 01:04:38 -04:00