Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/GeometricObjects/Public/Intersection/IntrSegment2Segment2.h |
Include |
#include "Intersection/IntrSegment2Segment2.h" |
template<typename RealType>
class TIntrSegment2Segment2
Ported from WildMagic5
RealType IntervalThreshold The intersection testing uses the center-extent form for line segments. If you start with endpoints (Vector2<Real>) and create Segment2<Real> objects, the conversion to center-extent form can contain small numerical round-off errors. Testing for the intersection of two segments that share an endpoint might lead to a failure due to the round-off errors. To allow for this, you may specify a small positive threshold that slightly enlarges the intervals for the segments. The default value is zero.
RealType DotThreshold The computation for determining whether the linear components are parallel might contain small floating-point round-off errors. The default threshold is TMathUtil<RealType>::ZeroTolerance. If you set the value, pass in a nonnegative number.
The intersection set: Let q = Quantity. The cases are
q = 0: The segments do not intersect. Type is Empty
q = 1: The segments intersect in a single point. Type is Point Intersection point is Point0.
q = 2: The segments are collinear and intersect in a segment. Type is Segment. Points are Point0 and Point1 Calculate intersection between two 2D line segments
Name | Description | ||
---|---|---|---|
|
RealType |
DotThreshold |
|
|
RealType |
IntervalThreshold |
|
|
RealType |
Parameter0 |
|
|
RealType |
Parameter1 |
|
|
FVector2< RealT... |
Point0 |
These values are all on segment 1, unlike many other tests!! |
|
FVector2< RealT... |
Point1 |
|
|
int |
Quantity |
Outputs |
|
Result |
||
|
TSegment2< Real... |
Segment1 |
Inputs |
|
TSegment2< Real... |
Segment2 |
|
|
Type |
Name | Description | |
---|---|---|
|
TIntrSegment2Segment2 |
Name | Description | ||
---|---|---|---|
|
TIntrSegment... |
Compute() |
|
|
Find() |
||
|
RealType |
GetDotThreshold() |
|
|
RealType |
GetIntervalThreshold() |
|
|
const TSegme... |
GetSegment1() |
|
|
const TSegme... |
GetSegment2() |
|
|
IsSimpleIntersection() |
||
|
SanityCheck() |
||
|
SetDotThreshold ( |
||
|
SetIntervalThreshold ( |
||
|
SetSegment1 ( |
||
|
SetSegment2 ( |