Navigation
API > API/Runtime > API/Runtime/GeometryCore
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
| Name | TDynamicVerticesOctree3 |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/DynamicVerticesOctree3.h |
| Include Path | #include "DynamicMesh/DynamicVerticesOctree3.h" |
Syntax
template<typename SourceType>
class TDynamicVerticesOctree3 : public UE::Geometry::FSparseDynamicPointOctree3
Inheritance Hierarchy
- FSparseDynamicPointOctree3 → TDynamicVerticesOctree3
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| HitSphereRadius | double | DynamicMesh/DynamicVerticesOctree3.h | ||
| ModifiedBounds | FAxisAlignedBox3d | Bounding box of vertices that have been inserted/removed since last clear | DynamicMesh/DynamicVerticesOctree3.h | |
| VertexSource | const SourceType * | Potential optimizations: | DynamicMesh/DynamicVerticesOctree3.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CheckValidity
(
EValidityCheckFailMode FailMode, |
Check that the Octree is internally valid | DynamicMesh/DynamicVerticesOctree3.h | |
int32 FindNearestHitVertex
(
const FRay3d& Ray, |
Find the nearest triangle of the VertexSource that is hit by the ray | DynamicMesh/DynamicVerticesOctree3.h | |
void Initialize
(
const SourceType* VertexSourceIn, |
Add all vertices of MeshIn to the octree | DynamicMesh/DynamicVerticesOctree3.h | |
void InsertVertex
(
int32 VertexID |
Insert a triangle into the tree | DynamicMesh/DynamicVerticesOctree3.h | |
void InsertVertices
(
const TArray< int >& Vertices |
Insert a list of vertices into the tree | DynamicMesh/DynamicVerticesOctree3.h | |
void InsertVertices
(
const TSet< int >& Vertices |
Insert a set of vertices into the tree | DynamicMesh/DynamicVerticesOctree3.h | |
void NotifyPendingModification
(
int VertexID |
Include the current bounds of a triangle in the ModifiedBounds box | DynamicMesh/DynamicVerticesOctree3.h | |
void NotifyPendingModification
(
const TSet< int >& Vertices |
Include the current bounds of a set of vertices in the ModifiedBounds box | DynamicMesh/DynamicVerticesOctree3.h | |
void ReinsertVertices
(
const TSet< int >& Vertices |
Reinsert a set of vertices into the tree | DynamicMesh/DynamicVerticesOctree3.h | |
bool RemovePoint
(
int32 VertexID |
Remove a triangle from the tree | DynamicMesh/DynamicVerticesOctree3.h | |
void RemoveVertices
(
const TArray< int >& Vertices |
Remove a list of vertices from the tree | DynamicMesh/DynamicVerticesOctree3.h | |
void RemoveVertices
(
const TSet< int >& Vertices |
Remove a set of vertices from the tree | DynamicMesh/DynamicVerticesOctree3.h | |
void ResetModifiedBounds() |
Reset the internal ModifiedBounds box that tracks modified triangle bounds | DynamicMesh/DynamicVerticesOctree3.h |