|
| enum class | EGroupOrigin : uint8 { Unknown
, CADGroup
, CADLayer
, CADColor
} |
| |
| enum class | EConnectionType : uint8 { DoesntStartFrom = 0
, StartFrom
, SuperimposedByOrOn
, SameSegment
} |
| |
| enum class | EIsoLink : uint8 { IsoUNext = 0
, IsoVNext = 1
, IsoUPrevious = 2
, IsoVPrevious = 3
} |
| |
| enum class | EIsoNodeStates : uint16 {
None = 0x0000u
, LinkedToPreviousU = 0x0001u
, LinkedToNextU = 0x0002u
, LinkedToPreviousV = 0x0004u
,
LinkedToNextV = 0x0008u
, NodeComplete = 0x000Fu
, LinkedToLoop = 0x0010u
, InnerMeshLoop = 0x0020u
,
ThinZoneNode = 0x0040u
, Delete = 0x0080u
, FirstQuarter = 0x0100u
, SecondQuarter = 0x0200u
,
ThirdQuarter = 0x0400u
, FourthQuarter = 0x0800u
, NearlyIsoU = 0x1000u
, NearlyIsoV = 0x2000u
,
HasMarker1 = 0x4000u
, HasMarker2 = 0x8000u
, All = 0xFFFFu
} |
| |
| enum class | ESegmentType : uint8 {
Unknown = 0
, Loop = 1
, ThinZone = 2
, IsoU
,
IsoV
, LoopToLoop
, IsoLoopToLoop
, InnerToLoopU
,
InnerToLoopV
, InnerToLoop
} |
| |
| enum class | EIsoSegmentStates : uint8 {
None = 0x00u
, Candidate = 0x01u
, LeftCycle = 0x02u
, RightCycle = 0x04u
,
Degenerate = 0x08u
, LeftTriangle = 0x10u
, RightTriangle = 0x20u
, SegmentComplete = 0x30u
,
Final = 0x40u
, Delete = 0x80u
, All = 0xFFu
} |
| |
| enum class | ENodeMarker : uint8 {
None = 0x00u
, IsInside = 0x01u
, IsInsideButTooCloseToLoop = 0x02u
, IsCloseToLoop = 0x04u
,
All = 0xFFu
} |
| |
| enum class | EEntity : uint8 {
None = 0
, Curve
, Surface
, EdgeLink
,
VertexLink
, TopologicalEdge
, TopologicalFace
, TopologicalLink
,
TopologicalLoop
, TopologicalVertex
, Shell
, Body
,
Model
, MeshModel
, Mesh
, Group
,
Criterion
, Property
, EntityTypeEnd
} |
| |
| enum class | ETimeUnit : uint8 { NanoSeconds = 0
, MicroSeconds = 1
, MilliSeconds
, Seconds
} |
| |
| enum class | EValue : uint8 {
Entity
, OrientedEntity
, Point
, Matrix
,
Integer
, Double
, String
, Boolean
,
Tuple
, List
, Array
} |
| |
| enum | EVerboseLevel : uint8 { NoVerbose = 0
, Spy
, Log
, Debug
} |
| |
| enum class | ECurve : uint8 {
Bezier = 0
, BoundedCurve
, Composite
, Ellipse
,
Hyperbola
, Nurbs
, Offset
, Parabola
,
Polyline3D
, Polyline2D
, Restriction
, Segment
,
Surfacic
, SurfacicPolyline
, Spline
, None
} |
| |
| enum class | ESurface : uint8 {
Bezier = 0
, Blend01
, Blend02
, Blend03
,
Composite
, Cone
, Coons
, Cylinder
,
Nurbs
, Offset
, Plane
, Revolution
,
Ruled
, Sphere
, TabulatedCylinder
, Torus
,
None
} |
| |
| enum class | ERupture : uint8 { Continuity = 0
, Tangency
, Curvature
} |
| |
| enum | EIso : uint8 { IsoU = 0
, IsoV = 1
, UndefinedIso
} |
| |
| enum | EOrientation : uint8 { Back = 0
, Front = 1
} |
| |
| enum | ESituation : uint8 { Undefined = 0
, Inside
, Outside
} |
| |
| enum | ELimit : uint8 { Start = 0
, End = 1
} |
| |
| enum | EPolygonSide : uint8 {
Side01 = 0
, Side12
, Side20
, Side23
,
Side30
} |
| |
| enum class | ECriterion : uint8 {
Size = 0
, MaxSize = 1
, MinSize = 2
, Angle = 3
,
Sag = 4
, CADCurvature = 5
, None = 255
} |
| |
| enum | EGridSpace : uint8 { Default2D = 0
, Scaled = 1
, UniformScaled = 2
, EndGridSpace
} |
| |
| enum | EMeshingState : uint8 { NotMeshed = 0
, PartiallyMeshed
, FullyMeshed
} |
| |
| enum | ECoordinateType : uint8 {
VertexCoordinate
, ImposedCoordinate
, IsoUCoordinate
, IsoVCoordinate
,
IsoUVCoordinate
, OtherCoordinate
} |
| |
| enum class | EThinZone2DType : uint8 {
Undefined = 0
, Global
, PeakStart
, PeakEnd
,
Butterfly
, BetweenLoops
, TooSmall
} |
| |
| enum class | ESide : uint8 { First = 0
, Second
, None
} |
| |
| enum class | EStatut : uint8 { Interior = 0
, Exterior
, Border
} |
| |
| enum class | EQuadType : uint8 { Unset = 0
, Quadrangular
, Triangular
, Other
} |
| |
| enum class | ESewOption : uint8 {
None = 0x00u
, ForceJoining = 0x01u
, RemoveThinFaces = 0x02u
, RemoveDuplicatedFaces = 0x04u
,
All = 0x07u
} |
| |
| enum | EVisuProperty {
BBox = 0
, Point
, Element
, Curve
,
Iso
, ControlLine
, EdgeMesh
, NodeMesh
,
BorderEdge
, NonManifoldEdge
, BorderTopo
, ControlPoint
,
YellowPoint
, YellowCurve
, BluePoint
, BlueCurve
,
RedPoint
, RedCurve
, PurplePoint
, PurpleCurve
,
GreenPoint
, GreenCurve
, PinkPoint
, PinkCurve
,
OrangePoint
, OrangeCurve
, Last
} |
| |
|
| double | ComputeCurvature (const FVector &Gradient, const FVector &Laplacian) |
| |
| double | ComputeCurvature (const FVector &Normal, const FVector &Gradient, const FVector &Laplacian) |
| |
| void | FindLoopIntersectionsWithIso (const EIso Iso, const double IsoParameter, const TArray< TArray< FVector2d > > &Loops, TArray< double > &OutIntersections) |
| |
| bool | DoIntersect (const FSegment2D &SegmentAB, const FSegment2D &SegmentCD, TFunction< bool(double, double, double, double)> DoCoincidentSegmentsIntersect, const double Min, const double Max) |
| |
| bool | DoIntersectInside (const FSegment2D &SegmentAB, const FSegment2D &SegmentCD) |
| |
| bool | DoIntersect (const FSegment2D &SegmentAB, const FSegment2D &SegmentCD) |
| |
| void | InverseMatrixN (double *Matrice, int32 Rank) |
| |
| void | MatrixProduct (int32 ARowNum, int32 AColumnNum, int32 ResultRank, const double *MatrixA, const double *MatrixB, double *MatrixResult) |
| |
| void | TransposeMatrix (int32 RowNum, int32 ColumnNum, const double *InMatrix, double *OutMatrix) |
| |
| constexpr int32 | GetMaxElementCountPerSide () |
| |
| bool | IsCycleInsideCandidate (const FVector2d &Candidate, const FVector2d &Start, const FVector2d &End, const FVector2d &Next, TFunction< double(double)> ConvertSlope) |
| |
| int32 | PreviousIndex2 (int32) |
| |
| template<class TIsoSegment > |
| int32 | TCountIntersections (const TArray< TIsoSegment > &Segments, EIso Iso, int32 Index, const FSegment2D &InSegment, const FSurfacicBoundary &InSegmentBoundary) |
| |
| template<class TIsoSegment > |
| bool | TDoesIntersect (const TArray< TIsoSegment > &Segments, EIso Iso, int32 Index, const FSegment2D &InSegment, const FSurfacicBoundary &InSegmentBoundary) |
| |
| template<class TIsoSegment > |
| void | SortCoordToIndex (TArray< TPair< double, int32 > > &CoordToIndex, const TArray< TIsoSegment > &Segments) |
| |
| | ENUM_CLASS_FLAGS (EIsoNodeStates) |
| |
| uint32 | GetTypeHash (const FIsoNode &Node) |
| |
| | ENUM_CLASS_FLAGS (EIsoSegmentStates) |
| |
| uint32 | GetTypeHash (const FIsoSegment &Segment) |
| |
| uint32 | GetTypeHash (const FIsoSegment &Segment0, const FIsoSegment &Segment1) |
| |
| void | ScaleAndSwap (FVector2d &Normal, const FVector2d &StartPoint, const FSurfacicBoundary &Boundary) |
| |
| void | SlightlyDisplacedPolyline (TArray< FVector2d > &D2Points, const FSurfacicBoundary &Boundary) |
| |
| | ENUM_CLASS_FLAGS (ENodeMarker) |
| |
| void | SplitVertexLinkByShell (FTopologicalVertex *InVertex) |
| |
| void | FindBorderVertex (const TArray< FTopologicalEdge * > &Edges, TArray< FTopologicalVertex * > &OutBorderVertices) |
| |
| void | Open3DDebugSegment (FIdent Ident) |
| |
| void | Close3DDebugSegment () |
| |
| void | FlushVisu () |
| |
| void | DrawElement (int32 Dimension, TArray< FVector > &Points, EVisuProperty Property) |
| |
| void | DrawMesh (const FMesh &Mesh) |
| |
| void | Draw (const FLinearBoundary &Boundary, const FRestrictionCurve &Curve, EVisuProperty Property) |
| |
| void | Draw2D (const FCurve &Curve, const FLinearBoundary &Boundary, EVisuProperty Property) |
| |
| void | Draw3D (const FCurve &Curve, const FLinearBoundary &Boundary, EVisuProperty Property) |
| |
| void | Draw (const FCurve &Curve, const FLinearBoundary &Boundary, EVisuProperty Property) |
| |
| void | Draw (const FCurve &Curve, EVisuProperty Property) |
| |
| void | DrawQuadripode (double Height, double Base, FVector &Center, FVector &InDirection, EVisuProperty Property) |
| |
| void | DisplayEntity (const FEntity &Entity) |
| |
| void | DisplayEntity2D (const FEntity &Entity) |
| |
| void | Display (const FPlane &Plane, FIdent Ident) |
| |
| void | DisplayEdgeCriteriaGrid (int32 EdgeId, const TArray< FVector > &Points3D) |
| |
| void | DisplayAABB (const FAABB &Aabb, FIdent Ident) |
| |
| void | DisplayAABB2D (const FAABB2D &aabb, FIdent Ident) |
| |
| void | Display (const FTopologicalVertex &Vertex, EVisuProperty Property) |
| |
| void | Display (const FCurve &Curve) |
| |
| void | Display (const FShell &Shell) |
| |
| void | Draw (const FShell &Shell) |
| |
| void | Display (const FBody &Body) |
| |
| void | Display (const FSurface &Surface) |
| |
| void | Display2D (const FSurface &Surface) |
| |
| void | DisplayIsoCurve (const FSurface &Surface, double Coordinate, EIso IsoType) |
| |
| void | DisplayControlPolygon (const FCurve &Curve) |
| |
| void | DisplayControlPolygon (const FSurface &Surface) |
| |
| void | Display (const FTopologicalFace &Face) |
| |
| void | Display2D (const FTopologicalFace &Face) |
| |
| void | Display2DWithScale (const FTopologicalFace &Face) |
| |
| void | Draw (const FTopologicalFace &Face) |
| |
| void | Draw2D (const FTopologicalFace &Face) |
| |
| void | DrawIsoCurves (const FTopologicalFace &Face) |
| |
| void | Display (const FTopologicalEdge &Edge, EVisuProperty Property) |
| |
| void | Display2D (const FTopologicalEdge &Edge, EVisuProperty Property) |
| |
| void | Display2DWithScale (const FTopologicalEdge &Edge, EVisuProperty Property) |
| |
| void | Draw (const FTopologicalEdge &Edge, EVisuProperty Property) |
| |
| void | Display (const FModel &Model) |
| |
| void | DisplayProductTree (const FModel &Model) |
| |
| void | DisplayProductTree (const FBody &Body) |
| |
| void | DisplayProductTree (const FShell &Shell) |
| |
| void | DisplayProductTree (const FEntity &Entity) |
| |
| void | Display (const FGroup &Group) |
| |
| void | DisplayMesh (const FModel &Model) |
| |
| void | DisplayMesh (const FBody &Body) |
| |
| void | DisplayMesh (const FShell &Shell) |
| |
| void | DisplayMesh (const FFaceMesh &Mesh) |
| |
| void | DisplayMesh (const FEdgeMesh &Mesh) |
| |
| void | DisplayMesh (const FVertexMesh &Mesh) |
| |
| void | Display (const FModelMesh &MeshModel) |
| |
| void | DisplaySegment (const FVector &Point1, const FVector &Point2, FIdent Ident, EVisuProperty Property) |
| |
| void | DisplaySegment (const FVector2d &Point1, const FVector2d &Point2, FIdent Ident, EVisuProperty Property, bool bWithOrientation) |
| |
| void | DisplayLoop (const FTopologicalFace &Surface) |
| |
| void | Display (const FTopologicalLoop &Loop) |
| |
| void | Display2D (const FTopologicalLoop &Loop) |
| |
| void | Display2DWithScale (const FTopologicalLoop &Loop) |
| |
| constexpr EIso | Other (const EIso Iso) |
| |
| EOrientation | SameOrientation (bool bIsSameOrientation) |
| |
| EOrientation | GetReverseOrientation (EOrientation Orientation) |
| |
| void | SwapOrientation (EOrientation &Orientation) |
| |
| CADKERNEL_API FVector2d | ComputeCircumCircleCenter (const FVector2d &InPoint0, const FVector2d &InPoint1, const FVector2d &InPoint2) |
| |
| CADKERNEL_API FVector | ComputeCircumCircleCenter (const FVector &Point0, const FVector &Point1, const FVector &Point2) |
| |
| CADKERNEL_API FVector2d | ComputeCircumCircleCenterAndSquareRadius (const FVector2d &InPoint0, const FVector2d &InPoint1, const FVector2d &InPoint2, double &OutSquareRadius) |
| |
| template<class PointType > |
| PointType | ProjectPointOnSegment (const PointType &Point, const PointType &InSegmentA, const PointType &InSegmentB, double &OutCoordinate, bool bRestrictCoodinateToInside=true) |
| |
| FVector | ProjectPointOnPlane (const FVector &Point, const FVector &Origin, const FVector &InNormal, double &OutDistance) |
| |
| template<class PointType > |
| PointType | PointOnSegment (const PointType &InSegmentA, const PointType &InSegmentB, double InCoordinate) |
| |
| template<class PointType > |
| double | DistanceOfPointToSegment (const PointType &Point, const PointType &SegmentPoint1, const PointType &SegmentPoint2) |
| |
| template<class PointType > |
| double | SquareDistanceOfPointToSegment (const PointType &Point, const PointType &SegmentPoint1, const PointType &SegmentPoint2) |
| |
| template<class PointType > |
| double | DistanceOfPointToLine (const PointType &Point, const PointType &LinePoint1, const PointType &LineDirection) |
| |
| template<class PointType > |
| double | CoordinateOfProjectedPointOnSegment (const PointType &Point, const PointType &InSegmentA, const PointType &InSegmentB, bool bRestrictCoodinateToInside=true) |
| |
| FVector2d | FindIntersectionOfSegments2D (const FSegment2D &SegmentAB, const FSegment2D &SegmentCD, double &OutABIntersectionCoordinate) |
| |
| FVector2d | FindIntersectionOfSegments2D (const FSegment2D &SegmentAB, const FSegment2D &SegmentCD) |
| |
| bool | FindIntersectionOfLines2D (const FSegment2D &LineAB, const FSegment2D &LineCD, FVector2d &OutIntersectionPoint) |
| |
| bool | AreParallel (const FSegment2D &SegmentAB, const FSegment2D &SegmentCD) |
| |
| | UE_DEPRECATED (5.6, "Use FMath::GetMinMax instead.") |
| |
| template<typename ValueType > |
| const void | GetMinMax (const ValueType &ValueA, const ValueType &ValueB, ValueType &OutMin, ValueType &OutMax) |
| |
| template<typename ValueType > |
| const void | GetMinMax (ValueType &Min, ValueType &Max) |
| |
| template<typename ValueType > |
| bool | IsWithinExclusive (const ValueType &TestValue, const ValueType &MinValue, const ValueType &MaxValue) |
| |
| int32 | RealCompare (const double Value1, const double Value2, const double Tolerance=DOUBLE_SMALL_NUMBER) |
| |
| template<class T > |
| uint8 | ToUInt8 (T Value) |
| |
| double | WrapTo (double Slope, const double StartOfPeriod, const double EndOfPeriod, const double PeriodLength) |
| |
| double | TransformIntoOrientedSlope (double Slope) |
| |
| double | TransformIntoClockwiseSlope (double Slope) |
| |
| double | TransformIntoUnorientedSlope (double Slope) |
| |
| double | TransformIntoPositiveSlope (double Slope) |
| |
| double | TransformIntoSlopeRelativeToReferenceAxis (double Slope) |
| |
| double | SwapSlopeOrientation (double Slope) |
| |
| double | ComputeSlope (const FVector2d &StartPoint, const FVector2d &EndPoint) |
| |
| double | ComputeSlope (const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope) |
| |
| double | ComputeSlope (const FVector2d &StartPoint, const FVector2d &EndPoint1, const FVector2d &EndPoint2) |
| |
| double | ComputePositiveSlope (const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope) |
| |
| double | ComputePositiveSlope (const FVector2d &StartPoint, const FVector2d &EndPoint1, const FVector2d &EndPoint2) |
| |
| double | ClockwiseSlope (const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope) |
| |
| double | CounterClockwiseSlope (const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope) |
| |
| double | ComputeOrientedSlope (const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope) |
| |
| double | ComputeOrientedSlope (const FVector2d &StartPoint, const FVector2d &EndPoint1, const FVector2d &EndPoint2) |
| |
| double | ComputeUnorientedSlope (const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceSlope) |
| |
| double | ComputeSlopeRelativeToNearestAxis (const FVector2d &StartPoint, const FVector2d &EndPoint) |
| |
| double | ComputeSlopeRelativeToReferenceAxis (const FVector2d &StartPoint, const FVector2d &EndPoint, double ReferenceAxisSlope) |
| |
| double | ComputeUnorientedSlope (const FVector2d &StartPoint, const FVector2d &EndPoint1, const FVector2d &EndPoint2) |
| |
| bool | IsPointPInsideSectorABC (const FVector2d &PointA, const FVector2d &PointB, const FVector2d &PointC, const FVector2d &PointP, const double FlatAngle) |
| |
| bool | ArePointsInsideSectorABC (const FVector2d &PointA, const FVector2d &PointB, const FVector2d &PointC, const TArray< const FVector2d * > &Points, const double FlatAngle=-DOUBLE_SMALL_NUMBER) |
| |
| FVector2d | SlopeToVector (const double Slope) |
| |
| template<typename FCuttingPointType > |
| void | GetCuttingPointCoordinates (const TArray< FCuttingPointType > &CuttingPoints, TArray< double > &CuttingPointCoordinates) |
| |
| | ENUM_CLASS_FLAGS (ESewOption) |
| |
| void | Wait (bool bMakeWait=true) |
| |
| void | Open3DDebugSession (bool bIsDisplayed, FString name, const TArray< FIdent > &idList=TArray< FIdent >()) |
| |
| void | Open3DDebugSession (FString name, const TArray< FIdent > &idList=TArray< FIdent >()) |
| |
| void | Close3DDebugSession (bool bIsDisplayed=true) |
| |
| template<typename TPoint > |
| void | DrawPoint (const TPoint &InPoint, EVisuProperty Property=EVisuProperty::BluePoint) |
| |
| template<typename TPoint > |
| void | Draw (const TArray< TPoint > &Points, EVisuProperty Property=EVisuProperty::BlueCurve) |
| |
| CADKERNEL_API void | DrawMesh (const TSharedPtr< FMesh > &mesh) |
| |
| template<typename TPoint > |
| void | DisplayPoint (const TPoint &Point, FIdent Ident) |
| |
| template<typename TPoint > |
| void | DisplayPoint (const TPoint &Point, EVisuProperty Property=EVisuProperty::BluePoint) |
| |
| template<typename TPoint > |
| void | DisplayPoint (const TPoint &Point, EVisuProperty Property, FIdent Ident) |
| |
| template<typename TPoint > |
| void | DisplayPoints (FString Message, const TArray< TPoint > &Points, EVisuProperty Property=EVisuProperty::BluePoint, bool bDisplay=true) |
| |
| CADKERNEL_API void | Display2DWithScale (const FSurface &CarrierSurface) |
| |
| template<typename TPoint > |
| void | DisplaySegment (const TPoint &Point1, const TPoint &Point2, FIdent Ident=0, EVisuProperty Property=EVisuProperty::BlueCurve, bool bWithOrientation=false) |
| |
| template<typename TPoint > |
| void | DisplaySegmentWithScale (const TPoint &Point1, const TPoint &Point2, FIdent Ident=0, EVisuProperty Property=EVisuProperty::BlueCurve, bool bWithOrientation=false) |
| |
| template<typename TPoint > |
| void | DisplayPolyline (const TArray< TPoint > &Points, EVisuProperty Property) |
| |
| template<typename TPoint > |
| void | DisplayOrientedPolyline (const TArray< TPoint > &Points, EVisuProperty Property) |
| |
| CADKERNEL_API void | Draw2DWithScale (const FTopologicalFace &Face) |
| |
| template<typename TPoint > |
| void | DrawSegment (const TPoint &Point1, const TPoint &Point2, EVisuProperty Property=EVisuProperty::Element) |
| |
| template<typename TPoint > |
| void | DrawSegmentOrientation (const TPoint &Point1, const TPoint &Point2, EVisuProperty Property=EVisuProperty::Element) |
| |