Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FOctreeNodeContext Class Reference

#include <GenericOctree.h>

+ Collaboration diagram for FOctreeNodeContext:

Public Types

enum  { LoosenessDenominator = 16 }
 
using FReal = FVector4::FReal
 

Public Member Functions

 FOctreeNodeContext ()
 
 FOctreeNodeContext (uint32 InInCullBits, uint32 InOutCullBits)
 
 FOctreeNodeContext (const FBoxCenterAndExtent &InBounds)
 
 FOctreeNodeContext (const FBoxCenterAndExtent &InBounds, uint32 InInCullBits, uint32 InOutCullBits)
 
VectorRegister GetChildOffsetVec (int i) const
 
FOctreeNodeContext GetChildContext (FOctreeChildNodeRef ChildRef) const
 
void GetChildContext (FOctreeChildNodeRef ChildRef, FOctreeNodeContext *ChildContext) const
 
FOctreeNodeContext GetChildContext (FOctreeChildNodeRef ChildRef, uint32 InInCullBits, uint32 InOutCullBits) const
 
FOctreeChildNodeSubset GetIntersectingChildren (const FBoxCenterAndExtent &BoundingBox) const
 
FOctreeChildNodeRef GetContainingChild (const FBoxCenterAndExtent &BoundingBox) const
 

Public Attributes

FBoxCenterAndExtent Bounds
 
FReal ChildExtent
 
FReal ChildCenterOffset
 
uint32 InCullBits
 
uint32 OutCullBits
 

Detailed Description

The context of an octree node, derived from the traversal of the tree.

Definition at line 251 of file GenericOctree.h.

Member Typedef Documentation

◆ FReal

Member Enumeration Documentation

◆ anonymous enum

The node bounds are expanded by their extent divided by LoosenessDenominator.

Enumerator
LoosenessDenominator 

Definition at line 258 of file GenericOctree.h.

Constructor & Destructor Documentation

◆ FOctreeNodeContext() [1/4]

FOctreeNodeContext::FOctreeNodeContext ( )
inline

Default constructor.

Definition at line 276 of file GenericOctree.h.

◆ FOctreeNodeContext() [2/4]

FOctreeNodeContext::FOctreeNodeContext ( uint32 InInCullBits,
uint32 InOutCullBits )
inline

Initialization constructor, this one is used when we done care about the box anymore

Definition at line 280 of file GenericOctree.h.

◆ FOctreeNodeContext() [3/4]

FOctreeNodeContext::FOctreeNodeContext ( const FBoxCenterAndExtent & InBounds)
inline

Initialization constructor.

Definition at line 287 of file GenericOctree.h.

+ Here is the caller graph for this function:

◆ FOctreeNodeContext() [4/4]

FOctreeNodeContext::FOctreeNodeContext ( const FBoxCenterAndExtent & InBounds,
uint32 InInCullBits,
uint32 InOutCullBits )
inline

Initialization constructor.

Definition at line 299 of file GenericOctree.h.

+ Here is the caller graph for this function:

Member Function Documentation

◆ GetChildContext() [1/3]

FOctreeNodeContext FOctreeNodeContext::GetChildContext ( FOctreeChildNodeRef ChildRef) const
inline

Child node initialization constructor.

Definition at line 331 of file GenericOctree.h.

+ Here is the call graph for this function:

◆ GetChildContext() [2/3]

void FOctreeNodeContext::GetChildContext ( FOctreeChildNodeRef ChildRef,
FOctreeNodeContext * ChildContext ) const
inline

Construct a child context given the child ref. Optimized to remove all LHS.

Definition at line 341 of file GenericOctree.h.

+ Here is the call graph for this function:

◆ GetChildContext() [3/3]

FOctreeNodeContext FOctreeNodeContext::GetChildContext ( FOctreeChildNodeRef ChildRef,
uint32 InInCullBits,
uint32 InOutCullBits ) const
inline

Child node initialization constructor.

Definition at line 354 of file GenericOctree.h.

+ Here is the call graph for this function:

◆ GetChildOffsetVec()

VectorRegister FOctreeNodeContext::GetChildOffsetVec ( int i) const
inline

Definition at line 312 of file GenericOctree.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetContainingChild()

FORCEINLINE FOctreeChildNodeRef FOctreeNodeContext::GetContainingChild ( const FBoxCenterAndExtent & BoundingBox) const

Determines which of the octree node's children contain the whole bounding box, if any.

Parameters
BoundingBox- The bounding box to check for intersection with.
Returns
The octree's node that the bounding box is farthest from the outside edge of, or an invalid node ref if it's not contained by any of the children.

Definition at line 55 of file GenericOctree.inl.

◆ GetIntersectingChildren()

FORCEINLINE FOctreeChildNodeSubset FOctreeNodeContext::GetIntersectingChildren ( const FBoxCenterAndExtent & BoundingBox) const

Determines which of the octree node's children intersect with a bounding box.

Parameters
BoundingBox- The bounding box to check for intersection with.
Returns
A subset of the children's nodes that intersect the bounding box.

Definition at line 27 of file GenericOctree.inl.

Member Data Documentation

◆ Bounds

FBoxCenterAndExtent FOctreeNodeContext::Bounds

The bounds of the node.

Definition at line 261 of file GenericOctree.h.

◆ ChildCenterOffset

FReal FOctreeNodeContext::ChildCenterOffset

The offset of the childrens' centers from the center of this node.

Definition at line 267 of file GenericOctree.h.

◆ ChildExtent

FReal FOctreeNodeContext::ChildExtent

The extent of the node's children.

Definition at line 264 of file GenericOctree.h.

◆ InCullBits

uint32 FOctreeNodeContext::InCullBits

Bits used for culling, semantics left up to the caller (except that it is always set to zero at the root). This does not consume storage because it is leftover in the padding.

Definition at line 270 of file GenericOctree.h.

◆ OutCullBits

uint32 FOctreeNodeContext::OutCullBits

Bits used for culling, semantics left up to the caller (except that it is always set to zero at the root). This does not consume storage because it is leftover in the padding.

Definition at line 273 of file GenericOctree.h.


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