Navigation
API > API/Runtime > API/Runtime/GeometryCore > API/Runtime/GeometryCore/Operations
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/Operations/EmbedSurfacePath.h |
| Include | #include "Operations/EmbedSurfacePath.h" |
Syntax
class FMeshSurfacePath
Remarks
Walk the surface of an FDynamicMesh to try find a planar path connecting two points. Paths include every vertex and edge they need to cross. Greedy algorithm will only return one path if there are multiple.bool WalkMeshPlanar( const FDynamicMesh3* Mesh, int StartTri, int EndVertID, FVector3d StartPt, int EndTri, FVector3d EndPt, FVector3d WalkPlaneNormal, TFunction
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bIsClosed | ||
| FDynamicMesh3 * | Mesh | ||
| TArray< TPair< FMeshSurfacePoint, int > > | Path |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FMeshSurfacePath
(
FDynamicMesh3* Mesh |
Cut mesh with plane. Assumption is that plane normal is Z value. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AddViaPlanarWalk
(
int StartTri, |
||
| bool | ClosePath () |
Make the embedded path into a closed loop. | |
| *bool | TODO: support for embedding arbitrary paths in mesh using a graph remesher ** | ||
| *bool | EmbedSimplePath
(
bool bUpdatePath, |
Embed a surface path in mesh provided that the path only crosses vertices and edges except at the start and end, so we can add the path easily with local edge splits and possibly two triangle pokes (rather than needing general remeshing machinery) | |
| bool | IsClosed () |
||
| bool | IsConnected () |
TODO: not clear if we need this helper to find the shared triangle (if it exists) that we could traverse to connect two surface points. | |
| void | Reset () |
||
| EOperationValidationResult | Validate () |