UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::CADKernel::IntersectionToolBase::FSegment Struct Referenceabstract

#include <IntersectionSegmentTool.h>

+ Inheritance diagram for UE::CADKernel::IntersectionToolBase::FSegment:

Public Member Functions

 FSegment (const double Tolerance, const FVector2d &StartPoint, const FVector2d &EndPoint)
 
virtual ~FSegment ()=default
 
virtual bool IsValid () const =0
 
virtual const FIsoNodeGetFirstNode () const =0
 
virtual const FIsoNodeGetSecondNode () const =0
 
virtual const FIsoSegmentGetIsoSegment () const
 
EConnectionType DoesItStartFromAndSuperimposed (const FIsoNode *StartNode, const FVector2d *EndPoint, const FSegment2D &InSegment) const
 
EConnectionType DoesItStartFromAndSuperimposed (const FVector2d *StartPoint, const FVector2d *EndPoint, const FSegment2D &InSegment) const
 
EConnectionType DoesItStartFromAndSuperimposed (const FIsoNode *StartNode, const FIsoNode *EndNode, const FSegment2D &InSegment) const
 
bool IsFullyBefore (const FSegment &Segment) const
 
bool IsFullyAfter (const FSegment &Segment) const
 
bool CouldItIntersect (const FSurfacicBoundary &SegmentBoundary) const
 
virtual bool DoesItIntersect (const FSegment &Segment) const
 
bool IsParallelWith (const FSegment &Segment) const
 

Static Public Member Functions

static EConnectionType IsSuperimposed (const FSegment2D &SegmentAB, const FSegment2D &SegmentCD, bool bSameOrientation)
 

Public Attributes

const FSegment2D Segment2D
 
const FSurfacicBoundary Boundary
 
double AxisMin
 
double AxisMax
 

Constructor & Destructor Documentation

◆ FSegment()

UE::CADKernel::IntersectionToolBase::FSegment::FSegment ( const double  Tolerance,
const FVector2d StartPoint,
const FVector2d EndPoint 
)
inline

WARNING StartPoint, EndPoint must be defined in EGridSpace::UniformScaled

◆ ~FSegment()

virtual UE::CADKernel::IntersectionToolBase::FSegment::~FSegment ( )
virtualdefault

Member Function Documentation

◆ CouldItIntersect()

bool UE::CADKernel::IntersectionToolBase::FSegment::CouldItIntersect ( const FSurfacicBoundary SegmentBoundary) const
inline

◆ DoesItIntersect()

virtual bool UE::CADKernel::IntersectionToolBase::FSegment::DoesItIntersect ( const FSegment Segment) const
inlinevirtual

◆ DoesItStartFromAndSuperimposed() [1/3]

EConnectionType UE::CADKernel::IntersectionToolBase::FSegment::DoesItStartFromAndSuperimposed ( const FIsoNode StartNode,
const FIsoNode EndNode,
const FSegment2D InSegment 
) const
inline

◆ DoesItStartFromAndSuperimposed() [2/3]

EConnectionType UE::CADKernel::IntersectionToolBase::FSegment::DoesItStartFromAndSuperimposed ( const FIsoNode StartNode,
const FVector2d EndPoint,
const FSegment2D InSegment 
) const
inline

◆ DoesItStartFromAndSuperimposed() [3/3]

EConnectionType UE::CADKernel::IntersectionToolBase::FSegment::DoesItStartFromAndSuperimposed ( const FVector2d StartPoint,
const FVector2d EndPoint,
const FSegment2D InSegment 
) const
inline

◆ GetFirstNode()

virtual const FIsoNode * UE::CADKernel::IntersectionToolBase::FSegment::GetFirstNode ( ) const
pure virtual

◆ GetIsoSegment()

virtual const FIsoSegment * UE::CADKernel::IntersectionToolBase::FSegment::GetIsoSegment ( ) const
inlinevirtual

◆ GetSecondNode()

virtual const FIsoNode * UE::CADKernel::IntersectionToolBase::FSegment::GetSecondNode ( ) const
pure virtual

◆ IsFullyAfter()

bool UE::CADKernel::IntersectionToolBase::FSegment::IsFullyAfter ( const FSegment Segment) const
inline

◆ IsFullyBefore()

bool UE::CADKernel::IntersectionToolBase::FSegment::IsFullyBefore ( const FSegment Segment) const
inline

◆ IsParallelWith()

bool UE::CADKernel::IntersectionToolBase::FSegment::IsParallelWith ( const FSegment Segment) const
inline

◆ IsSuperimposed()

static EConnectionType UE::CADKernel::IntersectionToolBase::FSegment::IsSuperimposed ( const FSegment2D SegmentAB,
const FSegment2D SegmentCD,
bool  bSameOrientation 
)
inlinestatic

◆ IsValid()

virtual bool UE::CADKernel::IntersectionToolBase::FSegment::IsValid ( ) const
pure virtual

Member Data Documentation

◆ AxisMax

double UE::CADKernel::IntersectionToolBase::FSegment::AxisMax

◆ AxisMin

double UE::CADKernel::IntersectionToolBase::FSegment::AxisMin

Uses as criterion to sort segments to optimize AxisMin = Boundary[EIso::IsoU].Min + Boundary[EIso::IsoV].Min

◆ Boundary

const FSurfacicBoundary UE::CADKernel::IntersectionToolBase::FSegment::Boundary

Segment's axis aligned bounding box

◆ Segment2D

const FSegment2D UE::CADKernel::IntersectionToolBase::FSegment::Segment2D

The documentation for this struct was generated from the following file: