Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
geom_algorithms_test_edgecases_sweepline_minkowski_kdtree.cc File Reference
#include "geom_algorithms_test_common.h"
#include <random>
#include <cmath>
Include dependency graph for geom_algorithms_test_edgecases_sweepline_minkowski_kdtree.cc:

Go to the source code of this file.

Functions

 TEST_F (GeomAlgorithmsTest, ClosestPairEmptyInputThrows)
 
 TEST_F (GeomAlgorithmsTest, ClosestPairSinglePointThrows)
 
 TEST_F (GeomAlgorithmsTest, ClosestPairAllDuplicates)
 
 TEST_F (GeomAlgorithmsTest, TriangulateTwoVerticesThrows)
 
 TEST_F (GeomAlgorithmsTest, RotatingCalipersOpenSingleVertexThrows)
 
 TEST_F (GeomAlgorithmsTest, PointInPolygonTwoVerticesThrows)
 
 TEST_F (GeomAlgorithmsTest, AndrewMonotonicChainTwoPoints)
 
 TEST_F (GeomAlgorithmsTest, AndrewMonotonicChainEmptyInput)
 
 TEST_F (GeomAlgorithmsTest, AndrewMonotonicChainSinglePoint)
 
 TEST_F (GeomAlgorithmsTest, AndrewMonotonicChainAllDuplicates)
 
 TEST_F (GeomAlgorithmsTest, GrahamScanEmptyInput)
 
 TEST_F (GeomAlgorithmsTest, GrahamScanSinglePoint)
 
 TEST_F (GeomAlgorithmsTest, GrahamScanTwoPoints)
 
 TEST_F (GeomAlgorithmsTest, GrahamScanAllDuplicates)
 
 TEST_F (GeomAlgorithmsTest, AllHullAlgorithmsAgreeOnRandomInput)
 
 TEST_F (GeomAlgorithmsTest, DelaunayAsTrianglesProducesValidTriangles)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionNoIntersection)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionProperCross)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionEndpointTouch)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionCollinearOverlap)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionVerticalOverlap)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionDegeneratePointOnSegment)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionDegenerateIdenticalPoints)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionDegenerateDisjointPoints)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionCollinearTouchPoint)
 
 TEST_F (GeomAlgorithmsTest, SegmentSegmentIntersectionFreeFunction)
 
 TEST_F (GeomAlgorithmsTest, SweepLineNoSegments)
 
 TEST_F (GeomAlgorithmsTest, SweepLineSingleSegment)
 
 TEST_F (GeomAlgorithmsTest, SweepLineParallelNoIntersection)
 
 TEST_F (GeomAlgorithmsTest, SweepLineSimpleCross)
 
 TEST_F (GeomAlgorithmsTest, SweepLineMultipleIntersections)
 
 TEST_F (GeomAlgorithmsTest, SweepLineDisjointSegments)
 
 TEST_F (GeomAlgorithmsTest, SweepLineTShapedIntersection)
 
 TEST_F (GeomAlgorithmsTest, SweepLineDegenerateSegmentThrows)
 
 TEST_F (GeomAlgorithmsTest, SweepLineFourSegmentsStar)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulateTriangle)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulateSquare)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulateSquareCW)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulatePentagon)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulateHexagon)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulateOpenThrows)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulateDegenerateThrows)
 
 TEST_F (GeomAlgorithmsTest, MonotoneTriangulateCountMatchesCuttingEars)
 
 TEST_F (GeomAlgorithmsTest, MinkowskiSumTwoSquares)
 
 TEST_F (GeomAlgorithmsTest, MinkowskiSumSquareAndTriangle)
 
 TEST_F (GeomAlgorithmsTest, MinkowskiSumCWInputsNormalized)
 
 TEST_F (GeomAlgorithmsTest, MinkowskiSumNonConvexThrows)
 
 TEST_F (GeomAlgorithmsTest, MinkowskiSumOpenPolygonThrows)
 
 TEST_F (GeomAlgorithmsTest, MinkowskiSumIsConvex)
 
static Point first_vertex_of (const Polygon &poly)
 
static Geom_Number brute_convex_distance_squared (const Polygon &p, const Polygon &q, Point &out_p, Point &out_q)
 
 TEST_F (GeomAlgorithmsTest, ConvexPolygonDistanceGJKSeparatedSquares)
 
 TEST_F (GeomAlgorithmsTest, ConvexPolygonDistanceGJKOverlapping)
 
 TEST_F (GeomAlgorithmsTest, ConvexPolygonDistanceGJKTouchingEdge)
 
 TEST_F (GeomAlgorithmsTest, ConvexPolygonDistanceGJKSymmetry)
 
 TEST_F (GeomAlgorithmsTest, ConvexPolygonDistanceGJKInvalidInputThrows)
 
 TEST_F (GeomAlgorithmsTest, ConvexPolygonDistanceGJKMatchesBruteBaseline)
 
 TEST_F (GeomAlgorithmsTest, KDTreeInsertAndContains)
 
 TEST_F (GeomAlgorithmsTest, KDTreeNearest)
 
 TEST_F (GeomAlgorithmsTest, KDTreeNearestEmpty)
 
 TEST_F (GeomAlgorithmsTest, KDTreeBuildBalanced)
 
 TEST_F (GeomAlgorithmsTest, KDTreeRange)
 
 TEST_F (GeomAlgorithmsTest, KDTreeForEach)
 
 TEST_F (GeomAlgorithmsTest, KDTreeDebugSnapshotHasPartitions)
 
static Geom_Number dist2 (const Point &a, const Point &b)
 
static Array< Pointsorted_hull_vertices (const Polygon &p)
 
 TEST_F (GeomAlgorithmsTest, DelaunayEmptyCircumcircleProperty)
 
 TEST_F (GeomAlgorithmsTest, DelaunayEmptyCircumcircleGridPoints)
 
 TEST_F (GeomAlgorithmsTest, VoronoiVerticesEquidistantToSites)
 
 TEST_F (GeomAlgorithmsTest, VoronoiBoundedEdgeSitesAreEquidistantToEndpoints)
 
 TEST_F (GeomAlgorithmsTest, RobustnessNearCollinearDelaunay)
 
 TEST_F (GeomAlgorithmsTest, RobustnessNearCollinearConvexHull)
 
 TEST_F (GeomAlgorithmsTest, RobustnessNearParallelSegments)
 
 TEST_F (GeomAlgorithmsTest, RobustnessNearParallelSegmentsConverging)
 
 TEST_F (GeomAlgorithmsTest, RobustnessExtremeCoordinates)
 
 TEST_F (GeomAlgorithmsTest, RobustnessVerySmallCoordinates)
 
 TEST_F (GeomAlgorithmsTest, RobustnessCocircularPoints)
 
 TEST_F (GeomAlgorithmsTest, DeterminismDelaunayPermutedInputs)
 
 TEST_F (GeomAlgorithmsTest, DeterminismConvexHullPermutedInputs)
 
 TEST_F (GeomAlgorithmsTest, DeterminismClosestPairPermutedInputs)
 
 TEST_F (GeomAlgorithmsTest, PerformanceConvexHull10KPoints)
 
 TEST_F (GeomAlgorithmsTest, PerformanceClosestPair5KPoints)
 
 TEST_F (GeomAlgorithmsTest, PerformanceDelaunay500Points)
 
 TEST_F (GeomAlgorithmsTest, PerformanceTriangulation100Vertices)
 
 TEST_F (GeomAlgorithmsTest, CrossAlgorithmConvexHullSimple)
 
 TEST_F (GeomAlgorithmsTest, CrossAlgorithmConvexHullLargerSet)
 
 TEST_F (GeomAlgorithmsTest, CrossAlgorithmConvexHullCollinearBoundary)
 
 TEST_F (GeomAlgorithmsTest, CrossAlgorithmConvexHullTrianglePoints)
 
 TEST_F (GeomAlgorithmsTest, DelaunayIncrementalBasicSquare)
 
 TEST_F (GeomAlgorithmsTest, DelaunayIncrementalEmptyCircumcircle)
 
 TEST_F (GeomAlgorithmsTest, DelaunayIncrementalMatchesBowyerWatson)
 
 TEST_F (GeomAlgorithmsTest, DelaunayIncrementalSingleTriangle)
 
 TEST_F (GeomAlgorithmsTest, DelaunayIncrementalCollinear)
 
 TEST_F (GeomAlgorithmsTest, DelaunayIncrementalDuplicates)
 
 TEST_F (GeomAlgorithmsTest, DelaunayIncrementalGrid)
 
 TEST_F (GeomAlgorithmsTest, VoronoiFortuneFourPoints)
 
 TEST_F (GeomAlgorithmsTest, VoronoiFortuneEquidistance)
 
 TEST_F (GeomAlgorithmsTest, VoronoiFortuneClippedCells)
 
 TEST_F (GeomAlgorithmsTest, VoronoiFortuneKeepsDualImplementationAvailable)
 
 TEST_F (GeomAlgorithmsTest, ConvexDecompTriangle)
 
 TEST_F (GeomAlgorithmsTest, SweepLineCollinearOverlapping)
 
 TEST_F (GeomAlgorithmsTest, SweepLineManySegmentsAtOnePoint)
 
 TEST_F (GeomAlgorithmsTest, SweepLineVerticalSegments)
 
 TEST_F (GeomAlgorithmsTest, SweepLineStress10K)
 

Function Documentation

◆ brute_convex_distance_squared()

◆ dist2()

◆ first_vertex_of()

static Point first_vertex_of ( const Polygon poly)
static

◆ sorted_hull_vertices()

◆ TEST_F() [1/100]

◆ TEST_F() [2/100]

TEST_F ( GeomAlgorithmsTest  ,
AndrewMonotonicChainAllDuplicates   
)

◆ TEST_F() [3/100]

TEST_F ( GeomAlgorithmsTest  ,
AndrewMonotonicChainEmptyInput   
)

◆ TEST_F() [4/100]

TEST_F ( GeomAlgorithmsTest  ,
AndrewMonotonicChainSinglePoint   
)

◆ TEST_F() [5/100]

TEST_F ( GeomAlgorithmsTest  ,
AndrewMonotonicChainTwoPoints   
)

◆ TEST_F() [6/100]

◆ TEST_F() [7/100]

TEST_F ( GeomAlgorithmsTest  ,
ClosestPairEmptyInputThrows   
)

◆ TEST_F() [8/100]

TEST_F ( GeomAlgorithmsTest  ,
ClosestPairSinglePointThrows   
)

◆ TEST_F() [9/100]

◆ TEST_F() [10/100]

TEST_F ( GeomAlgorithmsTest  ,
ConvexPolygonDistanceGJKInvalidInputThrows   
)

◆ TEST_F() [11/100]

◆ TEST_F() [12/100]

◆ TEST_F() [13/100]

TEST_F ( GeomAlgorithmsTest  ,
ConvexPolygonDistanceGJKSeparatedSquares   
)

◆ TEST_F() [14/100]

◆ TEST_F() [15/100]

◆ TEST_F() [16/100]

◆ TEST_F() [17/100]

◆ TEST_F() [18/100]

◆ TEST_F() [19/100]

◆ TEST_F() [20/100]

◆ TEST_F() [21/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayEmptyCircumcircleGridPoints   
)

◆ TEST_F() [22/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayEmptyCircumcircleProperty   
)

◆ TEST_F() [23/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayIncrementalBasicSquare   
)

◆ TEST_F() [24/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayIncrementalCollinear   
)

◆ TEST_F() [25/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayIncrementalDuplicates   
)

◆ TEST_F() [26/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayIncrementalEmptyCircumcircle   
)

◆ TEST_F() [27/100]

◆ TEST_F() [28/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayIncrementalMatchesBowyerWatson   
)

◆ TEST_F() [29/100]

TEST_F ( GeomAlgorithmsTest  ,
DelaunayIncrementalSingleTriangle   
)

◆ TEST_F() [30/100]

TEST_F ( GeomAlgorithmsTest  ,
DeterminismClosestPairPermutedInputs   
)

◆ TEST_F() [31/100]

◆ TEST_F() [32/100]

TEST_F ( GeomAlgorithmsTest  ,
DeterminismDelaunayPermutedInputs   
)

◆ TEST_F() [33/100]

◆ TEST_F() [34/100]

TEST_F ( GeomAlgorithmsTest  ,
GrahamScanEmptyInput   
)

◆ TEST_F() [35/100]

◆ TEST_F() [36/100]

◆ TEST_F() [37/100]

◆ TEST_F() [38/100]

TEST_F ( GeomAlgorithmsTest  ,
KDTreeDebugSnapshotHasPartitions   
)

◆ TEST_F() [39/100]

◆ TEST_F() [40/100]

TEST_F ( GeomAlgorithmsTest  ,
KDTreeInsertAndContains   
)

◆ TEST_F() [41/100]

◆ TEST_F() [42/100]

TEST_F ( GeomAlgorithmsTest  ,
KDTreeNearestEmpty   
)

◆ TEST_F() [43/100]

◆ TEST_F() [44/100]

◆ TEST_F() [45/100]

◆ TEST_F() [46/100]

◆ TEST_F() [47/100]

◆ TEST_F() [48/100]

◆ TEST_F() [49/100]

◆ TEST_F() [50/100]

◆ TEST_F() [51/100]

◆ TEST_F() [52/100]

◆ TEST_F() [53/100]

TEST_F ( GeomAlgorithmsTest  ,
MonotoneTriangulateOpenThrows   
)

◆ TEST_F() [54/100]

◆ TEST_F() [55/100]

◆ TEST_F() [56/100]

◆ TEST_F() [57/100]

◆ TEST_F() [58/100]

TEST_F ( GeomAlgorithmsTest  ,
PerformanceClosestPair5KPoints   
)

◆ TEST_F() [59/100]

TEST_F ( GeomAlgorithmsTest  ,
PerformanceConvexHull10KPoints   
)

◆ TEST_F() [60/100]

◆ TEST_F() [61/100]

◆ TEST_F() [62/100]

◆ TEST_F() [63/100]

◆ TEST_F() [64/100]

◆ TEST_F() [65/100]

◆ TEST_F() [66/100]

◆ TEST_F() [67/100]

TEST_F ( GeomAlgorithmsTest  ,
RobustnessNearParallelSegments   
)

◆ TEST_F() [68/100]

◆ TEST_F() [69/100]

TEST_F ( GeomAlgorithmsTest  ,
RobustnessVerySmallCoordinates   
)

◆ TEST_F() [70/100]

TEST_F ( GeomAlgorithmsTest  ,
RotatingCalipersOpenSingleVertexThrows   
)

◆ TEST_F() [71/100]

◆ TEST_F() [72/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionCollinearTouchPoint   
)

◆ TEST_F() [73/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionDegenerateDisjointPoints   
)

◆ TEST_F() [74/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionDegenerateIdenticalPoints   
)

◆ TEST_F() [75/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionDegeneratePointOnSegment   
)

◆ TEST_F() [76/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionEndpointTouch   
)

◆ TEST_F() [77/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionFreeFunction   
)

◆ TEST_F() [78/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionNoIntersection   
)

◆ TEST_F() [79/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionProperCross   
)

◆ TEST_F() [80/100]

TEST_F ( GeomAlgorithmsTest  ,
SegmentSegmentIntersectionVerticalOverlap   
)

◆ TEST_F() [81/100]

TEST_F ( GeomAlgorithmsTest  ,
SweepLineCollinearOverlapping   
)

◆ TEST_F() [82/100]

TEST_F ( GeomAlgorithmsTest  ,
SweepLineDegenerateSegmentThrows   
)

◆ TEST_F() [83/100]

◆ TEST_F() [84/100]

◆ TEST_F() [85/100]

TEST_F ( GeomAlgorithmsTest  ,
SweepLineManySegmentsAtOnePoint   
)

◆ TEST_F() [86/100]

◆ TEST_F() [87/100]

TEST_F ( GeomAlgorithmsTest  ,
SweepLineNoSegments   
)

◆ TEST_F() [88/100]

TEST_F ( GeomAlgorithmsTest  ,
SweepLineParallelNoIntersection   
)

◆ TEST_F() [89/100]

◆ TEST_F() [90/100]

◆ TEST_F() [91/100]

TEST_F ( GeomAlgorithmsTest  ,
SweepLineStress10K   
)

◆ TEST_F() [92/100]

TEST_F ( GeomAlgorithmsTest  ,
SweepLineTShapedIntersection   
)

◆ TEST_F() [93/100]

◆ TEST_F() [94/100]

◆ TEST_F() [95/100]

TEST_F ( GeomAlgorithmsTest  ,
VoronoiBoundedEdgeSitesAreEquidistantToEndpoints   
)

◆ TEST_F() [96/100]

◆ TEST_F() [97/100]

◆ TEST_F() [98/100]

TEST_F ( GeomAlgorithmsTest  ,
VoronoiFortuneFourPoints   
)

◆ TEST_F() [99/100]

TEST_F ( GeomAlgorithmsTest  ,
VoronoiFortuneKeepsDualImplementationAvailable   
)

◆ TEST_F() [100/100]

TEST_F ( GeomAlgorithmsTest  ,
VoronoiVerticesEquidistantToSites   
)