code: double ApproximateLength ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary ) const


description: Approximation of surfacic polyline (points 2d, 3d, normals, tangents) defined by its coordinates compute with carrier surface polyline

module: CADKernel

code: void ApproximatePolyline ( [FSurfacicPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FSurfacicPolyline) & OutPolyline ) const


description: A curve can be degenerated in 3D and not in 2D in the case of locally degenerated carrier surface.

code: void CheckIfDegenerated ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, bool & bDegeneration2D, bool & bDegeneration3D, double & Length3D ) const


code: void ComputeIntersectionsWithIsos ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< double > & InIsoCoordinates, const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) InTypeIso, const [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) & ToleranceIso, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutIntersection ) const


code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEntityGeom](API\Runtime\CADKernel\CADKernel\Core\FEntityGeom) > ApplyMatrix ( const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix ) const


description: Linear deformation of the curve along the axis [Start point, End point] so that the nearest extremity is at the desired position and the other is not modified

code: virtual void ExtendTo ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & DesiredPosition )


code: const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > Get2DCurve() const


code: template<class PointType> double GetCoordinateOfProjectedPoint ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const PointType & PointOnEdge, PointType & ProjectedPoint ) const


code: virtual [ECurve](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__ECurve) GetCurveType() const


description: Get the sub polyline bounded by the input InBoundary in the orientation of the input InOrientation and append it to the output OutPoints

code: template<class PointType> void GetDiscretizationPoints ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) Orientation, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutPoints ) const


code: template<class PointType> void GetDiscretizationPoints ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutPoints ) const


code: void GetExtremities ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [FSurfacicCurveExtremities](API\Runtime\CADKernel\CADKernel\Geo\FSurfacicCurveExtremities) & Extremities ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) GetExtremityTolerances ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary )


description: the size of the polyline i.e. the count of points.

code: int32 GetPolylineSize()


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) GetTangent2DAt ( double InCoordinate ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) GetTangentAt ( double InCoordinate ) const


code: double GetToleranceAt ( const double InCoordinate )


code: bool IsIso ( [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso, double ErrorTolerance ) const


description: Must not be call

code: virtual void Offset ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & OffsetDirection )


code: void Offset2D ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & OffsetDirection )


code: template<class PointType> void ProjectPoints ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InPointsToProject, [TArray](API\Runtime\Core\Containers\TArray)< double > & ProjectedPointCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & ProjectedPoints ) const


description: Project a set of points of a twin curve on the 3D polyline and return the coordinate of the projected point

code: void ProjectTwinCurvePoints ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & InPointsToProject, bool bSameOrientation, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutProjectedPointCoords, double ToleranceOfProjection ) const


description: TODO static TSharedPtrMakeConeCurve(const double InToleranceGeometric, const FMatrixH& InMatrix, double InStartRadius, double InConeAngle, const FSurfacicBoundary& InBoundary); static TSharedPtrMakeCylinderCurve(const double InToleranceGeometric, const FMatrixH& InMatrix, const double InRadius, const FSurfacicBoundary& InBoundary); static TSharedPtrMakePlaneCurve(const double InToleranceGeometric, const FMatrixH& InMatrix, const FSurfacicBoundary& InBoundary); static TSharedPtrMakeSphericalCurve(const double InToleranceGeometric, const FMatrixH& InMatrix, double InRadius, const FSurfacicBoundary& InBoundary); static TSharedPtrMakeTorusCurve(const double InToleranceGeometric, const FMatrixH& InMatrix, double InMajorRadius, double InMinorRadius, const FSurfacicBoundary& InBoundary);

code: virtual void Serialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Ar )


description: Samples the sub curve limited by the boundary respecting the input Desired segment length

code: void Sample ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const double DesiredSegmentLength, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates ) const


code: FRestrictionCurve ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > InCarrierSurface, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > InCurve2D )


className: FRestrictionCurve

description: It's defined by

code: class FRestrictionCurve : public [UE::CADKernel::FSurfacicCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FSurfacicCurve)

MinLinearTolerance

type: double

Polyline

type: FSurfacicPolyli...


description: Evaluate exact 2D point of the curve at the input Coordinate The function can only be used with 2D curve (Dimension == 2)

code: virtual void Evaluate2DPoint ( double Coordinate, [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & OutPoint ) const


code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEntityGeom](API\Runtime\CADKernel\CADKernel\Core\FEntityGeom) > ApplyMatrix ( const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix ) const


code: virtual void Evaluate2DPoint ( double Coordinate, [FCurvePoint2D](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint2D) & OutPoint, int32 DerivativeOrder ) const


description: Evaluate exact 2D points of the curve at the input Coordinates The function can only be used with 2D curve (Dimension == 2)

code: virtual void Evaluate2DPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & Coordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & OutPoints ) const


code: virtual void Evaluate2DPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & Coordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FCurvePoint2D](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint2D) > & OutPoints, int32 DerivativeOrder ) const


description: Evaluate exact 3D point of the curve at the input Coordinate The function can only be used with 3D curve (Dimension == 3)

code: virtual void EvaluatePoint ( double Coordinate, [FCurvePoint](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint) & OutPoint, int32 DerivativeOrder ) const


code: void EvaluateSurfacicPolyline ( [FSurfacicPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FSurfacicPolyline) & OutPolyline ) const


description: Evaluate exact 3D points of the curve at the input Coordinates The function can only be used with 3D curve (Dimension == 3)

code: virtual void EvaluatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & Coordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FCurvePoint](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint) > & OutPoints, int32 DerivativeOrder ) const


code: virtual void FindNotDerivableCoordinates ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, int32 DerivativeOrder, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutNotDerivableCoordinates ) const


code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > & Get2DCurve() const


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > & Get2DCurve()


code: virtual [ECurve](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__ECurve) GetCurveType() const


code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > & GetSurface() const


code: const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > GetCarrierSurface() const


code: virtual void Serialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Ar )


description: Must not be call

code: virtual void Offset ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & OffsetDirection )


code: virtual void ResetMarkersRecursively() const


code: void Set2DCurve ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > & NewCurve2D )


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > & GetSurface()


code: virtual void SpawnIdent ( [FDatabase](API\Runtime\CADKernel\CADKernel\Core\FDatabase) & Database )


code: FSurfacicCurve ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > InCurve2D, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > InSurface )


className: FSurfacicCurve

code: class FSurfacicCurve : public [UE::CADKernel::FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve)

CarrierSurface

type: TSharedPtr<FSu...

type: TSharedPtr<FCu...


code: void Empty ( int32 UNumber, int32 VNumber )


code: int32 IsoCount ( [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso ) const


code: constexpr const [TArray](API\Runtime\Core\Containers\TArray)< double > & operator[] ( [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso ) const


code: constexpr [TArray](API\Runtime\Core\Containers\TArray)< double > & operator[] ( [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso )


code: void SetNum ( int32 UNumber, int32 VNumber )


code: void Swap ( [TArray](API\Runtime\Core\Containers\TArray)< double > & InUCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< double > & InVCoordinates )


code: FCoordinateGrid ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & InUCoordinates, const [TArray](API\Runtime\Core\Containers\TArray)< double > & InVCoordinates )


className: FCoordinateGrid

code: struct FCoordinateGrid

Coordinates

type: TArray< double ...


description: Compute the 3D surface curve point property (3D Coordinate, Gradient, Laplacian) according to its 2D curve point property and the 3D surface point property

code: void Combine ( const [FCurvePoint2D](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint2D) & Point2D, const [FSurfacicPoint](API\Runtime\CADKernel\CADKernel\Geo\FSurfacicPoint) & SurfacicPoint )


code: FCurvePoint ( [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) InPoint )


className: FCurvePoint

code: struct FCurvePoint

Gradient

type: FPoint


className: FSurfacicCurvePoint

code: struct FSurfacicCurvePoint

bWithNormals

type: bool


className: FSurfacicPoint

code: struct FSurfacicPoint


className: FSurfacicCurvePointWithTolerance

code: struct FSurfacicCurvePointWithTolerance

Tolerance

type: FSurfacicTolera...


code: typedef [TPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\TPolyline)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > FPolyline3D


code: void Update ( const double Coordinate, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


className: FPolylineBBox

code: struct FPolylineBBox


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEntityGeom](API\Runtime\CADKernel\CADKernel\Core\FEntityGeom) > ApplyMatrix ( const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & ) const


code: void Approximate2DPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & InCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & OutPoints ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) Approximate2DPoint ( double InCoordinate ) const


code: void Approximate3DPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & InCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & OutPoints ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) Approximate3DPoint ( double InCoordinate ) const


code: void CheckIfDegenerated ( const double Tolerance3D, const [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) & Tolerances2D, const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boudary, bool & bDegeneration2D, bool & bDegeneration3D, double & Length3D ) const


code: void ApproximatePolyline ( [FSurfacicPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FSurfacicPolyline) & OutPolyline ) const


description: The main idea of this algorithm is to process starting for the beginning of the curve to the end of the curve.

code: void ComputeIntersectionsWithIsos ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< double > & InIsoCoordinates, const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) InTypeIso, const [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) & ToleranceIso, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutIntersection ) const


code: double ComputeLinearToleranceAt ( const double Tolerance3D, const double MinLinearTolerance, const int32 Index ) const


code: [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) ComputeTolerance ( const double Tolerance3D, const [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) & MinToleranceIso, const int32 Index ) const


code: void EmplaceAt ( int32 Index, [FSurfacicPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FSurfacicPolyline) & Polyline, int32 PointIndex )


description: Empties the polyline.

code: void Empty ( int32 Slack )


code: double Get2DLength ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & Get2DPoints() const


code: double GetCoordinateOfProjectedPoint ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boundary, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & PointOnEdge, [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & ProjectedPoint ) const


code: double GetCoordinateOfProjectedPoint ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boundary, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointOnEdge, [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & ProjectedPoint ) const


code: double GetLength ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< double > & GetCoordinates() const


code: FInfoEntity & GetInfo ( FInfoEntity & ) const


code: const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & GetPointAt ( int32 Index ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< FVector3f > & GetNormals() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & GetPoints() const


code: void GetExtremities ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const double Tolerance3D, const [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) & Tolerances2D, [FSurfacicCurveExtremities](API\Runtime\CADKernel\CADKernel\Geo\FSurfacicCurveExtremities) & Extremities ) const


description: Get the sub 2d polyline bounded by the input InBoundary in the orientation of the input InOrientation and append it to the output OutPoints

code: void GetSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) InOrientation, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & OutPoints ) const


code: void GetSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & OutPoints ) const


code: void GetSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) InOrientation, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & OutPoints ) const


code: void GetSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & OutPoints ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) GetTangent2DAt ( double InCoordinate ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) GetTangentAt ( double InCoordinate ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & GetTangents() const


code: bool IsIso ( [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso, double ErrorTolerance ) const


description: Project each point of a coincidental polyline on the Polyline.

code: void ProjectCoincidentalPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & InPointsToProject, bool bSameOrientation, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutProjectedPointCoordinates, double ToleranceOfProjection ) const


code: void ProjectPoints ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & InPointsToProject, [TArray](API\Runtime\Core\Containers\TArray)< double > & ProjectedPointCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & ProjectedPoints ) const


code: void ProjectPoints ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & InPointsToProject, [TArray](API\Runtime\Core\Containers\TArray)< double > & ProjectedPointCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & ProjectedPoints ) const


description: Reserves memory such that the polyline can contain at least Number elements.

code: void Reserve ( int32 Number )


code: void Sample ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boundary, const double DesiredSegmentLength, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates ) const


code: void Serialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Ar )


code: int32 Size() const


code: void SwapCoordinates ( [TArray](API\Runtime\Core\Containers\TArray)< double > & NewCoordinates )


code: FSurfacicPolyline ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > InCarrierSurface, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > InCurve2D )


code: FSurfacicPolyline ( bool bInWithNormals, bool bInWithTangent )


code: FSurfacicPolyline ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > InCarrierSurface, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > InCurve2D, const double Tolerance )


code: FSurfacicPolyline ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > InCarrierSurface, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FCurve](API\Runtime\CADKernel\CADKernel\Geo\Curves\FCurve) > InCurve2D, const double ChordTolerance, const double ParamTolerance, bool bInWithNormals, bool bWithTangent )


code: PointType ApproximatePoint ( double InCoordinate ) const


className: FSurfacicPolyline

code: class FSurfacicPolyline

BoundingBox

type: FSurfacicBounda...

Normals

type: TArray< FVector...

type: TArray<FPoint...


code: void ApproximatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & InCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutPoints ) const


code: void EmplaceAt ( int32 Index, [TPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\TPolyline)< PointType > & Polyline, int32 PointIndex )


description: Empties the polyline.

code: void Empty ( int32 Slack )


code: void GetAt ( int32 Index, double & Coordinate, PointType & Point )


code: double GetCoordinateOfProjectedPoint ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boundary, const PointType & PointOnEdge, PointType & ProjectedPoint ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< double > & GetCoordinates() const


code: [TArray](API\Runtime\Core\Containers\TArray)< double > & GetCoordinates()


code: double GetLength ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & GetPoints() const


code: void GetSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) InOrientation, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutPoints ) const


code: void ProjectPoints ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InPointsToProject, [TArray](API\Runtime\Core\Containers\TArray)< double > & ProjectedPointCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & ProjectedPoints ) const


code: void Reserve ( int32 Number )


code: void Sample ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boundary, const double DesiredSegmentLength, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates ) const


code: const PointType & GetPointAt ( int32 Index ) const


code: int32 Size() const


code: void Serialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Ar )


code: void SwapCoordinates ( [TArray](API\Runtime\Core\Containers\TArray)< double > & NewCoordinates )


description: TheFPolylineBBoxis updated by adding all the points of the polyline included in the boundary

code: void UpdateSubPolylineBBox ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [FPolylineBBox](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FPolylineBBox) & OutBBox ) const


code: TPolyline ( const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InPoints )


code: TPolyline ( const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InPoints, const [TArray](API\Runtime\Core\Containers\TArray)< double > & InCoordinates )


className: TPolyline

code: template<class PointType> class TPolyline

Approximator

type: TPolylineApprox...

Points

type: TArray< PointTy...


description: Evaluate the points of the polyline associated to the increasing array of input Coordinates If the input coordinate is outside the boundary of the polyline, the coordinate of the nearest boundary is used.

code: void ApproximatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & InCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutPoints ) const


code: template<class CurvePointType> void ApproximatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & InCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< CurvePointType > & OutPoints, int32 InDerivativeOrder ) const


description: Evaluate the point of the polyline at the input InCoordinate If the input coordinate is outside the boundary of the polyline, the coordinate of the nearest boundary is used.

code: PointType ApproximatePoint ( const double InCoordinate ) const


description: Evaluate the point of the polyline at the input Coordinate If the input coordinate is outside the boundary of the polyline, the coordinate of the nearest boundary is used.

code: template<class CurvePointType> void ApproximatePoint ( double InCoordinate, CurvePointType & OutPoint, int32 InDerivativeOrder ) const


code: double ComputeCurvilinearCoordinatesOfPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCurvilinearCoordinates, int32 BoundaryIndices ) const


code: void ComputeBoundingBox ( const int BoundaryIndex, const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB)< PointType > & Aabb )


code: double ComputeLengthOfSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary ) const


code: double ComputeLengthOfSubPolyline ( const int BoundaryIndex, const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary ) const


code: PointType ComputePoint ( const int32 Index, const double PointCoordinate ) const


code: void GetStartEndIndex ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, int32 BoundaryIndices ) const


description: Append to the OutPoints array the sub polyline bounded by InBoundary according to the orientation

code: void GetSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) Orientation, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutPoints ) const


description: Get the subset of point defining the sub polyline bounded by InBoundary OutCoordinates and OutPoints are emptied before the process

code: void GetSubPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutPoints ) const


code: void ProjectCoincidentalPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InPointsToProject, bool bSameOrientation, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutProjectedPointCoords, const double ToleranceOfProjection ) const


description: Project a Set of points on a restricted polyline (StartIndex & EndIndex define the polyline boundary) Each points are projected on all segments of the restricted polyline, the closest are selected

code: void ProjectPointsToPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InPointsToProject, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutProjectedPointCoords, [TArray](API\Runtime\Core\Containers\TArray)< PointType > & OutProjectedPoints ) const


description: Project a Set of points on a restricted polyline (StartIndex & EndIndex define the polyline boundary) the points are projected on all segments of the polyline, the closest are selected

code: double ProjectPointToPolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const PointType & PointOnEdge, PointType & OutProjectedPoint ) const


code: double ProjectPointToPolyline ( int32 BoundaryIndices, const PointType & InPointToProject, PointType & OutProjectedPoint ) const


description: Update the Curve bounding box with this subset of polyline

code: void UpdateSubPolylineBBox ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, [FPolylineBBox](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FPolylineBBox) & OutBBox ) const


code: void SamplePolyline ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBoundary, const double DesiredSegmentLength, [TArray](API\Runtime\Core\Containers\TArray)< double > & OutCoordinates ) const


code: TPolylineApproximator ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & InPolylineCoordinates, const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InPolylinePoints )


className: TPolylineApproximator

code: template<class PointType> class TPolylineApproximator

PolylineCoordinates

type: constTArray< d...

PolylinePoints

type: constTArray< P...


code: namespace UE { namespace CADKernel { namespace PolylineTools { template<typename PointType> PointType UE::CADKernel::PolylineTools::LinearInterpolation ( const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & Array, const int32 Index, const double Coordinate ) } } }


code: namespace UE { namespace CADKernel { namespace PolylineTools { bool UE::CADKernel::PolylineTools::IsDichotomyToBePreferred ( int32 InPolylineSize, int32 ResultSize ) } } }


code: namespace UE { namespace CADKernel { namespace PolylineTools { double UE::CADKernel::PolylineTools::SectionCoordinate ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & Array, const int32 Index, const double Coordinate ) } } }


code: namespace UE { namespace CADKernel { namespace PolylineTools { template<typename PointType> double UE::CADKernel::PolylineTools::ComputeLength ( const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & Polyline ) } } }


code: namespace UE { namespace CADKernel { namespace PolylineTools { template<typename PointType> double UE::CADKernel::PolylineTools::ComputeSquareToleranceForProjection ( const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & Polyline ) } } }


code: namespace UE { namespace CADKernel { namespace PolylineTools { template<typename PointType> [TArray](API\Runtime\Core\Containers\TArray)< double > UE::CADKernel::PolylineTools::ComputePolylineSegmentLengths ( const PointType & StartPoint, const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & InnerPolyline, const PointType & EndPoint ) } } }


description: Progressively deforms a polyline (or a control polygon) so that its end is in the desired position

code: namespace UE { namespace CADKernel { namespace PolylineTools { template<typename PointType> void UE::CADKernel::PolylineTools::ExtendTo ( [TArray](API\Runtime\Core\Containers\TArray)< PointType > & Polyline, const PointType & DesiredEnd ) } } }


code: namespace UE { namespace CADKernel { namespace PolylineTools { template<class PointType> PointType UE::CADKernel::PolylineTools::ComputePoint ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & PolylineCoordinates, const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & PolylinePoints, const int32 Index, const double PointCoordinate ) } } }


className: FNurbsSurfaceData

code: struct FNurbsSurfaceData

Weights

description: IfWeights.Num()== 0 => bIsRational = false


className: FNurbsSurfaceHomogeneousData

code: struct FNurbsSurfaceHomogeneousData


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEntityGeom](API\Runtime\CADKernel\CADKernel\Core\FEntityGeom) > ApplyMatrix ( const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix ) const


code: void ComputeDefaultMinToleranceIso()


description: This function return the scale of the input Axis. This function is useful to estimate tolerance when scales are defined in the Matrix

code: static double ComputeScaleAlongAxis ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InAxis, const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InOrigin )


description: Specific method for surface family to instantiate the correct derived class ofFCurve

code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > Deserialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Archive )


code: void EvaluateGrid ( FGrid & Grid ) const


code: virtual FVector EvaluateNormal ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint2D ) const


code: virtual void EvaluateNormals ( const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & Points2D, [TArray](API\Runtime\Core\Containers\TArray)< FVector3f > & Normals ) const


code: void EvaluatePoint ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InSurfacicCoordinate, [FSurfacicPoint](API\Runtime\CADKernel\CADKernel\Geo\FSurfacicPoint) & OutPoint3D, int32 InDerivativeOrder ) const


code: virtual void EvaluatePointGridInCylindricalSpace ( const [FCoordinateGrid](API\Runtime\CADKernel\CADKernel\Geo\FCoordinateGrid) & Coordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & ) const


code: virtual void EvaluatePointGrid ( const [FCoordinateGrid](API\Runtime\CADKernel\CADKernel\Geo\FCoordinateGrid) & Coordinates, FSurfacicSampling & OutPoints, bool bComputeNormals ) const


description: For Normal(u,v) parallel Rotation Axis -> use Plan projection For Normal(u,v) perpendicular to Rotation Axis -> use cylindrical projection

code: virtual [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) EvaluatePointInCylindricalSpace ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InSurfacicCoordinate ) const


code: virtual void EvaluatePoints ( [FSurfacicPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FSurfacicPolyline) & Polyline ) const


code: virtual void EvaluatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCurvePoint2D](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint2D) > & Points2D, [FSurfacicPolyline](API\Runtime\CADKernel\CADKernel\Geo\Sampling\FSurfacicPolyline) & Polyline ) const


code: virtual void EvaluatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & InSurfacicCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FSurfacicPoint](API\Runtime\CADKernel\CADKernel\Geo\FSurfacicPoint) > & OutPoint3D, int32 InDerivativeOrder ) const


code: virtual void EvaluatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCurvePoint2D](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint2D) > & InSurfacicCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FSurfacicPoint](API\Runtime\CADKernel\CADKernel\Geo\FSurfacicPoint) > & OutPoint3D, int32 InDerivativeOrder ) const


code: virtual void EvaluatePoints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCurvePoint2D](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint2D) > & InSurfacicCoordinates, [TArray](API\Runtime\Core\Containers\TArray)< [FCurvePoint](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint) > & OutPoint3D, int32 InDerivativeOrder ) const


code: void ExtendBoundaryTo ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) MaxLimit )


code: const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & GetBoundary() const


code: virtual [EEntity](API\Runtime\CADKernel\CADKernel\Core\UE__CADKernel__EEntity) GetEntityType() const


description: FBoundary::ComputeMinimalTolerance

code: double GetIsoTolerance ( [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso ) const


description: a local tolerance has to be estimated

code: const [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) & GetIsoTolerances() const


description: A surface is closed along an iso axis if it's connected to itself e.g. the edge carried by the iso curve U = UMin is linked to the edge carried by the iso curve U = UMax A complete sphere, torus are example of surface closed along U and V A cylinder with circle section or a cone are example of surface closed along an iso

code: virtual void IsSurfaceClosed ( bool & bOutClosedAlongU, bool & bOutClosedAlongV ) const


code: virtual void LinesNotDerivables ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & Bounds, int32 InDerivativeOrder, [FCoordinateGrid](API\Runtime\CADKernel\CADKernel\Geo\FCoordinateGrid) & OutNotDerivableCoordinates ) const


code: void LinesNotDerivables ( int32 InDerivativeOrder, [FCoordinateGrid](API\Runtime\CADKernel\CADKernel\Geo\FCoordinateGrid) & OutNotDerivableCoordinates ) const


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakeBezierSurface ( const double InToleranceGeometric, int32 InUDegre, int32 InVDegre, const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & InPoles )


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakeConeSurface ( const double InToleranceGeometric, const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix, double InStartRadius, double InConeAngle, const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundary )


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakeCylinderSurface ( const double InToleranceGeometric, const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix, const double InRadius, const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundary )


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakeNurbsSurface ( const double InToleranceGeometric, const [FNurbsSurfaceData](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FNurbsSurfaceData) & NurbsData )


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakeNurbsSurface ( const double InToleranceGeometric, const [FNurbsSurfaceHomogeneousData](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FNurbsSurfaceHomogeneousData) & NurbsData )


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakePlaneSurface ( const double InToleranceGeometric, const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix, const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundary )


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakeSphericalSurface ( const double InToleranceGeometric, const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix, double InRadius, const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundary )


description: Generate a pre-sampling of the surface saved in OutCoordinates. This sampling is light enough to allow a fast computation of the grid, precise enough to compute accurately meshing criteria

code: virtual void Presample ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundaries, [FCoordinateGrid](API\Runtime\CADKernel\CADKernel\Geo\FCoordinateGrid) & OutCoordinates )


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSurface](API\Runtime\CADKernel\CADKernel\Geo\Surfaces\FSurface) > MakeTorusSurface ( const double InToleranceGeometric, const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix, double InMajorRadius, double InMinorRadius, const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundary )


code: void PresampleIsoCircle ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundaries, [FCoordinateGrid](API\Runtime\CADKernel\CADKernel\Geo\FCoordinateGrid) & Coordinates, [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso )


description: Divide the parametric space in the desired number of regular subdivisions and compute the associated PointGrid

code: void Sample ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & Bounds, int32 NumberOfSubdivisions, FSurfacicSampling & OutPointSampling ) const


description: Divide the parametric space in the desired number of regular subdivisions and compute the associated CoordinateGrid

code: void Sample ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & Boundary, int32 NumberOfSubdivisions, [FCoordinateGrid](API\Runtime\CADKernel\CADKernel\Geo\FCoordinateGrid) & OutCoordinateSampling ) const


description: Serialization of aFEntity. Each class derived fromFEntityhas to override this method (and call the direct base class override method first) E.g. class FEntityXXX : public FEntityXX { virtual voidSerialize(FCADKernelArchive& Ar)override { FEntityXX::Serialize(Ar); ... } }

code: virtual void Serialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Ar )


code: void TrimBoundaryTo ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) NewLimit )


code: FSurface ( double InToleranceGeometric )


code: FSurface ( double InToleranceGeometric, const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & InBoundary )


code: FSurface ( double InToleranceGeometric, double UMin, double UMax, double VMin, double VMax )


className: FSurface

code: class FSurface : public [UE::CADKernel::FEntityGeom](API\Runtime\CADKernel\CADKernel\Core\FEntityGeom)

MinToleranceIso

type: TCache<FSurfac...

description: Tolerance along Iso U/V is very costly to compute and not accurate.


description: this will eventually be reconciled with what the Geometry team is using.

code: namespace UE { namespace CADKernel { enum ECurve { Bezier = 0, BoundedCurve, Composite, Ellipse, Hyperbola, Nurbs, Offset, Parabola, Polyline3D, Polyline2D, Restriction, Segment, Surfacic, SurfacicPolyline, Spline, None, } } }


code: namespace UE { namespace CADKernel { enum EIso { IsoU = 0, IsoU, IsoV = 1, IsoV, UndefinedIso, } } }


code: namespace UE { namespace CADKernel { enum ELimit { Start = 0, End = 1, } } }


code: namespace UE { namespace CADKernel { enum EOrientation { Back = 0, Front = 1, } } }


code: namespace UE { namespace CADKernel { enum ERupture { Continuity = 0, Tangency, Curvature, } } }


code: namespace UE { namespace CADKernel { enum ESituation { Undefined = 0, Inside, Outside, } } }


code: namespace UE { namespace CADKernel { enum ESurface { Bezier = 0, Blend01, Blend02, Blend03, Composite, Cone, Coons, Cylinder, Nurbs, Offset, Plane, Revolution, Ruled, Sphere, TabulatedCylinder, Torus, None, } } }


code: namespace UE { namespace CADKernel { [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) UE::CADKernel::GetReverseOrientation ( [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) Orientation ) } }


code: namespace UE { namespace CADKernel { constexpr [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) UE::CADKernel::Other ( const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Iso ) } }


code: namespace UE { namespace CADKernel { [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) UE::CADKernel::SameOrientation ( bool bIsSameOrientation ) } }


code: namespace UE { namespace CADKernel { void UE::CADKernel::SwapOrientation ( [EOrientation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EOrientation) & Orientation ) } }


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) GetCorner ( int32 Corner ) const


code: FAABB ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InMinCorner, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InMaxCorner )


className: FAABB

code: class FAABB : public [UE::CADKernel::TAABB< FPoint >](API\Runtime\CADKernel\CADKernel\Math\TAABB)


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) GetCorner ( int32 CornerIndex ) const


code: FAABB2D ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InMinCorner, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InMaxCorner )


className: Dimension

code: static const int32 Dimension = 3;


code: class FAABB2D : public [UE::CADKernel::TAABB< FPoint2D >](API\Runtime\CADKernel\CADKernel\Math\TAABB)


className: FarawayPoint

code: static const [FFPoint](API\Runtime\CADKernel\CADKernel\Math\FFPoint) FarawayPoint;


code: constexpr float & operator[] ( int32 Index )


code: [FFPoint](API\Runtime\CADKernel\CADKernel\Math\FFPoint) & operator= ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: constexpr float operator[] ( int32 Index ) const


className: ZeroPoint

description: A zero point (0,0,0)

code: static const [FFPoint](API\Runtime\CADKernel\CADKernel\Math\FFPoint) ZeroPoint;


code: FFPoint ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: FFPoint ( float InX, float InY, float InZ )


className: FFPoint

code: class FFPoint

type: union UE::CADKe...

X

type: float


className: FIsoCurvature

code: struct FIsoCurvature

Max

type: double


description: Compute the minimal tolerance of the parametric domain i.e. ToleranceMin =Boundary.Length()* MINIMAL_UNIT_LINEAR_TOLERANCE e.g. for a curve of 1m with a parametric space define between [0, 1], the parametric tolerance is 0.01 This is a minimal value that has to be replace with a more accurate value when its possible

code: double ComputeMinimalTolerance() const


code: bool Contains ( const double Coordinate ) const


className: DefaultBoundary

description: A default boundary (0., 1.)

code: static const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) DefaultBoundary;


code: void ExtendTo ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & MaxBound )


code: void ExtendTo ( const double Coordinate )


code: void ExtendTo ( double MinCoordinate, double MaxCoordinate )


code: constexpr double GetMax() const


code: constexpr double GetAt ( const double Coordinate ) const


code: constexpr double GetMiddle() const


code: constexpr double GetMin() const


description: Uses to initiate a boundary computation with ExtendTo

code: void Init()


description: Return true if the parametric domain is to small

code: bool IsDegenerated() const


description: If a coordinate is outside the bounds, set the coordinate at the closed limit

code: void MoveInsideIfNot ( double & Coordinate, const double Tolerance ) const


code: void Offset ( const double Tolerance )


code: [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & operator= ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & InBounds )


code: void RestrictTo ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & MaxBound )


description: Set the boundary with the min and max of the array

code: void Set ( const [TArray](API\Runtime\Core\Containers\TArray)< double > & Coordinates )


code: void Set ( const double InUMin, const double InUMax )


code: void SetMin ( const double Coordinates )


code: void SetMax ( const double Coordinates )


code: void TrimAt ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & MaxBound )


description: If the boundary width is near or equal to zero, it's widened by +/- DOUBLE_SMALL_NUMBER

code: void WidenIfDegenerated()


code: FLinearBoundary ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boundary )


code: FLinearBoundary ( const double UMin, const double UMax )


code: FLinearBoundary ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Boundary, const double OffsetTolerance )


code: FLinearBoundary ( const double UMin, const double UMax, const double OffsetTolerance )


className: FLinearBoundary

code: struct FLinearBoundary


description: the transform matrix

code: void BuildChangeOfCoordinateSystemMatrix ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Xaxis, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Yaxis, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Zaxis, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Origin )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) Column ( int32 Index ) const


code: void FromAxisOrigin ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Axis, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Origin )


code: double & Get ( int32 Row, int32 Column )


code: double Get ( int32 Row, int32 Column ) const


code: void GetMatrixDouble ( double * OutMatrix ) const


className: Identity

code: static const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) Identity;


code: static [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) MakeRotationMatrix ( double InAngle, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) InAxe )


code: static [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) MakeScaleMatrix ( [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Scale )


code: static [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) MakeScaleMatrix ( double ScaleX, double ScaleY, double ScaleZ )


code: static [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) MakeTranslationMatrix ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InPoint )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) Multiply ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InPoint ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) MultiplyVector ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InVector ) const


code: FVector MultiplyVector ( const FVector & InVector ) const


code: FVector3f MultiplyVector ( const FVector3f & InVector ) const


code: double & operator() ( int32 Row, int32 Column )


code: double operator() ( int32 Row, int32 Column ) const


code: [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) operator+ ( const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix ) const


code: [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) operator* ( const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator* ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: void operator*= ( const [FMatrixH](API\Runtime\CADKernel\CADKernel\Math\FMatrixH) & InMatrix )


code: double & operator[] ( int32 Index )


description: Apply the rotation centered in origin to PointToRotate

code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) PointRotation ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & PointToRotate, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Origin ) const


code: FVector PointRotation ( const FVector & PointToRotate, const FVector & Origin ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) PointRotation ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointToRotate, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Origin ) const


code: void Print ( [EVerboseLevel](API\Runtime\CADKernel\CADKernel\Core\UE__CADKernel__EVerboseLevel) level ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) Row ( int32 Index ) const


code: FMatrixH ( const double *const InMatrix16 )


code: FMatrixH ( const double InMatrix44 )


code: FMatrixH ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Origin, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Ox, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Oy, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Oz )


className: FMatrixH

description: Should be unified with the math utilities implemented by the Geometry team.

code: class FMatrixH


code: double ComputeAngle ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & OtherVector ) const


code: double ComputeCosinus ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & OtherVector ) const


code: double ComputeSinus ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & OtherVector ) const


description: Return the projection of the point on the diagonal axis (of vector (1,1,1)) i.e. return X + Y + Z

code: double DiagonalAxisCoordinate() const


code: static const int32 Dimension = 3;


code: double Distance ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: static const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) FarawayPoint;


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) Middle ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: static double MixedTripleProduct ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & VectorA, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & VectorB, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & VectorC )


code: void NonUniformScale ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Scale )


className: FPoint::operator FVector

code: operator FVector() const


className: FPoint::operator FVector3f

code: operator FVector3f() const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator+ ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator+ ( const FVector & Point ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator+ ( const FVector3f & Point ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & operator+= ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & operator+= ( const FVector & Point )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & operator+= ( const FVector3f & Point )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & operator= ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator^ ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: bool operator== ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: bool operator< ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Other ) const


code: bool operator!= ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator/ ( double InvScale ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & operator/= ( double InvScale )


code: double operator* ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator* ( double Scale ) const


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & operator*= ( double Scale )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) operator- ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


code: constexpr double & operator[] ( int32 Index )


code: constexpr double operator[] ( int32 Index ) const


code: void Set ( double * InCoordinates )


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & operator-= ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: void Set ( double InCoordX, double InCoordY, double InCoordZ )


code: void SetMax ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: void SetMin ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: double SignedAngle ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Vector2, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Normal ) const


code: double SquareDistance ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) const


description: A zero point (0,0,0)

code: static const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) ZeroPoint;


className: UnitPoint

code: static const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) UnitPoint;


code: FPoint ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint2D )


code: FPoint ( const double *const InPoint )


code: FPoint ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: FPoint ( double InCoordX, double InCoordY, double InCoordZ )


className: FPoint

code: class FPoint


code: double ComputeCosinus ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & OtherVector ) const


description: Return the projection of the point on the diagonal axis (of vector (1,1)) i.e. return U + V

code: double DiagonalAxisCoordinate() const


code: static const int32 Dimension = 2;


code: static const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) FarawayPoint;


code: double Distance ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) Middle ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Normalize ( double & Norm )


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) operator+ ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & operator+= ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point )


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & operator= ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point )


code: double operator^ ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


code: bool operator== ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


code: bool operator< ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & other ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) operator/ ( double InvScale ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & operator/= ( double InvScale )


code: double operator* ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) operator* ( double Scale ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & operator*= ( double Scale )


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) operator- ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


code: constexpr double & operator[] ( int32 Index )


code: constexpr double operator[] ( int32 Index ) const


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & operator-= ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point )


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) Rotate ( double Theta )


code: void Set ( double * NewCoordinate )


code: void Set ( double NewU, double NewV )


code: double SquareDistance ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) const


description: A zero point (0,0,0)

code: static const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) ZeroPoint;


code: FPoint2D ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: FPoint2D ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point )


code: FPoint2D ( double NewU, double NewV )


code: class FPoint2D


code: static const int32 Dimension = 4;


code: static const [FPointH](API\Runtime\CADKernel\CADKernel\Math\FPointH) FarawayPoint;


className: FPointH::operator FPoint

code: operator FPoint() const


code: [FPointH](API\Runtime\CADKernel\CADKernel\Math\FPointH) operator+ ( const [FPointH](API\Runtime\CADKernel\CADKernel\Math\FPointH) & Point ) const


code: [FPointH](API\Runtime\CADKernel\CADKernel\Math\FPointH) operator* ( double Factor ) const


code: [FPointH](API\Runtime\CADKernel\CADKernel\Math\FPointH) operator- ( const [FPointH](API\Runtime\CADKernel\CADKernel\Math\FPointH) & Point ) const


code: constexpr double & operator[] ( int32 Index )


code: constexpr double operator[] ( int32 Index ) const


description: A zero point (0,0,0)

code: static const [FPointH](API\Runtime\CADKernel\CADKernel\Math\FPointH) ZeroPoint;


code: FPointH ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point, double Weight )


code: FPointH ( const double InX, const double InY, const double InZ, const double InW )


className: FPointH

code: class FPointH


code: typedef [TSegment](API\Runtime\CADKernel\CADKernel\Math\TSegment)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > FSegment2D


code: typedef [TSegment](API\Runtime\CADKernel\CADKernel\Math\TSegment)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > FSegment3D


code: constexpr const [FIsoCurvature](API\Runtime\CADKernel\CADKernel\Math\FIsoCurvature) & operator[] ( const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) & Iso ) const


code: constexpr [FIsoCurvature](API\Runtime\CADKernel\CADKernel\Math\FIsoCurvature) & operator[] ( const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) & Iso )


code: void ExtendTo ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & MaxLimit )


description: A default boundary (0., 1., 0., 1.)

code: static const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) DefaultBoundary;


code: void ExtendTo ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point )


code: void ExtendTo ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point )


code: const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & Get ( [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) Type ) const


code: void Init()


code: [ESituation](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__ESituation) IsInside ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & OtherBoundary, const [FSurfacicTolerance](API\Runtime\CADKernel\CADKernel\Math\FSurfacicTolerance) & Tolerance2D )


code: bool IsDegenerated() const


className: FSurfaceCurvature

code: struct FSurfaceCurvature


code: double Length ( const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) & Iso ) const


description: If a point is outside the bounds, set the coordinate to insert the point inside the bounds

code: void MoveInsideIfNot ( [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point, const double Tolerance ) const


code: void MoveInsideIfNot ( [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point, const double Tolerance ) const


code: void Offset ( const double Tolerance )


code: constexpr const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & operator[] ( const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) & Iso ) const


code: constexpr [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & operator[] ( const [EIso](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__EIso) & Iso )


code: void RestrictTo ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & MaxBound )


description: Set the boundary with the min and max of this array

code: void Set ( const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) > & Points )


code: void Set ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point2 )


code: void Set ( const double InUMin, const double InUMax, const double InVMin, const double InVMax )


code: void Set ( const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & BoundU, const [FLinearBoundary](API\Runtime\CADKernel\CADKernel\Math\FLinearBoundary) & BoundV )


code: void TrimAt ( const [FSurfacicBoundary](API\Runtime\CADKernel\CADKernel\Math\FSurfacicBoundary) & MaxLimit )


description: If Along each axis, the bound width is near equal to zero, it's widened by +/- DOUBLE_SMALL_NUMBER

code: void WidenIfDegenerated()


code: FSurfacicBoundary ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point2 )


code: FSurfacicBoundary ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point2, const double OffsetTolerance )


code: FSurfacicBoundary ( const double InUMin, const double InUMax, const double InVMin, const double InVMax, const double OffsetTolerance )


code: FSurfacicBoundary ( const double InUMin, const double InUMax, const double InVMin, const double InVMax )


className: FSurfacicBoundary

code: class FSurfacicBoundary


code: FTriangle ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InPoint0, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InPoint1, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InPoint2 )


code: virtual [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) ComputeNormal() const


className: FTriangle

code: struct FTriangle : public [UE::CADKernel::TTriangle< FPoint >](API\Runtime\CADKernel\CADKernel\Math\TTriangle)


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) CircumCircleCenterWithSquareRadius ( double & SquareRadius ) const


code: FTriangle2D ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint0, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint2 )


code: struct FTriangle2D : public [UE::CADKernel::TTriangle< FPoint2D >](API\Runtime\CADKernel\CADKernel\Math\TTriangle)


code: bool Contains ( const PointType & Point ) const


code: const PointType & GetMax() const


code: const PointType & GetMin() const


code: bool Contains ( const [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) & Aabb ) const


code: double GetSize ( int32 Axis ) const


code: [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) operator+ ( const PointType & Point ) const


code: [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) operator+ ( const [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) & Aabb ) const


code: [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) & operator+= ( const double * Point )


code: [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) & operator+= ( const PointType & Point )


code: [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) & operator+= ( const [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) & aabb )


code: [TAABB](API\Runtime\CADKernel\CADKernel\Math\TAABB) & operator+= ( const [TArray](API\Runtime\Core\Containers\TArray)< PointType > & Points )


code: void SetMinSize ( double MinSize )


code: TAABB ( const PointType & InMinCorner, const PointType & InMaxCorner )


className: TAABB

code: template<class PointType> class TAABB

MaxCorner

type: PointType


code: [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) ComputeNormal ( const [TQuadrangle](API\Runtime\CADKernel\CADKernel\Math\TQuadrangle)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & InQuadrangle ) const


code: constexpr const PointType & operator[] ( int32 Index ) const


code: PointType ProjectPoint ( const PointType & InPoint, [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & OutCoordinate )


code: TQuadrangle ( const PointType & InPoint0, const PointType & InPoint1, const PointType & InPoint2, const PointType & InPoint3 )


className: TQuadrangle

code: template<class PointType> struct TQuadrangle

type: const PointType...


code: TSegment ( const PointType & InPoint0, const PointType & InPoint1 )


className: TSegment

code: template<class PointType> struct TSegment


code: virtual PointType CircumCircleCenter() const


code: virtual PointType ProjectPoint ( const PointType & InPoint, [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & OutCoordinate )


className: TTriangle

code: template<class PointType> struct TTriangle


code: TTriangle ( const PointType & InPoint0, const PointType & InPoint1, const PointType & InPoint2 )


code: namespace UE { namespace CADKernel { bool UE::CADKernel::AreParallel ( const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & SegmentAB, const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & SegmentCD ) } }


description: Return true if all of the segment BPi is inside the sector defined the half-lines [BA) and [BC) in the counterclockwise.

code: namespace UE { namespace CADKernel { bool UE::CADKernel::ArePointsInsideSectorABC ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointA, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointB, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointC, const [TArray](API\Runtime\Core\Containers\TArray)< const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) * > & Points, const double FlatAngle ) } }


code: namespace UE { namespace CADKernel { [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) UE::CADKernel::ComputeCircumCircleCenterAndSquareRadius ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint0, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint2, double & OutSquareRadius ) } }


description: Coordinate of the projected point in the segment AB (coordinate of A = 0 and of B = 1)

code: namespace UE { namespace CADKernel { template<class PointType> double UE::CADKernel::CoordinateOfProjectedPointOnSegment ( const PointType & Point, const PointType & InSegmentA, const PointType & InSegmentB, bool bRestrictCoodinateToInside ) } }


description: Return a slope between [0, 1] relative to the nearest axis between horizontal or vertical axis i.e. ComputeUnorientedSlope => 0.5 return 0.5 ComputeUnorientedSlope => 2.3 return 0.3 ComputeUnorientedSlope => 3.6 return 0.4

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeSlopeRelativeToNearestAxis ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint ) } }


description: Return a slope between [0, 2] relative to reference Axis i.e. ComputeUnorientedSlope => 0.5 return 0.5 ComputeUnorientedSlope => 2.3 return 1.7

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeSlopeRelativeToReferenceAxis ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint, double ReferenceAxisSlope ) } }


code: namespace UE { namespace CADKernel { double UE::CADKernel::ClockwiseSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint, double ReferenceSlope ) } }


description: https://en.wikipedia.org/wiki/Circumscribed_circle#Cartesian_coordinates_2With A = (0, 0)

code: namespace UE { namespace CADKernel { [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) UE::CADKernel::ComputeCircumCircleCenter ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint0, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InPoint2 ) } }


code: namespace UE { namespace CADKernel { [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) UE::CADKernel::ComputeCircumCircleCenter ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point0, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point1, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point2 ) } }


code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeCosinus ( FVector Vector, FVector OtherVector ) } }


description:
Compute the oriented slope of a segment according to a reference slope
a slope between [-4, 4] i.e. an equivalent angle between [-Pi, Pi]

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeOrientedSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint, double ReferenceSlope ) } }


description:
Compute the positive slope between the segments [StartPoint, EndPoint1] and [StartPoint, EndPoint2]
a slope between [-4, 4] i.e. an equivalent angle between [-Pi, Pi]

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeOrientedSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint2 ) } }


description: Compute the oriented slope of a segment according to a reference slope This method is used to compute an approximation of the angle between two segments in 2D. return a slope between [0, 8] i.e. an equivalent angle between [0, 2Pi]

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputePositiveSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint, double ReferenceSlope ) } }


description:
Compute the positive slope between the segments [StartPoint, EndPoint1] and [StartPoint, EndPoint2]
a slope between [0, 8] i.e. an equivalent angle between [0, 2Pi]

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputePositiveSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint2 ) } }


description:
Compute the slope between the segments [StartPoint, EndPoint1] and [StartPoint, EndPoint2]
a slope i.e. an equivalent angle

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint2 ) } }


code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint ) } }


description: Compute the slope of a segment according to a reference slope return the slope

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint, double ReferenceSlope ) } }


description: Return a slope between [0, 4] i.e. an angle between [0, Pi]

code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeUnorientedSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint, double ReferenceSlope ) } }


code: namespace UE { namespace CADKernel { double UE::CADKernel::ComputeUnorientedSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint1, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint2 ) } }


code: namespace UE { namespace CADKernel { double UE::CADKernel::CounterClockwiseSlope ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & StartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & EndPoint, double ReferenceSlope ) } }


code: namespace UE { namespace CADKernel { template<class T> static T UE::CADKernel::Cubic ( const T A ) } }


description: the distance between the point and the segment. If the projection of the point on the segment is not inside it, return the distance of the point to nearest the segment extremity

code: namespace UE { namespace CADKernel { template<class PointType> double UE::CADKernel::DistanceOfPointToSegment ( const PointType & Point, const PointType & SegmentPoint1, const PointType & SegmentPoint2 ) } }


description: the distance between the point and the line i.e. the distance between the point and its projection on the line

code: namespace UE { namespace CADKernel { template<class PointType> double UE::CADKernel::DistanceOfPointToLine ( const PointType & Point, const PointType & LinePoint1, const PointType & LineDirection ) } }


description: this will eventually be reconciled with what the Geometry team is using.

code: namespace UE { namespace CADKernel { enum EPolygonSide { Side01 = 0, Side12, Side20, Side23, Side30, } } }


description: The segments must intersect because no check is done

code: namespace UE { namespace CADKernel { [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) UE::CADKernel::FindIntersectionOfSegments2D ( const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & SegmentAB, const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & SegmentCD, double & OutABIntersectionCoordinate ) } }


code: namespace UE { namespace CADKernel { [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) UE::CADKernel::FindIntersectionOfSegments2D ( const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & SegmentAB, const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & SegmentCD ) } }


description: false if the lines are parallel

code: namespace UE { namespace CADKernel { bool UE::CADKernel::FindIntersectionOfLines2D ( const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & LineAB, const [FSegment2D](API\Runtime\CADKernel\CADKernel\Math\FSegment2D) & LineCD, [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & OutIntersectionPoint ) } }


description: Sort input values to be Min and Max

code: namespace UE { namespace CADKernel { template<typename ValueType> const void UE::CADKernel::GetMinMax ( ValueType & Min, ValueType & Max ) } }


description: Sort input A & B values into OutMin & OutMax

code: namespace UE { namespace CADKernel { template<typename ValueType> const void UE::CADKernel::GetMinMax ( const ValueType & ValueA, const ValueType & ValueB, ValueType & OutMin, ValueType & OutMax ) } }


description: Return true if the segment BP is inside the sector defined the half-lines [BA) and [BC) in the counterclockwise. Return false if ABP angle or PBC angle is too flat (smaller than FlatAngle)

code: namespace UE { namespace CADKernel { bool UE::CADKernel::IsPointPInsideSectorABC ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointA, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointB, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointC, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointP, const double FlatAngle ) } }


code: namespace UE { namespace CADKernel { [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) UE::CADKernel::operator* ( double Scale, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) } }


code: namespace UE { namespace CADKernel { [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) UE::CADKernel::operator* ( float Scale, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point ) } }


code: namespace UE { namespace CADKernel { [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) UE::CADKernel::operator* ( double Scale, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) } }


code: namespace UE { namespace CADKernel { [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) UE::CADKernel::operator* ( float Scale, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Point ) } }


description: InSegmentA + (InSegmentB - InSegmentA) * InCoordinate

code: namespace UE { namespace CADKernel { template<class PointType> PointType UE::CADKernel::PointOnSegment ( const PointType & InSegmentA, const PointType & InSegmentB, double InCoordinate ) } }


code: namespace UE { namespace CADKernel { [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) UE::CADKernel::ProjectPointOnPlane ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Point, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & Origin, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & InNormal, double & OutDistance ) } }


description: Projected point

code: namespace UE { namespace CADKernel { template<class PointType> PointType UE::CADKernel::ProjectPointOnSegment ( const PointType & Point, const PointType & InSegmentA, const PointType & InSegmentB, double & OutCoordinate, bool bRestrictCoodinateToInside ) } }


code: namespace UE { namespace CADKernel { int32 UE::CADKernel::RealCompare ( const double Value1, const double Value2, const double Tolerance ) } }


code: namespace UE { namespace CADKernel { template<class PointType> double UE::CADKernel::SquareDistanceOfPointToSegment ( const PointType & Point, const PointType & SegmentPoint1, const PointType & SegmentPoint2 ) } }


code: namespace UE { namespace CADKernel { [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) UE::CADKernel::SlopeToVector ( const double Slope ) } }


description:
Swap a slope i.e Slope + PiSlope i.e. angle + Pi
a slope between [0, 8]

code: namespace UE { namespace CADKernel { double UE::CADKernel::SwapSlopeOrientation ( double Slope ) } }


code: namespace UE { namespace CADKernel { template<class T> uint8 UE::CADKernel::ToUInt8 ( T Value ) } }


description: Return a slope between [0, 2] relative to reference Axis i.e. ComputeUnorientedSlope => 0.5 return 0.5 ComputeUnorientedSlope => 2.3 return 1.7

code: namespace UE { namespace CADKernel { double UE::CADKernel::TransformIntoSlopeRelativeToReferenceAxis ( double Slope ) } }


code: namespace UE { namespace CADKernel { double UE::CADKernel::TransformIntoClockwiseSlope ( double Slope ) } }


description:
Transform a positive slope into an oriented slope [-4, 4] i.e. an equivalent angle between [-Pi, Pi]
a slope between [-4, 4]

code: namespace UE { namespace CADKernel { double UE::CADKernel::TransformIntoOrientedSlope ( double Slope ) } }


description:
Transform a slope into a positive slope [0, *] i.e. an equivalent angle between [0, 2.Pi]
a slope between [0, 8]

code: namespace UE { namespace CADKernel { double UE::CADKernel::TransformIntoPositiveSlope ( double Slope ) } }


description:
Transform a positive slope into an unoriented slope [0, 4] i.e. an equivalent angle between [0, Pi]
a slope between [0, 4]

code: namespace UE { namespace CADKernel { double UE::CADKernel::TransformIntoUnorientedSlope ( double Slope ) } }


description: SlopeUtils.h

code: namespace UE { namespace CADKernel { double UE::CADKernel::WrapTo ( double Slope, const double StartOfPeriod, const double EndOfPeriod, const double PeriodLength ) } }


description: Sag & Angle criterion.pdfhttps://docs.google.com/presentation/d/1bUnrRFWCW3sDn9ngb9ftfQS-2JxNJaUZlh783hZMMEw/edit?usp=sharing

code: virtual void ApplyOnEdgeParameters ( [FTopologicalEdge](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalEdge) & Edge, const [TArray](API\Runtime\Core\Containers\TArray)< double > & Coordinates, const [TArray](API\Runtime\Core\Containers\TArray)< [FCurvePoint](API\Runtime\CADKernel\CADKernel\Geo\FCurvePoint) > & Points ) const


code: virtual double ComputeDeltaU ( double ChordLength, double DeltaU, double Sag ) const


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCriterion](API\Runtime\CADKernel\CADKernel\Mesh\Criteria\FCriterion) > CreateCriterion ( [ECriterion](API\Runtime\CADKernel\CADKernel\Mesh\Criteria\UE__CADKernel__ECriterion) type, double value )


description: Specific method for curve family to instantiate the correct derived class ofFCurve

code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCriterion](API\Runtime\CADKernel\CADKernel\Mesh\Criteria\FCriterion) > Deserialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Archive )


code: static double DefaultValue ( [ECriterion](API\Runtime\CADKernel\CADKernel\Mesh\Criteria\UE__CADKernel__ECriterion) type )


code: static double EvaluateSag ( const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & PointPoint, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & PointNext, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) & PointMiddle, double & Length )


code: static [FString](API\Runtime\Core\Containers\FString) GetCriterionName ( [ECriterion](API\Runtime\CADKernel\CADKernel\Mesh\Criteria\UE__CADKernel__ECriterion) CriterionType )


code: virtual [EEntity](API\Runtime\CADKernel\CADKernel\Core\UE__CADKernel__EEntity) GetEntityType() const


code: virtual bool IsAppliedBetweenBreaks() const


description: UpdateWithUMinValue: DeltaUMin = Max(DeltaUMin, NewDeltaUMin) DeltaUMax = Max(DeltaUMax, NewDeltaUMin)

code: virtual void UpdateDelta ( double InDeltaU, double InUSag, double InDiagonalSag, double InVSag, double ChordLength, double DiagonalLength, double & OutDeltaUMax, double & OutDeltaUMin, [FIsoCurvature](API\Runtime\CADKernel\CADKernel\Math\FIsoCurvature) & SurfaceCurvature ) const


description: DeltaUMax = Max(DeltaUMin, Min(DeltaUMax, NewDeltaUMax))

code: void UpdateWithUMaxValue ( double NewMaxValue, double & OutDeltaUMax, const double & OutDeltaUMin ) const


className: FCriterion

code: class FCriterion : public [UE::CADKernel::FEntity](API\Runtime\CADKernel\CADKernel\Core\FEntity)


description: Serialization of aFEntity. Each class derived fromFEntityhas to override this method (and call the direct base class override method first) E.g. class FEntityXXX : public FEntityXX { virtual voidSerialize(FCADKernelArchive& Ar)override { FEntityXX::Serialize(Ar); ... } }

code: virtual void Serialize ( [FCADKernelArchive](API\Runtime\CADKernel\CADKernel\Core\FCADKernelArchive) & Ar )


code: namespace UE { namespace CADKernel { enum ECriterion { Size = 0, MaxSize = 1, MinSize = 2, Angle = 3, Sag = 4, CADCurvature = 5, None = 255, } } }


code: void MeshEntities ( [TArray](API\Runtime\Core\Containers\TArray)< [FTopologicalShapeEntity](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalShapeEntity) * > & InEntities )


code: void MeshEntity ( [FTopologicalShapeEntity](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalShapeEntity) & InEntity )


code: FMesher ( [FModelMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FModelMesh) & InMeshModel, double GeometricTolerance, bool bActivateThinZoneMeshing )


className: FMesher

code: class FMesher

MeshModel

type: FModelMesh&


className: FAddMeshNodeFunc

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const int32, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) &, const double, const [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) &, const [FPairOfIndex](API\Runtime\CADKernel\CADKernel\Core\FPairOfIndex) &)> FAddMeshNodeFunc


code: [TArray](API\Runtime\Core\Containers\TArray)< double > GetElementLengths() const


code: FEdgeMesh ( [FModelMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FModelMesh) & Model, [FTopologicalEntity](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalEntity) & TopologicalEntity )


code: void Mesh ( int32 StartVertexNodeIndex, int32 EndVertexNodeIndex )


className: FEdgeMesh

description: Define the mesh of an edge. This mesh is polygon

code: class FEdgeMesh : public [UE::CADKernel::FMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FMesh)

EdgeVerticesIndex

type: TArray< int32 >

description: Indexof the vertices of the mesh of the TopologicalEdge in the MeshModel vertex array i.e. EdgeVerticesIndex = {5,10,11,12,13,14,3} defines Edge(Vertices[5],Vertices[10]), Edge(Vertices[10],Vertices[11]) etc of the mesh (Edge is side of mesh's triangle).


description: Compute the delta U corresponding to a delta length in the 2d space

code: double ComputeDeltaU ( const double DeltaLength ) const


code: double ComputeEdgeCoordinate ( const double SegmentU ) const


description: Compute the slope of the Segment defined by the two input points according to this.

code: double ComputeOrientedSlopeOf ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Middle, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Projection ) const


description: Point a parameter U of the segment in uniform scaled space

code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) ComputeEdgePoint ( double EdgeParamU ) const


description: Compute the slope of the input Segment according to this.

code: double ComputeOrientedSlopeOf ( const [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * Segment ) const


code: double ComputeUnorientedSlopeOf ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Middle, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & Projection ) const


description: Center of the segment in uniform scaled space


code: [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * GetCloseSegment() const


code: double ComputeUnorientedSlopeOf ( const [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * Segment ) const


code: double GetCloseSquareDistance() const


code: double GetCoordinate ( const [ELimit](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__ELimit) Limit ) const


code: [FTopologicalEdge](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalEdge) * GetEdge() const


description: the extremity Point of the segment in uniform scaled space

code: const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & GetExtemity ( const [ELimit](API\Runtime\CADKernel\CADKernel\Geo\UE__CADKernel__ELimit) Limit ) const


code: [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * GetNext() const


code: [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * GetPrevious() const


className: LastId

code: static FIdent LastId = 0;


code: [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) ProjectPoint ( const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & PointToProject, double & SegmentU ) const


code: void SetChainIndex ( FIdent index )


code: void SetBoundarySegment ( bool bInIsInnerLoop, [FTopologicalEdge](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalEdge) * InEdge, double InStartU, double InEndU, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InStartPoint, const [FPoint2D](API\Runtime\CADKernel\CADKernel\Math\FPoint2D) & InEndPoint )


code: void SetCloseSegment ( [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * InSegmentA, double InDistance )


code: void SetNext ( [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * Segment )


code: void UpdateReferences ( [TMap](API\Runtime\Core\Containers\TMap)< int32, [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) * > & Map )


code: FEdgeSegment ( const [FEdgeSegment](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeSegment) & Segment )


className: FEdgeSegment

code: class FEdgeSegment : public [UE::CADKernel::FHaveStates](API\Runtime\CADKernel\CADKernel\Core\FHaveStates)


code: void AddTriangle ( int32 IndexA, int32 IndexB, int32 IndexC )


code: void GetNodeIdToCoordinates ( [TMap](API\Runtime\Core\Containers\TMap)< int32, const [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) * > & NodeIdToCoordinates ) const


code: void Init ( int32 TriangleNum, int32 VertexNum )


code: FFaceMesh ( [FModelMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FModelMesh) & InMeshModel, [FTopologicalEntity](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalEntity) & InTopologicalEntity )


code: const [FTopologicalEntity](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalEntity) & GetGeometricEntity() const


className: FFaceMesh

description: Define the mesh of a topological face. This mesh is an array of triangle

code: class FFaceMesh : public [UE::CADKernel::FMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FMesh)

Normals

description: Normals of the surface mesh vertices

TrianglesVerticesIndex

description: Indexof the 3 vertices of each triangle in the local VertexIndices i.e. Triangle(a,b,c) use VertexIndices[a], VertexIndices[b], VertexIndices[c]

UVMap

description: UV coordinates of the surface mesh vertices

VerticesGlobalIndex

description: Indexof the surface mesh vertices in the MeshModel vertex set


code: virtual [EEntity](API\Runtime\CADKernel\CADKernel\Core\UE__CADKernel__EEntity) GetEntityType() const


code: const [FModelMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FModelMesh) & GetMeshModel() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & GetNodeCoordinates()


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & GetNodeCoordinates() const


code: const int32 GetLastVertexIndex() const


code: const int32 GetStartVertexId() const


code: const int32 GetIndexInMeshModel() const


code: FMesh ( [FModelMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FModelMesh) & InMeshModel, [FTopologicalEntity](API\Runtime\CADKernel\CADKernel\Topo\FTopologicalEntity) & InTopologicalEntity )


code: void AddCriterion ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCriterion](API\Runtime\CADKernel\CADKernel\Mesh\Criteria\FCriterion) > & Criterion )


className: FMesh

code: class FMesh : public [UE::CADKernel::FEntityGeom](API\Runtime\CADKernel\CADKernel\Core\FEntityGeom)

TopologicalEntity

type: FTopologicalEnt...


code: void AddMesh ( [FVertexMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FVertexMesh) & Mesh )


code: void AddMesh ( [FEdgeMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FEdgeMesh) & Mesh )


code: void AddMesh ( [FFaceMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FFaceMesh) & Mesh )


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCriterion](API\Runtime\CADKernel\CADKernel\Mesh\Criteria\FCriterion) > > & GetCriteria() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FFaceMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FFaceMesh) * > & GetFaceMeshes() const


code: double GetGeometricTolerance() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FMesh) * > & GetMeshes() const


description: Const int32 GetIndexOfVertexFromId(const int32 Id) const; const int32 GetIndexOfEdgeFromId(const int32 Id) const; const int32 GetIndexOfSurfaceFromId(const int32 Id) const;

code: const [FVertexMesh](API\Runtime\CADKernel\CADKernel\Mesh\Structure\FVertexMesh) * GetMeshOfVertexNodeId ( const int32 Id ) const


code: void GetNodeCoordinates ( [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & NodeCoordinates ) const


code: void GetNodeCoordinates ( [TArray](API\Runtime\Core\Containers\TArray)< FVector3f > & NodeCoordinates ) const


code: void RegisterCoordinates ( [TArray](API\Runtime\Core\Containers\TArray)< [FPoint](API\Runtime\CADKernel\CADKernel\Math\FPoint) > & Coordinates, int32 & OutStartVertexId, int32 & OutIndex )


code: virtual void ResetMarkersRecursively() const


code: virtual void SpawnIdent ( [FDatabase](API\Runtime\CADKernel\CADKernel\Core\FDatabase) & Database )