Navigation
API > API/Runtime > API/Runtime/CADKernel > API/Runtime/CADKernel/Topo
Inheritance Hierarchy
- FHaveStates
- FEntity
- FTopologicalEntity
- FTopologicalShapeEntity
- FTopologicalFace
References
| Module | CADKernel |
| Header | /Engine/Source/Runtime/Datasmith/CADKernel/Base/Public/Topo/TopologicalFace.h |
| Include | #include "Topo/TopologicalFace.h" |
Syntax
class FTopologicalFace : public UE::CADKernel::FTopologicalShapeEntity
Variables
| Type | Name | Description | |
|---|---|---|---|
| TCache< FSurfacicBoundary > | Boundary | ||
| TSharedPtr< FSurface > | CarrierSurface | ||
| FCoordinateGrid | CrossingCoordinates | Temporary discretization of the surface used to compute the mesh of the edge | |
| FCoordinateGrid | CrossingPointDeltaMaxs | Max delta U at the crossing u coordinate to respect meshing criteria | |
| FCoordinateGrid | CrossingPointDeltaMins | Min delta U at the crossing u coordinate to respect meshing criteria | |
| double | EstimatedMinimalElementLength | ||
| TArray< TSharedPtr< FTopologicalLoop > > | Loops | ||
| TSharedPtr< FFaceMesh > | Mesh | ||
| FCoordinateGrid | MeshCuttingCoordinates | Final U&V coordinates of the surface's mesh grid |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FTopologicalFace
(
const TSharedPtr< FSurface >& InCarrierSurface |
Build a non-trimmed trimmed surface This constructor has to be completed with one of the three "AddBoundaries" methods to be finalized. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddLoop
(
const TSharedPtr< FTopologicalLoop >& Loop |
||
| void | AddLoops
(
const TArray< TSharedPtr< FTopologicalLoop > >& Loops, |
Trimmed the face with an outer boundary (first boundary of the array) and inners boundaries | |
| void | AddLoops
(
const TArray< TSharedPtr< FCurve > >& Restrictions |
Trimmed the face with curves i.e. Edges will be build from the cures to make boundaries. | |
| void | AddMeshedLength
(
double Length |
||
| void | ApplyCriteria
(
const TArray< TSharedPtr< FCriterion > >& Criteria, |
Compute CrossingPointDeltaMins and CrossingPointDeltaMaxs respecting the meshing criteria | |
| void | Trimmed the face with its natural limit curves (Iso UMin, ...). | ||
| void | ApplyNaturalLoops
(
const FSurfacicBoundary& Boundaries |
Trimmed the face with the boundary limit curves (Iso UMin, ...). | |
| void | Compute the bounds of the topological surface according to the Loops | ||
| bool | Generate a pre-sampling of the surface saved in CrossingCoordinate. | ||
| void | |||
| void | |||
| void | Defines if the surface is either EQuadType::QUAD, either EQuadType::TRIANGULAR or EQuadType::OTHER | ||
| void | Delete only nonmanifold edge link | ||
| void | Disjoin
(
TArray< FTopologicalEdge* >* NewBorderEdges |
Disconnects the face of its neighbors i.e. remove topological edge and vertex link with its neighbors | |
| int32 | EdgeCount () |
||
| void | Count the edges. | ||
| void | EvaluateGrid
(
FGrid& Grid |
||
| void | EvaluatePointGrid
(
const FCoordinateGrid& Coordinates, |
||
| const void | Get2DLoopSampling
(
TArray< TArray< FPoint2D > >& OutLoopSamplings |
Get a sampling of each loop of the face | |
| void | GetActiveEdges
(
TArray< TSharedPtr< FTopologicalEdge > >& OutEdges |
Add active Edge that has not marker 1 in the edge array. Marker 1 has to be reset at the end. | |
| const FSurfacicBoundary & | GetBoundary () |
||
| TSharedRef< FSurface > | |||
| TArray< double > & | GetCrossingPointCoordinates
(
EIso Iso |
||
| const TArray< double > & | GetCrossingPointCoordinates
(
EIso Iso |
||
| const FCoordinateGrid & | |||
| const TArray< double > & | GetCrossingPointDeltaMaxs
(
EIso Iso |
||
| const TArray< double > & | GetCrossingPointDeltaMins
(
EIso Iso |
||
| const FIsoCurvature & | GetCurvature
(
EIso Iso |
||
| const FSurfaceCurvature & | |||
| FSurfaceCurvature & | |||
| const TArray< double > & | GetCuttingCoordinatesAlongIso
(
EIso Iso |
||
| TArray< double > & | GetCuttingCoordinatesAlongIso
(
EIso Iso |
||
| FCoordinateGrid & | |||
| const FCoordinateGrid & | |||
| void | GetEdgeIndex
(
const FTopologicalEdge& Edge, |
Finds the boundary containing the twin edge of Edge | |
| double | |||
| const TSharedPtr< FTopologicalLoop > | |||
| double | GetIsoTolerance
(
EIso Iso |
||
| const FSurfacicTolerance & | |||
| const FTopologicalEdge * | GetLinkedEdge
(
const FTopologicalEdge& LinkedEdge |
||
| const TArray< TSharedPtr< FTopologicalLoop > > & | GetLoops () |
||
| FFaceMesh * | GetMesh () |
||
| FFaceMesh & | GetOrCreateMesh
(
FModelMesh& ModelMesh |
||
| double | |||
| const EQuadType | GetQuadType () |
||
| int32 | GetSideIndex
(
int32 EdgeIndex |
||
| int32 | GetSideIndex
(
FTopologicalEdge& Edge |
||
| const TArray< FEdge2DProperties > & | |||
| FEdge2DProperties & | GetSideProperty
(
int32 Index |
||
| const FEdge2DProperties & | GetSideProperty
(
int32 Index |
||
| int32 | GetStartEdgeIndexOfSide
(
int32 Index |
||
| const TArray< int32 > & | |||
| const TArray< FThinZone2D > & | GetThinZones () |
||
| TArray< FThinZone2D > & | GetThinZones () |
||
| bool | HasSameBoundariesAs
(
const FTopologicalFace* OtherFace |
Checks if the face and the other face have the same boundaries i.e. each non degenerated edge is linked to an edge of the other face | |
| const bool | |||
| const bool | HasThinZone () |
||
| void | InitDeltaUs () |
||
| bool | Has at least one border edge | ||
| bool | One adjacent face shares the same loops | ||
| bool | All its edges are non manifold | ||
| bool | Has at least one non manifold edge | ||
| bool | |||
| int32 | LoopCount () |
||
| const int32 & | |||
| int32 & | |||
| double | |||
| void | MoveThinZones
(
TArray< FThinZone2D >& InThinZones |
||
| void | Remove
(
TArray< FTopologicalEdge* >* NewBorderEdges |
Delete a face i.e. disjoin the face to all its linked elements before setting it as deleted | |
| void | RemoveLoop
(
const TSharedPtr< FTopologicalLoop >& Loop |
||
| void | |||
| void | |||
| void | |||
| void | SetEstimatedMinimalElementLength
(
double Value |
||
| void | |||
| void | |||
| void | UpdateBBox
(
int32 IsoCount, |
Update the bounding box with an approximation of the surface based of n iso curves |
Overridden from FTopologicalShapeEntity
| Type | Name | Description | |
|---|---|---|---|
| void | |||
| int32 | FaceCount () |
||
| void | GetFaces
(
TArray< FTopologicalFace* >& OutFaces |
||
| void | Each face of model is set by its orientation. | ||
| void | Remove
(
const FTopologicalShapeEntity* |
Overridden from FEntity
| Type | Name | Description | |
|---|---|---|---|
| void | Empty () |
||
| EEntity | |||
| void | |||
| void | Serialize
(
FCADKernelArchive& Ar |
Serialization of a FEntity. | |
| void | SpawnIdent
(
FDatabase& Database |