Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::OctreeNode Class Reference

#include <OctreeSystemComponent.h>

Inherits AzFramework::VisibilityNode.

Public Member Functions

 OctreeNode (const AZ::Aabb &bounds)
 
 OctreeNode (OctreeNode &&rhs)
 
OctreeNodeoperator= (OctreeNode &&rhs)
 
void Insert (OctreeScene &octreeScene, VisibilityEntry *entry)
 Inserts a VisibilityEntry into this OctreeNode, potentially triggering a split.
 
void Update (OctreeScene &octreeScene, VisibilityEntry *entry)
 
void Remove (OctreeScene &octreeScene, VisibilityEntry *entry)
 
void EnumerateNoCull (const IVisibilityScene::EnumerateCallback &callback) const
 Recursively enumerate all OctreeNodes that have any entries in them (without any culling).
 
const AZStd::vector< VisibilityEntry * > & GetEntries () const
 Returns the set of entries bound to this node.
 
OctreeNodeGetChildren () const
 Returns the array of child nodes for this OctreeNode, may be nullptr if this OctreeNode is a leaf node.
 
bool IsLeaf () const
 Returns true if this is a leaf node.
 
void Enumerate (const AZ::Aabb &aabb, const IVisibilityScene::EnumerateCallback &callback) const
 
void Enumerate (const AZ::Sphere &sphere, const IVisibilityScene::EnumerateCallback &callback) const
 
void Enumerate (const AZ::Hemisphere &hemisphere, const IVisibilityScene::EnumerateCallback &callback) const
 
void Enumerate (const AZ::Capsule &capsule, const IVisibilityScene::EnumerateCallback &callback) const
 
void Enumerate (const AZ::Frustum &frustum, const IVisibilityScene::EnumerateCallback &callback) const
 
void Enumerate (const AZ::Frustum &includeFrustum, const AZ::Frustum &excludeFrustum, const IVisibilityScene::EnumerateCallback &callback) const
 

Detailed Description

An internal node within the tree. It contains all objects that are fully contained by the node, if an object spans multiple child nodes that object will be stored in the parent.

Member Function Documentation

◆ Enumerate()

void AzFramework::OctreeNode::Enumerate ( const AZ::Aabb &  aabb,
const IVisibilityScene::EnumerateCallback &  callback 
) const

Recursively enumerates any OctreeNodes and their children that intersect the provided bounding volume.

◆ Remove()

void AzFramework::OctreeNode::Remove ( OctreeScene octreeScene,
VisibilityEntry entry 
)

Removes a VisibilityEntry from this OctreeNode. The provided entry must be bound to this node.

◆ Update()

void AzFramework::OctreeNode::Update ( OctreeScene octreeScene,
VisibilityEntry entry 
)

Updates a VisibilityEntry that is currently bound to this OctreeNode. The provided entry must be bound to this node, but may no longer be bound to this node upon function exit.


The documentation for this class was generated from the following file: