Navigation
API > API/Runtime > API/Runtime/GeometryCore
TIncrementalMeshDijkstra computes graph distances on a mesh from seed point(s) using Dijkstra's algorithm. Derived from TMeshDijkstra. This Incremental variant allows adding new Seed points to an already-computed solution.
| Name | TIncrementalMeshDijkstra |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/Parameterization/IncrementalMeshDijkstra.h |
| Include Path | #include "Parameterization/IncrementalMeshDijkstra.h" |
Syntax
template<class PointSetType>
class TIncrementalMeshDijkstra
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TIncrementalMeshDijkstra
(
const PointSetType* PointSetIn |
Construct TMeshDijkstra for the given PointSet. | Parameterization/IncrementalMeshDijkstra.h |
Structs
| Name | Remarks |
|---|---|
| FGraphNode | Information about each active/computed point |
| FSeedPoint | FSeedPoint defines a seed point passed to the various compute methods below |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| GetPositionFunc | TUniqueFunction< FVector3d(int32)> | Return the 3D Position of a given Point in the PointSet. | Parameterization/IncrementalMeshDijkstra.h | |
| PointSet | const PointSetType * | PointSet we are calculating on | Parameterization/IncrementalMeshDijkstra.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllocatedNodes | TArray< FGraphNode > | Currently all nodes are allocated on initialization | Parameterization/IncrementalMeshDijkstra.h | |
| CurrentSeedTimestamp | int32 | Parameterization/IncrementalMeshDijkstra.h | ||
| InvalidFrozenTimestamp | const int32 | Parameterization/IncrementalMeshDijkstra.h | ||
| Queue | FIndexPriorityQueue | Queue of nodes to process (for dijkstra front propagation) | Parameterization/IncrementalMeshDijkstra.h | |
| SeedPointExternalIDMap | TMap< int32, int32 > | Parameterization/IncrementalMeshDijkstra.h | ||
| SeedPoints | TArray< FSeedPoint > | Parameterization/IncrementalMeshDijkstra.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddSeedPoints
(
const TArray< FSeedPoint >& SeedPointsIn |
Add new SeedPoints to the current solution, and then propagate updated graph distances to any points closer to these new seed points than to existing seed points. | Parameterization/IncrementalMeshDijkstra.h | |
int32 FindMaxGraphDistancePointID() |
Parameterization/IncrementalMeshDijkstra.h | ||
bool FindPathToNearestSeed
(
int32 PointID, |
Find path from a point to the nearest seed point | Parameterization/IncrementalMeshDijkstra.h | |
double GetDistance
(
int32 PointID |
Parameterization/IncrementalMeshDijkstra.h | ||
int32 GetSeedExternalIDForPointSetID
(
int32 PointID |
Parameterization/IncrementalMeshDijkstra.h | ||
bool HasDistance
(
int32 PointID |
Parameterization/IncrementalMeshDijkstra.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static double InvalidDistance() |
Parameterization/IncrementalMeshDijkstra.h |