UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::CADKernel::TPolylineCurve< PointType, PointCurveType > Class Template Reference

#include <PolylineCurve.h>

+ Inheritance diagram for UE::CADKernel::TPolylineCurve< PointType, PointCurveType >:

Public Member Functions

virtual void Serialize (FCADKernelArchive &Ar) override
 
virtual void EvaluateCurvesPoint (double InCoordinate, PointCurveType &OutPoint, int32 InDerivativeOrder=0) const
 
PointType EvaluatePointAt (double InCoordinate) const
 
virtual void EvaluateCurvesPoints (const TArray< double > &InCoordinates, TArray< PointCurveType > &OutPoints, int32 InDerivativeOrder=0) const
 
virtual double ComputeSubLength (const FLinearBoundary &InBoundary) const
 
const TArray< PointType > & GetPolylinePoints () const
 
const TArray< double > & GetPolylineParameters () const
 
virtual void FindNotDerivableCoordinates (const FLinearBoundary &InBoundary, int32 DerivativeOrder, TArray< double > &OutNotDerivableCoordinates) const override
 
void SetPoints (const TArray< PointType > &InPoints)
 
template<class PolylineType >
TSharedPtr< FEntityGeomApplyMatrixImpl (const FMatrixH &InMatrix) const
 
virtual void Offset (const FVector &OffsetDirection) override
 
virtual void ExtendTo (const FVector &DesiredPoint) override
 
- Public Member Functions inherited from UE::CADKernel::FCurve
int32 GetDimension () const
 
virtual EEntity GetEntityType () const override
 
virtual ECurve GetCurveType () const =0
 
double GetUMin () const
 
double GetUMax () const
 
const FLinearBoundaryGetBoundary () const
 
virtual TSharedPtr< FEntityGeomApplyMatrix (const FMatrixH &InMatrix) const override=0
 
virtual double GetLength (double Tolerance) const
 
virtual void EvaluatePoint (double Coordinate, FCurvePoint &OutPoint, int32 DerivativeOrder=0) const
 
virtual FVector EvaluatePoint (double Coordinate) const
 
virtual void Evaluate2DPoint (double Coordinate, FCurvePoint2D &OutPoint, int32 DerivativeOrder=0) const
 
virtual FVector2d Evaluate2DPoint (double Coordinate) const
 
virtual void Evaluate2DPoint (double Coordinate, FVector2d &OutPoint) const
 
virtual void EvaluatePoints (const TArray< double > &Coordinates, TArray< FCurvePoint > &OutPoints, int32 DerivativeOrder=0) const
 
virtual void EvaluatePoints (const TArray< double > &Coordinates, TArray< FVector > &OutPoints) const
 
virtual void Evaluate2DPoints (const TArray< double > &Coordinates, TArray< FVector2d > &OutPoints) const
 
virtual void Evaluate2DPoints (const TArray< double > &Coordinates, TArray< FCurvePoint2D > &OutPoints, int32 DerivativeOrder=0) const
 
void FindNotDerivableCoordinates (int32 DerivativeOrder, TArray< double > &OutNotDerivableCoordinates) const
 
void Presample (TArray< double > &OutSampling, double Tolerance) const
 
virtual void Presample (const FLinearBoundary &InBoundary, double Tolerance, TArray< double > &OutSampling) const
 
virtual TSharedPtr< FCurveMakeBoundedCurve (const FLinearBoundary &InBoundary)
 
virtual TSharedPtr< FCurveRebound (const FLinearBoundary &InBoundary)
 
virtual void ExtendTo (const FVector2d &DesiredPosition)
 
- Public Member Functions inherited from UE::CADKernel::FEntityGeom
 FEntityGeom ()=default
 
FIdent GetKioId () const
 
- Public Member Functions inherited from UE::CADKernel::FEntity
virtual ~FEntity ()
 
virtual void Delete ()
 
virtual void Empty ()
 
bool IsTopologicalEntity () const
 
bool IsTopologicalShapeEntity () const
 
bool IsGeometricalEntity ()
 
const TCHARGetTypeName () const
 
const FIdentGetId () const
 
virtual void SpawnIdent (FDatabase &Database)
 
virtual void ResetMarkersRecursively () const
 
- Public Member Functions inherited from TSharedFromThis< FEntity >
TSharedRef< FEntity, Mode > AsShared ()
 
TSharedRef< FEntity const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FEntity, Mode > AsWeak ()
 
TWeakPtr< FEntity const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 
- Public Member Functions inherited from UE::CADKernel::FHaveStates
 FHaveStates ()
 
void Serialize (FCADKernelArchive &Ar)
 
void ResetElementStatus ()
 
bool HasMarker1 () const
 
bool HasMarker2 () const
 
bool HasMarker1And2 () const
 
bool HasMarker1Or2 () const
 
void SetMarker1 () const
 
void SetMarker2 () const
 
void ResetMarker1 () const
 
void ResetMarker2 () const
 
void ResetMarkers () const
 
bool IsDeleted () const
 
void SetDeletedMarker () const
 
void ResetDeleted () const
 
virtual bool IsDeletedOrDegenerated () const
 
virtual bool IsDegenerated () const
 
virtual void SetAsDegenerated () const
 
virtual void ResetDegenerated () const
 
void SetWaitingMarker () const
 
void ResetWaitingMarker () const
 
virtual bool IsWaiting () const
 
void SetProcessedMarker () const
 
void ResetProcessedMarker () const
 
virtual bool IsProcessed () const
 
virtual bool IsProcessedDeletedOrDegenerated () const
 
void SetToProcessMarker () const
 
void ResetToProcessMarker () const
 
virtual bool IsToProcess () const
 
virtual bool IsNotToProcess () const
 
virtual bool IsNotToOrAlreadyProcess () const
 
- Public Member Functions inherited from UE::CADKernel::TPolyline< PointType >
 TPolyline (const TArray< PointType > &InPoints, const TArray< double > &InCoordinates)
 
 TPolyline (const TArray< PointType > &InPoints)
 
 TPolyline ()
 
void Serialize (FCADKernelArchive &Ar)
 
PointType ApproximatePoint (double InCoordinate) const
 
void ApproximatePoints (const TArray< double > &InCoordinates, TArray< PointType > &OutPoints) const
 
void GetSubPolyline (const FLinearBoundary &InBoundary, const EOrientation InOrientation, TArray< PointType > &OutPoints) const
 
void UpdateSubPolylineBBox (const FLinearBoundary &InBoundary, FPolylineBBox &OutBBox) const
 
void Sample (const FLinearBoundary &Boundary, const double DesiredSegmentLength, TArray< double > &OutCoordinates) const
 
double GetCoordinateOfProjectedPoint (const FLinearBoundary &Boundary, const PointType &PointOnEdge, PointType &ProjectedPoint) const
 
void ProjectPoints (const FLinearBoundary &InBoundary, const TArray< PointType > &InPointsToProject, TArray< double > &ProjectedPointCoordinates, TArray< PointType > &ProjectedPoints) const
 
const PointType & GetPointAt (int32 Index) const
 
const TArray< PointType > & GetPoints () const
 
const TArray< double > & GetCoordinates () const
 
TArray< double > & GetCoordinates ()
 
void SwapCoordinates (TArray< double > &NewCoordinates)
 
void GetAt (int32 Index, double &Coordinate, PointType &Point)
 
int32 Size () const
 
void Reserve (int32 Number)
 
void Empty (int32 Slack=0)
 
void EmplaceAt (int32 Index, TPolyline< PointType > &Polyline, int32 PointIndex)
 
void RemoveComplementaryPoints (int32 Offset)
 
void Pop ()
 
double GetLength (const FLinearBoundary &InBoundary) const
 

Protected Member Functions

 TPolylineCurve (const TArray< PointType > &InPoints, const TArray< double > &InCoordinates, int8 InDimension)
 
 TPolylineCurve (const TArray< PointType > &InPoints, int8 InDimension)
 
 TPolylineCurve ()
 
- Protected Member Functions inherited from UE::CADKernel::FCurve
 FCurve (int8 InDimension=3)
 
 FCurve (const FLinearBoundary &InBounds, int8 InDimension=3)
 
virtual double ComputeLength (const FLinearBoundary &InBoundary, double Tolerance) const
 
virtual double ComputeLength2D (const FLinearBoundary &InBoundary, double Tolerance) const
 
- Protected Member Functions inherited from UE::CADKernel::FEntity
bool SetId (FDatabase &Database)
 
- Protected Member Functions inherited from TSharedFromThis< FEntity >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Protected Attributes

TPolylineApproximator< PointType > Approximator
 
- Protected Attributes inherited from UE::CADKernel::FCurve
TCache< doubleGlobalLength
 
FLinearBoundary Boundary
 
int8 Dimension
 
- Protected Attributes inherited from UE::CADKernel::FEntityGeom
FIdent CtKioId = 0
 
- Protected Attributes inherited from UE::CADKernel::FEntity
FIdent Id = 0
 
- Protected Attributes inherited from UE::CADKernel::FHaveStates
EHaveStates States
 

Friends

class FEntity
 
class FPolylineTools
 

Additional Inherited Members

- Static Public Member Functions inherited from UE::CADKernel::FCurve
static TSharedPtr< FCurveMakeNurbsCurve (FNurbsCurveData &InNurbsData)
 
static TSharedPtr< FCurveMakeBezierCurve (const TArray< FVector > &InPoles)
 
static TSharedPtr< FCurveMakeSplineCurve (const TArray< FVector > &InPoles)
 
static TSharedPtr< FCurveMakeSplineCurve (const TArray< FVector > &InPoles, const TArray< FVector > &Tangents)
 
static TSharedPtr< FCurveMakeSplineCurve (const TArray< FVector > &InPoles, const TArray< FVector > &ArriveTangents, const TArray< FVector > &LeaveTangents)
 
static TSharedPtr< FEntityDeserialize (FCADKernelArchive &Archive)
 
- Static Public Member Functions inherited from UE::CADKernel::FEntity
template<typename OtherEntity , typename... InArgTypes>
static TSharedRef< OtherEntity > MakeShared (InArgTypes &&... Args)
 
template<typename OtherEntity >
static TSharedRef< OtherEntity > MakeShared (FCADKernelArchive &Archive)
 
static void SerializeIdent (FCADKernelArchive &Ar, TSharedPtr< FEntity > &Entity, bool bSaveSelection=true)
 
static void SerializeIdent (FCADKernelArchive &Ar, TWeakPtr< FEntity > &Entity, bool bSaveSelection=true)
 
static void SerializeIdent (FCADKernelArchive &Ar, FEntity **Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, EntityType **Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, TSharedPtr< EntityType > &Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, TWeakPtr< EntityType > &Entity, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< FEntity * > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TWeakPtr< FEntity > > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TSharedPtr< FEntity > > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TOrientedEntity< FEntity > > &Array)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< EntityType * > &Array, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TWeakPtr< EntityType > > &Array, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TSharedPtr< EntityType > > &Array, bool bSaveSelection=true)
 
static void SpawnIdentOnEntities (TArray< FEntity * > &Array, FDatabase &Database)
 
static void SpawnIdentOnEntities (TArray< TSharedPtr< FEntity > > &Array, FDatabase &Database)
 
static void SpawnIdentOnEntities (TArray< TOrientedEntity< FEntity > > &Array, FDatabase &Database)
 
template<typename EntityType >
static void SpawnIdentOnEntities (TArray< TSharedPtr< EntityType > > &Array, FDatabase &Database)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< FEntity * > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TWeakPtr< FEntity > > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TSharedPtr< FEntity > > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TOrientedEntity< FEntity > > &Array)
 
template<typename EntityType >
static void ResetMarkersRecursivelyOnEntities (const TArray< TSharedPtr< EntityType > > &Array)
 
static TSharedPtr< FEntityDeserialize (FCADKernelArchive &Ar)
 
static const TCHARGetTypeName (EEntity Type)
 
- Public Attributes inherited from UE::CADKernel::TPolyline< PointType >
TArray< doubleCoordinates
 
TArray< PointType > Points
 
TArray< PointType > Tangent
 
TPolylineApproximator< PointType > Approximator
 
bool bWithTangent = false
 
- Static Protected Member Functions inherited from TSharedFromThis< FEntity >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 
- Static Protected Attributes inherited from UE::CADKernel::FEntity
static const TCHARTypesNames []
 

Constructor & Destructor Documentation

◆ TPolylineCurve() [1/3]

template<class PointType , class PointCurveType >
UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::TPolylineCurve ( const TArray< PointType > &  InPoints,
const TArray< double > &  InCoordinates,
int8  InDimension 
)
inlineprotected

◆ TPolylineCurve() [2/3]

template<class PointType , class PointCurveType >
UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::TPolylineCurve ( const TArray< PointType > &  InPoints,
int8  InDimension 
)
inlineprotected

◆ TPolylineCurve() [3/3]

template<class PointType , class PointCurveType >
UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::TPolylineCurve ( )
inlineprotected

Member Function Documentation

◆ ApplyMatrixImpl()

template<class PointType , class PointCurveType >
template<class PolylineType >
TSharedPtr< FEntityGeom > UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::ApplyMatrixImpl ( const FMatrixH InMatrix) const
inline

◆ ComputeSubLength()

template<class PointType , class PointCurveType >
virtual double UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::ComputeSubLength ( const FLinearBoundary InBoundary) const
inlinevirtual

◆ EvaluateCurvesPoint()

template<class PointType , class PointCurveType >
virtual void UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::EvaluateCurvesPoint ( double  InCoordinate,
PointCurveType OutPoint,
int32  InDerivativeOrder = 0 
) const
inlinevirtual

◆ EvaluateCurvesPoints()

template<class PointType , class PointCurveType >
virtual void UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::EvaluateCurvesPoints ( const TArray< double > &  InCoordinates,
TArray< PointCurveType > &  OutPoints,
int32  InDerivativeOrder = 0 
) const
inlinevirtual

◆ EvaluatePointAt()

template<class PointType , class PointCurveType >
PointType UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::EvaluatePointAt ( double  InCoordinate) const
inline

◆ ExtendTo()

template<class PointType , class PointCurveType >
virtual void UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::ExtendTo ( const FVector DesiredPosition)
inlineoverridevirtual

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

Reimplemented from UE::CADKernel::FCurve.

◆ FindNotDerivableCoordinates()

template<class PointType , class PointCurveType >
virtual void UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::FindNotDerivableCoordinates ( const FLinearBoundary InBoundary,
int32  DerivativeOrder,
TArray< double > &  OutNotDerivableCoordinates 
) const
inlineoverridevirtual

Reimplemented from UE::CADKernel::FCurve.

◆ GetPolylineParameters()

template<class PointType , class PointCurveType >
const TArray< double > & UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::GetPolylineParameters ( ) const
inline

◆ GetPolylinePoints()

template<class PointType , class PointCurveType >
const TArray< PointType > & UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::GetPolylinePoints ( ) const
inline

◆ Offset()

template<class PointType , class PointCurveType >
virtual void UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::Offset ( const FVector OffsetDirection)
inlineoverridevirtual

Implements UE::CADKernel::FCurve.

◆ Serialize()

template<class PointType , class PointCurveType >
virtual void UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::Serialize ( FCADKernelArchive Ar)
inlineoverridevirtual

Serialization of a FEntity. Each class derived from FEntity has to override this method (and call the direct base class override method first) E.g. class FEntityXXX : public FEntityXX { virtual void Serialize(FCADKernelArchive& Ar) override { FEntityXX::Serialize(Ar); ... } }

Reimplemented from UE::CADKernel::FCurve.

◆ SetPoints()

template<class PointType , class PointCurveType >
void UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::SetPoints ( const TArray< PointType > &  InPoints)
inline

Friends And Related Symbol Documentation

◆ FEntity

template<class PointType , class PointCurveType >
friend class FEntity
friend

◆ FPolylineTools

template<class PointType , class PointCurveType >
friend class FPolylineTools
friend

Member Data Documentation

◆ Approximator

template<class PointType , class PointCurveType >
TPolylineApproximator<PointType> UE::CADKernel::TPolylineCurve< PointType, PointCurveType >::Approximator
protected

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