UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::CADKernel::FSurface Class Referenceabstract

#include <Surface.h>

+ Inheritance diagram for UE::CADKernel::FSurface:

Public Member Functions

virtual void ValidateUVPoints (TArray< FVector2d > &UVPoints) const
 
virtual void Serialize (FCADKernelArchive &Ar) override
 
virtual ~FSurface ()=default
 
virtual EEntity GetEntityType () const override
 
virtual ESurface GetSurfaceType () const =0
 
const FSurfacicBoundaryGetBoundary () const
 
void TrimBoundaryTo (const FSurfacicBoundary NewLimit)
 
void ExtendBoundaryTo (const FSurfacicBoundary MaxLimit)
 
virtual TSharedPtr< FEntityGeomApplyMatrix (const FMatrixH &InMatrix) const =0
 
const FSurfacicToleranceGetIsoTolerances () const
 
double GetIsoTolerance (EIso Iso) const
 
double Get3DTolerance () const
 
virtual void EvaluatePoint (const FVector2d &InSurfacicCoordinate, FSurfacicPoint &OutPoint3D, int32 InDerivativeOrder=0) const =0
 
virtual void EvaluatePoints (const TArray< FVector2d > &InSurfacicCoordinates, TArray< FSurfacicPoint > &OutPoint3D, int32 InDerivativeOrder=0) const
 
virtual void EvaluatePoints (const TArray< FCurvePoint2D > &InSurfacicCoordinates, TArray< FSurfacicPoint > &OutPoint3D, int32 InDerivativeOrder=0) const
 
virtual void EvaluatePoints (const TArray< FCurvePoint2D > &InSurfacicCoordinates, TArray< FCurvePoint > &OutPoint3D, int32 InDerivativeOrder=0) const
 
virtual void EvaluatePoints (FSurfacicPolyline &Polyline) const
 
virtual void EvaluatePoints (const TArray< FCurvePoint2D > &Points2D, FSurfacicPolyline &Polyline) const
 
virtual FVector2d EvaluatePointInCylindricalSpace (const FVector2d &InSurfacicCoordinate) const
 
virtual void EvaluatePointGridInCylindricalSpace (const FCoordinateGrid &Coordinates, TArray< FVector2d > &) const
 
virtual void EvaluatePointGrid (const FCoordinateGrid &Coordinates, FSurfacicSampling &OutPoints, bool bComputeNormals=false) const
 
void EvaluateGrid (FGrid &Grid) const
 
virtual void EvaluateNormals (const TArray< FVector2d > &Points2D, TArray< FVector3f > &Normals) const
 
virtual void EvaluatePointAndNormal (const FVector2d &InPoint2D, FVector &Point, FVector3f &Normal) const
 
virtual FVector EvaluateNormal (const FVector2d &InPoint2D) const
 
void Sample (const FSurfacicBoundary &Bounds, int32 NumberOfSubdivisions[2], FSurfacicSampling &OutPointSampling) const
 
void Sample (const FSurfacicBoundary &Boundary, int32 NumberOfSubdivisions[2], FCoordinateGrid &OutCoordinateSampling) const
 
virtual void Presample (const FSurfacicBoundary &InBoundaries, FCoordinateGrid &OutCoordinates)
 
virtual void LinesNotDerivables (const FSurfacicBoundary &Bounds, int32 InDerivativeOrder, FCoordinateGrid &OutNotDerivableCoordinates) const
 
void LinesNotDerivables (int32 InDerivativeOrder, FCoordinateGrid &OutNotDerivableCoordinates) const
 
virtual void IsSurfaceClosed (bool &bOutClosedAlongU, bool &bOutClosedAlongV) const
 
void PresampleIsoCircle (const FSurfacicBoundary &InBoundaries, FCoordinateGrid &Coordinates, EIso Iso)
 
- 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
 

Static Public Member Functions

static TSharedPtr< FSurfaceMakeBezierSurface (const double InToleranceGeometric, int32 InUDegre, int32 InVDegre, const TArray< FVector > &InPoles)
 
static TSharedPtr< FSurfaceMakeConeSurface (const double InToleranceGeometric, const FMatrixH &InMatrix, double InStartRadius, double InConeAngle, const FSurfacicBoundary &InBoundary)
 
static TSharedPtr< FSurfaceMakeCylinderSurface (const double InToleranceGeometric, const FMatrixH &InMatrix, const double InRadius, const FSurfacicBoundary &InBoundary)
 
static TSharedPtr< FSurfaceMakeNurbsSurface (const double InToleranceGeometric, const FNurbsSurfaceData &NurbsData)
 
static TSharedPtr< FSurfaceMakeNurbsSurface (const double InToleranceGeometric, const FNurbsSurfaceHomogeneousData &NurbsData)
 
static TSharedPtr< FSurfaceMakePlaneSurface (const double InToleranceGeometric, const FMatrixH &InMatrix, const FSurfacicBoundary &InBoundary)
 
static TSharedPtr< FSurfaceMakeSphericalSurface (const double InToleranceGeometric, const FMatrixH &InMatrix, double InRadius, const FSurfacicBoundary &InBoundary)
 
static TSharedPtr< FSurfaceMakeTorusSurface (const double InToleranceGeometric, const FMatrixH &InMatrix, double InMajorRadius, double InMinorRadius, const FSurfacicBoundary &InBoundary)
 
static TSharedPtr< FSurfaceDeserialize (FCADKernelArchive &Archive)
 
static double ComputeScaleAlongAxis (const FVector &InAxis, const FMatrixH &InMatrix, const FVector &InOrigin)
 
- 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)
 

Protected Member Functions

 FSurface ()=default
 
 FSurface (double InToleranceGeometric)
 
 FSurface (double InToleranceGeometric, const FSurfacicBoundary &InBoundary)
 
 FSurface (double InToleranceGeometric, double UMin, double UMax, double VMin, double VMax)
 
void ComputeDefaultMinToleranceIso ()
 
- 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

FSurfacicBoundary Boundary
 
double Tolerance3D
 
TCache< FSurfacicToleranceMinToleranceIso
 
- 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
 

Additional Inherited Members

- 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

◆ FSurface() [1/4]

UE::CADKernel::FSurface::FSurface ( )
protecteddefault

◆ FSurface() [2/4]

UE::CADKernel::FSurface::FSurface ( double  InToleranceGeometric)
inlineprotected

◆ FSurface() [3/4]

UE::CADKernel::FSurface::FSurface ( double  InToleranceGeometric,
const FSurfacicBoundary InBoundary 
)
inlineprotected

◆ FSurface() [4/4]

UE::CADKernel::FSurface::FSurface ( double  InToleranceGeometric,
double  UMin,
double  UMax,
double  VMin,
double  VMax 
)
inlineprotected

◆ ~FSurface()

virtual UE::CADKernel::FSurface::~FSurface ( )
virtualdefault

Member Function Documentation

◆ ApplyMatrix()

◆ ComputeDefaultMinToleranceIso()

void UE::CADKernel::FSurface::ComputeDefaultMinToleranceIso ( )
inlineprotected

◆ ComputeScaleAlongAxis()

static double UE::CADKernel::FSurface::ComputeScaleAlongAxis ( const FVector InAxis,
const FMatrixH InMatrix,
const FVector InOrigin 
)
inlinestatic

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

Parameters
InAxisa vetor of length 1
InMatrix
InOrigin= InMatrix*FVector::ZeroVector

◆ Deserialize()

TSharedPtr< FSurface > UE::CADKernel::FSurface::Deserialize ( FCADKernelArchive Archive)
static

Specific method for surface family to instantiate the correct derived class of FCurve

◆ EvaluateGrid()

void UE::CADKernel::FSurface::EvaluateGrid ( FGrid Grid) const

◆ EvaluateNormal()

virtual FVector UE::CADKernel::FSurface::EvaluateNormal ( const FVector2d InPoint2D) const
inlinevirtual

◆ EvaluateNormals()

void UE::CADKernel::FSurface::EvaluateNormals ( const TArray< FVector2d > &  Points2D,
TArray< FVector3f > &  Normals 
) const
virtual

◆ EvaluatePoint()

◆ EvaluatePointAndNormal()

virtual void UE::CADKernel::FSurface::EvaluatePointAndNormal ( const FVector2d InPoint2D,
FVector Point,
FVector3f Normal 
) const
inlinevirtual

◆ EvaluatePointGrid()

◆ EvaluatePointGridInCylindricalSpace()

virtual void UE::CADKernel::FSurface::EvaluatePointGridInCylindricalSpace ( const FCoordinateGrid Coordinates,
TArray< FVector2d > &   
) const
inlinevirtual

◆ EvaluatePointInCylindricalSpace()

virtual FVector2d UE::CADKernel::FSurface::EvaluatePointInCylindricalSpace ( const FVector2d InSurfacicCoordinate) const
inlinevirtual

X = Rho cos(Alpha) Y = Rho sin(Alpha) Z = Z

YZ => cylindrical projection XY => Plan projection along rotation axis

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

Reimplemented in UE::CADKernel::FSphericalSurface, and UE::CADKernel::FTorusSurface.

◆ EvaluatePoints() [1/5]

void UE::CADKernel::FSurface::EvaluatePoints ( const TArray< FCurvePoint2D > &  InSurfacicCoordinates,
TArray< FCurvePoint > &  OutPoint3D,
int32  InDerivativeOrder = 0 
) const
virtual

◆ EvaluatePoints() [2/5]

void UE::CADKernel::FSurface::EvaluatePoints ( const TArray< FCurvePoint2D > &  InSurfacicCoordinates,
TArray< FSurfacicPoint > &  OutPoint3D,
int32  InDerivativeOrder = 0 
) const
virtual

◆ EvaluatePoints() [3/5]

void UE::CADKernel::FSurface::EvaluatePoints ( const TArray< FCurvePoint2D > &  Points2D,
FSurfacicPolyline Polyline 
) const
virtual

◆ EvaluatePoints() [4/5]

void UE::CADKernel::FSurface::EvaluatePoints ( const TArray< FVector2d > &  InSurfacicCoordinates,
TArray< FSurfacicPoint > &  OutPoint3D,
int32  InDerivativeOrder = 0 
) const
virtual

◆ EvaluatePoints() [5/5]

void UE::CADKernel::FSurface::EvaluatePoints ( FSurfacicPolyline Polyline) const
virtual

◆ ExtendBoundaryTo()

void UE::CADKernel::FSurface::ExtendBoundaryTo ( const FSurfacicBoundary  MaxLimit)
inline

◆ Get3DTolerance()

double UE::CADKernel::FSurface::Get3DTolerance ( ) const
inline

◆ GetBoundary()

const FSurfacicBoundary & UE::CADKernel::FSurface::GetBoundary ( ) const
inline

◆ GetEntityType()

virtual EEntity UE::CADKernel::FSurface::GetEntityType ( ) const
inlineoverridevirtual

◆ GetIsoTolerance()

double UE::CADKernel::FSurface::GetIsoTolerance ( EIso  Iso) const
inline

Return the minimum tolerance in the parametric space of the surface along the specified axis With Tolerance3D = FSysteme.GeometricalTolerance

See also
FBoundary::ComputeMinimalTolerance

◆ GetIsoTolerances()

const FSurfacicTolerance & UE::CADKernel::FSurface::GetIsoTolerances ( ) const
inline

Tolerance along Iso U/V is very costly to compute and not accurate. A first approximation is based on the surface parametric space length along U and along V Indeed, defining a Tolerance2D has no sense has the boundary length along an Iso could be very very huge compare to the boundary length along the other Iso like [[0, 1000] [0, 1]]

See also
FBoundary::ComputeMinimalTolerance In the used, a local tolerance has to be estimated

◆ GetSurfaceType()

◆ IsSurfaceClosed()

virtual void UE::CADKernel::FSurface::IsSurfaceClosed ( bool bOutClosedAlongU,
bool bOutClosedAlongV 
) const
inlinevirtual

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

Reimplemented in UE::CADKernel::FPlaneSurface.

◆ LinesNotDerivables() [1/2]

virtual void UE::CADKernel::FSurface::LinesNotDerivables ( const FSurfacicBoundary Bounds,
int32  InDerivativeOrder,
FCoordinateGrid OutNotDerivableCoordinates 
) const
inlinevirtual

◆ LinesNotDerivables() [2/2]

void UE::CADKernel::FSurface::LinesNotDerivables ( int32  InDerivativeOrder,
FCoordinateGrid OutNotDerivableCoordinates 
) const
inline

◆ MakeBezierSurface()

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakeBezierSurface ( const double  InToleranceGeometric,
int32  InUDegre,
int32  InVDegre,
const TArray< FVector > &  InPoles 
)
static

◆ MakeConeSurface()

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakeConeSurface ( const double  InToleranceGeometric,
const FMatrixH InMatrix,
double  InStartRadius,
double  InConeAngle,
const FSurfacicBoundary InBoundary 
)
static

◆ MakeCylinderSurface()

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakeCylinderSurface ( const double  InToleranceGeometric,
const FMatrixH InMatrix,
const double  InRadius,
const FSurfacicBoundary InBoundary 
)
static

◆ MakeNurbsSurface() [1/2]

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakeNurbsSurface ( const double  InToleranceGeometric,
const FNurbsSurfaceData NurbsData 
)
static

◆ MakeNurbsSurface() [2/2]

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakeNurbsSurface ( const double  InToleranceGeometric,
const FNurbsSurfaceHomogeneousData NurbsData 
)
static

◆ MakePlaneSurface()

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakePlaneSurface ( const double  InToleranceGeometric,
const FMatrixH InMatrix,
const FSurfacicBoundary InBoundary 
)
static

◆ MakeSphericalSurface()

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakeSphericalSurface ( const double  InToleranceGeometric,
const FMatrixH InMatrix,
double  InRadius,
const FSurfacicBoundary InBoundary 
)
static

◆ MakeTorusSurface()

TSharedPtr< FSurface > UE::CADKernel::FSurface::MakeTorusSurface ( const double  InToleranceGeometric,
const FMatrixH InMatrix,
double  InMajorRadius,
double  InMinorRadius,
const FSurfacicBoundary InBoundary 
)
static

◆ Presample()

void UE::CADKernel::FSurface::Presample ( const FSurfacicBoundary InBoundaries,
FCoordinateGrid OutCoordinates 
)
virtual

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

Reimplemented in UE::CADKernel::FBezierSurface, UE::CADKernel::FCompositeSurface, UE::CADKernel::FConeSurface, UE::CADKernel::FCylinderSurface, UE::CADKernel::FOffsetSurface, UE::CADKernel::FPlaneSurface, UE::CADKernel::FRevolutionSurface, UE::CADKernel::FRuledSurface, UE::CADKernel::FSphericalSurface, UE::CADKernel::FTabulatedCylinderSurface, and UE::CADKernel::FTorusSurface.

◆ PresampleIsoCircle()

void UE::CADKernel::FSurface::PresampleIsoCircle ( const FSurfacicBoundary InBoundaries,
FCoordinateGrid Coordinates,
EIso  Iso 
)
inline

◆ Sample() [1/2]

void UE::CADKernel::FSurface::Sample ( const FSurfacicBoundary Boundary,
int32  NumberOfSubdivisions[2],
FCoordinateGrid OutCoordinateSampling 
) const

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

◆ Sample() [2/2]

void UE::CADKernel::FSurface::Sample ( const FSurfacicBoundary Bounds,
int32  NumberOfSubdivisions[2],
FSurfacicSampling OutPointSampling 
) const

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

◆ Serialize()

virtual void UE::CADKernel::FSurface::Serialize ( FCADKernelArchive Ar)
inlineoverridevirtual

◆ TrimBoundaryTo()

void UE::CADKernel::FSurface::TrimBoundaryTo ( const FSurfacicBoundary  NewLimit)
inline

◆ ValidateUVPoints()

virtual void UE::CADKernel::FSurface::ValidateUVPoints ( TArray< FVector2d > &  UVPoints) const
inlinevirtual

Reimplemented in UE::CADKernel::FNURBSSurface.

Member Data Documentation

◆ Boundary

FSurfacicBoundary UE::CADKernel::FSurface::Boundary
protected

◆ MinToleranceIso

TCache<FSurfacicTolerance> UE::CADKernel::FSurface::MinToleranceIso
protected

Tolerance along Iso U/V is very costly to compute and not accurate. A first approximation is based on the surface boundary along U and along V Indeed, defining a Tolerance2D has no sense has the boundary length along an Iso could be very very huge compare to the boundary length along the other Iso like [[0, 1000] [0, 1]] The tolerance along an iso is the length of the boundary along this iso divided by 100 000: if the curve length in 3d is 10m, the tolerance is 0.01mm In the used, a local tolerance has to be estimated

◆ Tolerance3D

double UE::CADKernel::FSurface::Tolerance3D
protected

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