Navigation
API > API/Runtime > API/Runtime/GeometryCore
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
| Name | FMeshSurfacePath |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/Operations/EmbedSurfacePath.h |
| Include Path | #include "Operations/EmbedSurfacePath.h" |
Syntax
class FMeshSurfacePath
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMeshSurfacePath
(
FDynamicMesh3* Mesh |
Cut mesh with plane. Assumption is that plane normal is Z value. | Operations/EmbedSurfacePath.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FMeshSurfacePath() |
Operations/EmbedSurfacePath.h |
Structs
| Name | Remarks |
|---|---|
| FEmbedSimplePathSettings | TODO: support for embedding arbitrary paths in mesh using a graph remesher ** |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIsClosed | bool | Operations/EmbedSurfacePath.h | ||
| Mesh | FDynamicMesh3 * | Operations/EmbedSurfacePath.h | ||
| Path | TArray< TPair< FMeshSurfacePoint, int > > | Operations/EmbedSurfacePath.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AddViaPlanarWalk
(
int StartTri, |
Operations/EmbedSurfacePath.h | ||
bool ClosePath () |
Make the embedded path into a closed loop. | Operations/EmbedSurfacePath.h | |
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) | Operations/EmbedSurfacePath.h | |
bool IsClosed() |
Operations/EmbedSurfacePath.h | ||
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. | Operations/EmbedSurfacePath.h | |
void Reset() |
Operations/EmbedSurfacePath.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual EOperationValidationResult Validate() |
Operations/EmbedSurfacePath.h |