Navigation
API > API/Runtime > API/Runtime/CADKernel
| Name | FTopologicalFace |
| Type | class |
| Header File | /Engine/Source/Runtime/Datasmith/CADKernel/Base/Public/Topo/TopologicalFace.h |
| Include Path | #include "Topo/TopologicalFace.h" |
Syntax
class FTopologicalFace : public UE::CADKernel::FTopologicalShapeEntity
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FEntity → FTopologicalEntity → FTopologicalShapeEntity → FTopologicalFace
- FHaveStates → FEntity → FTopologicalEntity → FTopologicalShapeEntity → FTopologicalFace
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Topo/TopologicalFace.h | |||
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. | Topo/TopologicalFace.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FTopologicalFace() |
Topo/TopologicalFace.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Curvatures | FSurfaceCurvature | Topo/TopologicalFace.h | ||
| LengthOfMeshedSide | double | Topo/TopologicalFace.h | ||
| LoopLength | double | Topo/TopologicalFace.h | ||
| NumOfMeshedSide | int32 | Topo/TopologicalFace.h | ||
| QuadCriteria | double | Topo/TopologicalFace.h | ||
| QuadType | EQuadType | Topo/TopologicalFace.h | ||
| SideProperties | TArray< FEdge2DProperties > | Topo/TopologicalFace.h | ||
| StartSideIndices | TArray< int32 > | Topo/TopologicalFace.h | ||
| SurfaceCorners | TArray< TSharedPtr< FTopologicalVertex > > | ====================================================================================================================================================================================================================== Quad properties for meshing scheduling =============================================================================================================================================================================== | Topo/TopologicalFace.h | |
| ThinZones | TArray< FThinZone2D > | ====================================================================================================================================================================================================================== Thin zone properties =============================================================================================================================================================================== | Topo/TopologicalFace.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddLoop
(
const TSharedPtr< FTopologicalLoop >& Loop |
Topo/TopologicalFace.h | ||
void AddLoops
(
const TArray< TSharedPtr< FTopologicalLoop > >& Loops, |
Trimmed the face with an outer boundary (first boundary of the array) and inners boundaries | Topo/TopologicalFace.h | |
void AddLoops
(
const TArray< TSharedPtr< FCurve > >& Restrictions |
Trimmed the face with curves i.e. Edges will be build from the cures to make boundaries. | Topo/TopologicalFace.h | |
void AddMeshedLength
(
double Length |
Topo/TopologicalFace.h | ||
void ApplyCriteria
(
const TArray< TSharedPtr< FCriterion > >& Criteria, |
Compute CrossingPointDeltaMins and CrossingPointDeltaMaxs respecting the meshing criteria | Topo/TopologicalFace.h | |
void ApplyNaturalLoops () |
Trimmed the face with its natural limit curves (Iso UMin, ...). | Topo/TopologicalFace.h | |
void ApplyNaturalLoops
(
const FSurfacicBoundary& Boundaries |
Trimmed the face with the boundary limit curves (Iso UMin, ...). | Topo/TopologicalFace.h | |
bool ComputeCriteriaGridSampling () |
Generate a pre-sampling of the surface saved in CrossingCoordinate. | Topo/TopologicalFace.h | |
void ComputeQuadCriteria() |
Topo/TopologicalFace.h | ||
void ComputeSurfaceSideProperties() |
Topo/TopologicalFace.h | ||
void DefineSurfaceType() |
Defines if the surface is either EQuadType::QUAD, either EQuadType::TRIANGULAR or EQuadType::OTHER | Topo/TopologicalFace.h | |
void DeleteNonmanifoldLink() |
Delete only nonmanifold edge link | Topo/TopologicalFace.h | |
void Disjoin
(
TArray< FTopologicalEdge* >* NewBorderEdges |
Disconnects the face of its neighbors i.e. remove topological edge and vertex link with its neighbors | Topo/TopologicalFace.h | |
int32 EdgeCount () |
Topo/TopologicalFace.h | ||
void EdgeCount
(
int32& EdgeCount |
Count the edges. | Topo/TopologicalFace.h | |
void EvaluateGrid
(
FGrid& Grid |
Topo/TopologicalFace.h | ||
void EvaluatePointGrid
(
const FCoordinateGrid& Coordinates, |
Topo/TopologicalFace.h | ||
| Get a sampling of each loop of the face | Topo/TopologicalFace.h | ||
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. | Topo/TopologicalFace.h | |
const FSurfacicBoundary & GetBoundary() |
Topo/TopologicalFace.h | ||
TSharedRef< FSurface > GetCarrierSurface() |
Topo/TopologicalFace.h | ||
TArray< double > & GetCrossingPointCoordinates
(
EIso Iso |
Topo/TopologicalFace.h | ||
const TArray< double > & GetCrossingPointCoordinates
(
EIso Iso |
Topo/TopologicalFace.h | ||
const FCoordinateGrid & GetCrossingPointCoordinates () |
Topo/TopologicalFace.h | ||
| Topo/TopologicalFace.h | |||
| Topo/TopologicalFace.h | |||
const FIsoCurvature & GetCurvature
(
EIso Iso |
Topo/TopologicalFace.h | ||
const FSurfaceCurvature & GetCurvatures () |
Topo/TopologicalFace.h | ||
| Topo/TopologicalFace.h | |||
const TArray< double > & GetCuttingCoordinatesAlongIso
(
EIso Iso |
Topo/TopologicalFace.h | ||
TArray< double > & GetCuttingCoordinatesAlongIso
(
EIso Iso |
Topo/TopologicalFace.h | ||
| Topo/TopologicalFace.h | |||
const FCoordinateGrid & GetCuttingPointCoordinates () |
Topo/TopologicalFace.h | ||
void GetEdgeIndex
(
const FTopologicalEdge& Edge, |
Finds the boundary containing the twin edge of Edge | Topo/TopologicalFace.h | |
double GetEstimatedMinimalElementLength() |
Topo/TopologicalFace.h | ||
const TSharedPtr< FTopologicalLoop > GetExternalLoop() |
Topo/TopologicalFace.h | ||
double GetIsoTolerance
(
EIso Iso |
Topo/TopologicalFace.h | ||
const FSurfacicTolerance & GetIsoTolerances() |
Topo/TopologicalFace.h | ||
const FTopologicalEdge * GetLinkedEdge
(
const FTopologicalEdge& LinkedEdge |
Topo/TopologicalFace.h | ||
const TArray< TSharedPtr< FTopologicalLoop > > & GetLoops() |
Topo/TopologicalFace.h | ||
FFaceMesh * GetMesh() |
Topo/TopologicalFace.h | ||
FFaceMesh & GetOrCreateMesh
(
FModelMesh& ModelMesh |
Topo/TopologicalFace.h | ||
double GetQuadCriteria() |
Topo/TopologicalFace.h | ||
const EQuadType GetQuadType() |
Topo/TopologicalFace.h | ||
int32 GetSideIndex
(
int32 EdgeIndex |
Topo/TopologicalFace.h | ||
int32 GetSideIndex
(
FTopologicalEdge& Edge |
Topo/TopologicalFace.h | ||
const TArray< FEdge2DProperties > & GetSideProperties() |
Topo/TopologicalFace.h | ||
FEdge2DProperties & GetSideProperty
(
int32 Index |
Topo/TopologicalFace.h | ||
const FEdge2DProperties & GetSideProperty
(
int32 Index |
Topo/TopologicalFace.h | ||
int32 GetStartEdgeIndexOfSide
(
int32 Index |
Topo/TopologicalFace.h | ||
const TArray< int32 > & GetStartSideIndices() |
Topo/TopologicalFace.h | ||
const TArray< FThinZone2D > & GetThinZones () |
Topo/TopologicalFace.h | ||
TArray< FThinZone2D > & GetThinZones () |
Topo/TopologicalFace.h | ||
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 | Topo/TopologicalFace.h | |
const bool HasTesselation() |
Topo/TopologicalFace.h | ||
const bool HasThinZone() |
Topo/TopologicalFace.h | ||
void InitDeltaUs() |
Topo/TopologicalFace.h | ||
bool IsABorderFace() |
Has at least one border edge | Topo/TopologicalFace.h | |
bool IsADuplicatedFace() |
One adjacent face shares the same loops | Topo/TopologicalFace.h | |
bool IsAFullyNonManifoldFace() |
All its edges are non manifold | Topo/TopologicalFace.h | |
bool IsANonManifoldFace() |
Has at least one non manifold edge | Topo/TopologicalFace.h | |
bool IsBackOriented() |
Topo/TopologicalFace.h | ||
int32 LoopCount() |
Topo/TopologicalFace.h | ||
const int32 & MeshedSideNum () |
Topo/TopologicalFace.h | ||
int32 & MeshedSideNum () |
Topo/TopologicalFace.h | ||
double MeshedSideRatio() |
Topo/TopologicalFace.h | ||
void MoveThinZones
(
TArray< FThinZone2D >& InThinZones |
Topo/TopologicalFace.h | ||
void Remove
(
TArray< FTopologicalEdge* >* NewBorderEdges |
Delete a face i.e. disjoin the face to all its linked elements before setting it as deleted | Topo/TopologicalFace.h | |
void RemoveLoop
(
const TSharedPtr< FTopologicalLoop >& Loop |
Topo/TopologicalFace.h | ||
void ResetBackOriented() |
Topo/TopologicalFace.h | ||
void ResetHasThinSurface() |
Topo/TopologicalFace.h | ||
void SetBackOriented() |
Topo/TopologicalFace.h | ||
void SetEstimatedMinimalElementLength
(
double Value |
Topo/TopologicalFace.h | ||
void SetHasThinZoneMarker() |
Topo/TopologicalFace.h | ||
void SwapOrientation() |
Topo/TopologicalFace.h | ||
void UpdateBBox
(
int32 IsoCount, |
Update the bounding box with an approximation of the surface based of n iso curves | Topo/TopologicalFace.h |
Overridden from FTopologicalShapeEntity
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CompleteMetaData() |
Topo/TopologicalFace.h | ||
virtual int32 FaceCount() |
Topo/TopologicalFace.h | ||
virtual void GetFaces
(
TArray< FTopologicalFace* >& OutFaces |
Topo/TopologicalFace.h | ||
virtual void PropagateBodyOrientation () |
Each face of model is set by its orientation. | Topo/TopologicalFace.h | |
virtual void Remove
(
const FTopologicalShapeEntity* |
Topo/TopologicalFace.h |
Overridden from FEntity
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Empty() |
Topo/TopologicalFace.h | ||
virtual EEntity GetEntityType() |
Topo/TopologicalFace.h | ||
virtual void ResetMarkersRecursively() |
Topo/TopologicalFace.h | ||
virtual void Serialize
(
FCADKernelArchive& Ar |
Serialization of a FEntity. | Topo/TopologicalFace.h | |
virtual void SpawnIdent
(
FDatabase& Database |
Topo/TopologicalFace.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ComputeBoundary() |
Compute the bounds of the topological surface according to the Loops | Topo/TopologicalFace.h |