| ISpatial
|
Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/GeometricObjects/Public/Spatial/MeshAABBTree3.h |
Include |
#include "Spatial/MeshAABBTree3.h" |
template<class TriangleMeshType>
class TMeshAABBTree3 : public IMeshSpatial
Name | Description | ||
---|---|---|---|
|
TDynamicVector<... |
BoxCenters |
|
|
const double |
BoxEps |
|
|
TDynamicVector<... |
BoxExtents |
|
|
TDynamicVector<... |
BoxToIndex |
Storage for Box Nodes. |
|
TDynamicVector<... |
IndexList |
List of indices for a given Box. |
|
const TriangleM... |
Mesh |
|
|
int |
MeshTimestamp |
|
|
int |
RootIndex |
BoxToIndex[RootIndex] is the root node of the tree. |
|
int |
TopDownLeafMaxTriCount |
|
|
TriangleFilterF |
If non-null, only triangle IDs that pass this filter (ie filter is true) are considered |
|
|
int |
TrianglesEnd |
IndexList[i] for i < TrianglesEnd is a triangle-index list, otherwise Box-index pair/single. |
Name | Description | |
---|---|---|
|
TMeshAABBTree3() |
|
|
TMeshAABBTree3 ( |
Name | Description | ||
---|---|---|---|
|
double |
box_box_distsqr ( |
|
|
box_contains ( |
||
|
double |
box_ray_intersect_t ( |
|
|
double |
BoxDistanceSqr ( |
|
|
Build() |
||
|
BuildTopDown ( |
||
|
DoTraversal ( |
Hierarchically descend through the tree Nodes, calling the TreeTrversal functions at each level |
|
|
find_nearest_tri ( |
||
|
find_nearest_triangles ( |
||
|
find_nearest_vertex ( |
||
|
FindHitTriangle ( |
||
|
FindNearestPoint ( |
Convenience function that calls FindNearestTriangle and then finds nearest point |
|
|
FindNearestTriangles ( |
Find nearest pair of triangles on this tree with otherTree, within max_dist. |
|
|
int |
FindNearestVertex ( |
Find the Vertex closest to P, and distance to it, within distance MaxDist, or return InvalidID |
|
FAxisAligned... |
GetBox |
|
|
FAxisAligned... |
GetBox ( |
Internals - data structures, construction, etc |
|
FAxisAligned... |
GetBoxEps ( |
|
|
const Triang... |
GetMesh() |
|
|
IsValid() |
||
|
SetMesh ( |
||
|
int |
SplitTriSetMidpoint |
|
|
TestCoverage() |
1) make sure we can reach every tri in Mesh through tree (also demo of how to traverse tree...) 2) make sure that Triangles are contained in parent boxes |
|
|
double |
TotalVolume() |
Total sum of volumes of all boxes in the tree. Mainly useful to evaluate tree quality. |
|
TreeTraversalImpl ( |
Traversal implementation. you can override to customize this if necessary. |
Name | Description | ||
---|---|---|---|
|
FindNearestHitTriangle ( |
Find nearest triangle from the given ray |
|
|
int |
FindNearestHitTriangle ( |
|
|
int |
FindNearestTriangle ( |
Find the triangle closest to P, and distance to it, within distance MaxDist, or return InvalidID Use MeshQueries.TriangleDistance() to get more information |
|
SupportsNearestTriangle() |
||
|
SupportsTriangleRayIntersection() |
Name | Description | ||
---|---|---|---|
|
IsInside ( |
||
|
SupportsPointContainment() |
Name |
Description |
|
---|---|---|
|
FBoxesSet |
|
|
FTreeTraversal |
Name |
Description |
---|---|
DOUBLE_MAX |