Navigation
API > API/Runtime > API/Runtime/GeometryCore > API/Runtime/GeometryCore/DynamicMesh
Inheritance Hierarchy
- FSparseDynamicPointOctree3
- TDynamicVerticesOctree3
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/DynamicVerticesOctree3.h |
| Include | #include "DynamicMesh/DynamicVerticesOctree3.h" |
Syntax
template<typename SourceType>
class TDynamicVerticesOctree3 : public UE::Geometry::FSparseDynamicPointOctree3
Remarks
TDynamicVerticesOctree3 is an extension of FSparseDynamicPointOctree3 for the vertices of a FDynamicXYZ3 instance (eg FDynamicMesh3, TDynamicPointSet3, FDynamicGraph, etc) This extension does several things: 1) provides a simplified API based on vertex IDs to various Octree functions 2) tracks ModifiedBounds box of modified areas
The template expansion requires that FDynamicXYZ3 has the following API: 1) a function int MaxVertexID() that returns the maximum vertex ID/index 2) a function bool IsVertex(int) that returns true if the index is valid 3) a function FVector3d GetVertex(int index) that returns the position of a vertex 4) a function FAxisAlignedBox3d GetBounds() that returns a bounding-box of the point set
Variables
| Type | Name | Description | |
|---|---|---|---|
| double | HitSphereRadius | ||
| FAxisAlignedBox3d | ModifiedBounds | Bounding box of vertices that have been inserted/removed since last clear | |
| const SourceType * | VertexSource | Potential optimizations: |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | CheckValidity
(
EValidityCheckFailMode FailMode, |
Check that the Octree is internally valid | |
| int32 | FindNearestHitVertex
(
const FRay3d& Ray, |
Find the nearest triangle of the VertexSource that is hit by the ray | |
| void | Initialize
(
const SourceType* VertexSourceIn, |
Add all vertices of MeshIn to the octree | |
| void | InsertVertex
(
int32 VertexID |
Insert a triangle into the tree | |
| void | InsertVertices
(
const TArray< int >& Vertices |
Insert a list of vertices into the tree | |
| void | InsertVertices
(
const TSet< int >& Vertices |
Insert a set of vertices into the tree | |
| void | NotifyPendingModification
(
int VertexID |
Include the current bounds of a triangle in the ModifiedBounds box | |
| void | NotifyPendingModification
(
const TSet< int >& Vertices |
Include the current bounds of a set of vertices in the ModifiedBounds box | |
| void | ReinsertVertices
(
const TSet< int >& Vertices |
Reinsert a set of vertices into the tree | |
| bool | RemovePoint
(
int32 VertexID |
Remove a triangle from the tree | |
| void | RemoveVertices
(
const TArray< int >& Vertices |
Remove a list of vertices from the tree | |
| void | RemoveVertices
(
const TSet< int >& Vertices |
Remove a set of vertices from the tree | |
| void | Reset the internal ModifiedBounds box that tracks modified triangle bounds |