TDynamicVerticesOctree3

[TDynamicVerticesOctree3](API\Plugins\DynamicMesh\TDynamicVerticesOctree3) is an extension of [FSparseDynamicPointOctree3](API\Plugins\GeometricObjects\Spatial\FSparseDynamicPointOctree3) for the vertices of a FDynamicXYZ3 instance (eg [FDynamicMesh3](API\Plugins\DynamicMesh\FDynamicMesh3), [TDynamicPointSet3](API\Plugins\DynamicMesh\TDynamicPointSet3), [FDynamicGraph](API\Plugins\GeometricObjects\Curve\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

Windows
MacOS
Linux

Inheritance Hierarchy

FSparseDynamicPointOctree3

TDynamicVerticesOctree3

References

Module

DynamicMesh

Header

/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Public/DynamicVerticesOctree3.h

Include

#include "DynamicVerticesOctree3.h"

Syntax

template<typename SourceType>
class TDynamicVerticesOctree3 : public 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

Name Description

Public variable

double

 

HitSphereRadius

Public variable

FAxisAlignedBox...

 

ModifiedBounds

Bounding box of vertices that have been inserted/removed since last clear

Public variable

const SourceTyp...

 

VertexSource

Potential optimizations:

Functions

Name Description

Public function Const

void

 

CheckValidity

(
    EValidityCheckFailMode FailMode,
    bool bVerbose,
    bool bFailOnMissingPoints
)

Check that the Octree is internally valid

Public function Const

int32

 

FindNearestHitVertex

(
    const FRay3d& Ray,
    double MaxDistance
)

Find the nearest triangle of the VertexSource that is hit by the ray

Public function

void

 

Initialize

(
    const SourceType* VertexSource...,
    bool bDynamicExpand
)

Add all vertices of MeshIn to the octree

Public function

void

 

InsertVertex

(
    int32 VertexID
)

Insert a triangle into the tree

Public function

void

 

InsertVertices

(
    const TArray< int >& Vertices
)

Insert a list of vertices into the tree

Public function

void

 

InsertVertices

(
    const TSet< int >& Vertices
)

Insert a set of vertices into the tree

Public function

void

 

NotifyPendingModification

(
    int VertexID
)

Include the current bounds of a triangle in the ModifiedBounds box

Public function

void

 

NotifyPendingModification

(
    const TSet< int >& Vertices
)

Include the current bounds of a set of vertices in the ModifiedBounds box

Public function

void

 

ReinsertVertices

(
    const TSet< int >& Vertices
)

Reinsert a set of vertices into the tree

Public function

bool

 

RemovePoint

(
    int32 VertexID
)

Remove a triangle from the tree

Public function

void

 

RemoveVertices

(
    const TArray< int >& Vertices
)

Remove a list of vertices from the tree

Public function

void

 

RemoveVertices

(
    const TSet< int >& Vertices
)

Remove a set of vertices from the tree

Public function

void

 

ResetModifiedBounds()

Reset the internal ModifiedBounds box that tracks modified triangle bounds

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss