Navigation
API > API/Runtime > API/Runtime/CADKernel
A restriction curve is the curve carrying an edge
It's defined by
- A surfacic curve defined by a 2D curve (
- A linear approximation of the surfacic curve (
| Name | FRestrictionCurve |
| Type | class |
| Header File | /Engine/Source/Runtime/Datasmith/CADKernel/Base/Public/Geo/Curves/RestrictionCurve.h |
| Include Path | #include "Geo/Curves/RestrictionCurve.h" |
Syntax
class FRestrictionCurve : public UE::CADKernel::FSurfacicCurve
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FEntity → FEntityGeom → FCurve → FSurfacicCurve → FRestrictionCurve
- FHaveStates → FEntity → FEntityGeom → FCurve → FSurfacicCurve → FRestrictionCurve
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRestrictionCurve
(
TSharedRef< FSurface > InCarrierSurface, |
Geo/Curves/RestrictionCurve.h | ||
| Geo/Curves/RestrictionCurve.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FVector2d Approximate2DPoint
(
double InCoordinate |
Fast computation of the point in the parametric space of the carrier surface. | Geo/Curves/RestrictionCurve.h | |
void Approximate2DPoints
(
const TArray< double >& InCoordinates, |
Fast computation of the point in the parametric space of the carrier surface. | Geo/Curves/RestrictionCurve.h | |
FVector Approximate3DPoint
(
double InCoordinate |
Fast computation of the point in the parametric space of the carrier surface. | Geo/Curves/RestrictionCurve.h | |
void Approximate3DPoints
(
const TArray< double >& InCoordinates, |
Fast computation of the 3D point of the curve. | Geo/Curves/RestrictionCurve.h | |
double ApproximateLength
(
const FLinearBoundary& InBoundary |
Geo/Curves/RestrictionCurve.h | ||
void ApproximatePolyline
(
FSurfacicPolyline& OutPolyline |
Approximation of surfacic polyline (points 2d, 3d, normals, tangents) defined by its coordinates compute with carrier surface polyline | Geo/Curves/RestrictionCurve.h | |
void CheckIfDegenerated
(
const FLinearBoundary& InBoundary, |
A check is done to verify that: | Geo/Curves/RestrictionCurve.h | |
void ComputeIntersectionsWithIsos
(
const FLinearBoundary& InBoundary, |
Geo/Curves/RestrictionCurve.h | ||
const TSharedRef< FCurve > Get2DCurve() |
Geo/Curves/RestrictionCurve.h | ||
double GetCoordinateOfProjectedPoint
(
const FLinearBoundary& InBoundary, |
Geo/Curves/RestrictionCurve.h | ||
void GetDiscretizationPoints
(
const FLinearBoundary& InBoundary, |
Get the sub polyline bounded by the input InBoundary in the orientation of the input InOrientation and append it to the output OutPoints | Geo/Curves/RestrictionCurve.h | |
void GetDiscretizationPoints
(
const FLinearBoundary& InBoundary, |
Get the sub polyline bounded by the input InBoundary in the orientation of the input InOrientation and append it to the output OutPoints | Geo/Curves/RestrictionCurve.h | |
void GetExtremities
(
const FLinearBoundary& InBoundary, |
Geo/Curves/RestrictionCurve.h | ||
FVector2d GetExtremityTolerances
(
const FLinearBoundary& InBoundary |
Geo/Curves/RestrictionCurve.h | ||
double GetMinLinearTolerance() |
Geo/Curves/RestrictionCurve.h | ||
const FSurfacicPolyline & GetPolyline() |
Geo/Curves/RestrictionCurve.h | ||
int32 GetPolylineSize() |
Geo/Curves/RestrictionCurve.h | ||
FVector2d GetTangent2DAt
(
double InCoordinate |
Geo/Curves/RestrictionCurve.h | ||
FVector GetTangentAt
(
double InCoordinate |
Geo/Curves/RestrictionCurve.h | ||
double GetToleranceAt
(
const double InCoordinate |
Geo/Curves/RestrictionCurve.h | ||
bool IsIso
(
EIso Iso, |
Geo/Curves/RestrictionCurve.h | ||
void Offset2D
(
const FVector2d& OffsetDirection |
Geo/Curves/RestrictionCurve.h | ||
void ProjectPoints
(
const FLinearBoundary& InBoundary, |
Geo/Curves/RestrictionCurve.h | ||
void ProjectTwinCurvePoints
(
const FLinearBoundary& InBoundary, |
Project a set of points of a twin curve on the 3D polyline and return the coordinate of the projected point | Geo/Curves/RestrictionCurve.h | |
void Sample
(
const FLinearBoundary& InBoundary, |
Samples the sub curve limited by the boundary respecting the input Desired segment length | Geo/Curves/RestrictionCurve.h |
Overridden from FCurve
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ExtendTo
(
const FVector2d& DesiredPosition |
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 | Geo/Curves/RestrictionCurve.h | |
virtual ECurve GetCurveType() |
Geo/Curves/RestrictionCurve.h | ||
virtual void Offset
(
const FVector& OffsetDirection |
Must not be call | Geo/Curves/RestrictionCurve.h |
Overridden from FEntityGeom
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TSharedPtr< FEntityGeom > ApplyMatrix
(
const FMatrixH& InMatrix |
Geo/Curves/RestrictionCurve.h |
Overridden from FEntity
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Serialize
(
FCADKernelArchive& Ar |
TODO static TSharedPtr |
Geo/Curves/RestrictionCurve.h |