Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
TOctree_DEPRECATED< ElementType, OctreeSemantics > Class Template Reference

#include <GenericOctree.h>

+ Collaboration diagram for TOctree_DEPRECATED< ElementType, OctreeSemantics >:

Classes

struct  COctreeSemanticsV2
 
class  FNode
 
class  FNodeReference
 
class  TConstElementBoxIterator
 
class  TConstIterator
 

Public Types

using FReal = FVector4::FReal
 
typedef TArray< ElementType, typename OctreeSemantics::ElementAllocator > ElementArrayType
 
typedef ElementArrayType::TConstIterator ElementConstIt
 
typedef TInlineAllocator< 7 *(14 - 1)+8 > DefaultStackAllocator
 

Public Member Functions

void AddElement (typename TTypeTraits< ElementType >::ConstInitType Element)
 
void RemoveElement (FOctreeElementId ElementId)
 
void Destroy ()
 
ElementType & GetElementById (FOctreeElementId ElementId)
 
const ElementType & GetElementById (FOctreeElementId ElementId) const
 
bool IsValidElementId (FOctreeElementId ElementId) const
 
void DumpStats () const
 
SIZE_T GetSizeBytes () const
 
FReal GetNodeLevelExtent (int32 Level) const
 
FBoxCenterAndExtent GetRootBounds () const
 
void ShrinkElements ()
 
void ApplyOffset (const FVector &InOffset, bool bGlobalOctree)
 
 TOctree_DEPRECATED (const FVector &InOrigin, FReal InExtent)
 
 TOctree_DEPRECATED ()
 

Protected Member Functions

void SetElementId (const ElementType &Element, FOctreeElementId Id)
 

Private Member Functions

void SetOctreeMemoryUsage (TOctree_DEPRECATED< ElementType, OctreeSemantics > *Octree, int32 NewSize)
 
void AddElementToNode (typename TTypeTraits< ElementType >::ConstInitType Element, const FNode &InNode, const FOctreeNodeContext &InContext)
 
template<typename Semantics >
TEnableIf<!TModels< COctreeSemanticsV2, Semantics >::Value >::Type SetOctreeSemanticsElementId (const ElementType &Element, FOctreeElementId Id)
 
template<typename Semantics >
TEnableIf< TModels< COctreeSemanticsV2, Semantics >::Value >::Type SetOctreeSemanticsElementId (const ElementType &Element, FOctreeElementId Id)
 

Private Attributes

FNode RootNode
 
FOctreeNodeContext RootNodeContext
 
FReal MinLeafExtent
 
SIZE_T TotalSizeBytes
 

Detailed Description

template<typename ElementType, typename OctreeSemantics>
class TOctree_DEPRECATED< ElementType, OctreeSemantics >

An octree.

Definition at line 1070 of file GenericOctree.h.

Member Typedef Documentation

◆ DefaultStackAllocator

template<typename ElementType , typename OctreeSemantics >
typedef TInlineAllocator<7 * (14 - 1) + 8> TOctree_DEPRECATED< ElementType, OctreeSemantics >::DefaultStackAllocator

The default iterator allocator gives the stack enough inline space to contain a path and its siblings from root to leaf.

Definition at line 1199 of file GenericOctree.h.

◆ ElementArrayType

template<typename ElementType , typename OctreeSemantics >
typedef TArray<ElementType, typename OctreeSemantics::ElementAllocator> TOctree_DEPRECATED< ElementType, OctreeSemantics >::ElementArrayType

Definition at line 1075 of file GenericOctree.h.

◆ ElementConstIt

Definition at line 1076 of file GenericOctree.h.

◆ FReal

template<typename ElementType , typename OctreeSemantics >
using TOctree_DEPRECATED< ElementType, OctreeSemantics >::FReal = FVector4::FReal

Definition at line 1074 of file GenericOctree.h.

Constructor & Destructor Documentation

◆ TOctree_DEPRECATED() [1/2]

template<typename ElementType , typename OctreeSemantics >
TOctree_DEPRECATED< ElementType, OctreeSemantics >::TOctree_DEPRECATED ( const FVector & InOrigin,
FReal InExtent )
inline

Initialization constructor.

Definition at line 1646 of file GenericOctree.h.

◆ TOctree_DEPRECATED() [2/2]

template<typename ElementType , typename OctreeSemantics >
TOctree_DEPRECATED< ElementType, OctreeSemantics >::TOctree_DEPRECATED ( )
inline

DO NOT USE. This constructor is for internal usage only for hot-reload purposes.

Definition at line 1655 of file GenericOctree.h.

Member Function Documentation

◆ AddElement()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::AddElement ( typename TTypeTraits< ElementType >::ConstInitType Element)
inline

Adds an element to the octree.

Parameters
Element- The element to add.
Returns
An identifier for the element in the octree.

Definition at line 1397 of file GenericOctree.h.

◆ AddElementToNode()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::AddElementToNode ( typename TTypeTraits< ElementType >::ConstInitType Element,
const FNode & InNode,
const FOctreeNodeContext & InContext )
inlineprivate

Adds an element to a node or its children.

Definition at line 1681 of file GenericOctree.h.

◆ ApplyOffset()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::ApplyOffset ( const FVector & InOffset,
bool bGlobalOctree )
inline

Apply an arbitrary offset to all elements in the tree InOffset - offset to apply bGlobalOctree - hint that this octree is used as a boundless global volume, so only content will be shifted but not origin of the octree

Definition at line 1604 of file GenericOctree.h.

◆ Destroy()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::Destroy ( )
inline

Definition at line 1488 of file GenericOctree.h.

◆ DumpStats()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::DumpStats ( ) const
inline

Writes stats for the octree to the log.

Definition at line 1524 of file GenericOctree.h.

◆ GetElementById() [1/2]

template<typename ElementType , typename OctreeSemantics >
ElementType & TOctree_DEPRECATED< ElementType, OctreeSemantics >::GetElementById ( FOctreeElementId ElementId)
inline

Accesses an octree element by ID.

Definition at line 1500 of file GenericOctree.h.

◆ GetElementById() [2/2]

template<typename ElementType , typename OctreeSemantics >
const ElementType & TOctree_DEPRECATED< ElementType, OctreeSemantics >::GetElementById ( FOctreeElementId ElementId) const
inline

Accesses an octree element by ID.

Definition at line 1508 of file GenericOctree.h.

◆ GetNodeLevelExtent()

template<typename ElementType , typename OctreeSemantics >
FReal TOctree_DEPRECATED< ElementType, OctreeSemantics >::GetNodeLevelExtent ( int32 Level) const
inline

Definition at line 1582 of file GenericOctree.h.

◆ GetRootBounds()

template<typename ElementType , typename OctreeSemantics >
FBoxCenterAndExtent TOctree_DEPRECATED< ElementType, OctreeSemantics >::GetRootBounds ( ) const
inline

Definition at line 1588 of file GenericOctree.h.

◆ GetSizeBytes()

template<typename ElementType , typename OctreeSemantics >
SIZE_T TOctree_DEPRECATED< ElementType, OctreeSemantics >::GetSizeBytes ( ) const
inline

Definition at line 1577 of file GenericOctree.h.

◆ IsValidElementId()

template<typename ElementType , typename OctreeSemantics >
bool TOctree_DEPRECATED< ElementType, OctreeSemantics >::IsValidElementId ( FOctreeElementId ElementId) const
inline

Checks if given ElementId represents a valid Octree element

Definition at line 1516 of file GenericOctree.h.

◆ RemoveElement()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::RemoveElement ( FOctreeElementId ElementId)
inline

Removes an element from the octree.

Parameters
ElementId- The element to remove from the octree.

Definition at line 1406 of file GenericOctree.h.

◆ SetElementId()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::SetElementId ( const ElementType & Element,
FOctreeElementId Id )
inlineprotected

Definition at line 1799 of file GenericOctree.h.

◆ SetOctreeMemoryUsage()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::SetOctreeMemoryUsage ( TOctree_DEPRECATED< ElementType, OctreeSemantics > * Octree,
int32 NewSize )
inlineprivate

this function basically set TotalSizeBytes, but gives opportunity to include this Octree in memory stats

Definition at line 1673 of file GenericOctree.h.

◆ SetOctreeSemanticsElementId() [1/2]

template<typename ElementType , typename OctreeSemantics >
template<typename Semantics >
TEnableIf<!TModels< COctreeSemanticsV2, Semantics >::Value >::Type TOctree_DEPRECATED< ElementType, OctreeSemantics >::SetOctreeSemanticsElementId ( const ElementType & Element,
FOctreeElementId Id )
inlineprivate

Definition at line 1787 of file GenericOctree.h.

◆ SetOctreeSemanticsElementId() [2/2]

template<typename ElementType , typename OctreeSemantics >
template<typename Semantics >
TEnableIf< TModels< COctreeSemanticsV2, Semantics >::Value >::Type TOctree_DEPRECATED< ElementType, OctreeSemantics >::SetOctreeSemanticsElementId ( const ElementType & Element,
FOctreeElementId Id )
inlineprivate

Definition at line 1792 of file GenericOctree.h.

◆ ShrinkElements()

template<typename ElementType , typename OctreeSemantics >
void TOctree_DEPRECATED< ElementType, OctreeSemantics >::ShrinkElements ( )
inline

Definition at line 1593 of file GenericOctree.h.

Member Data Documentation

◆ MinLeafExtent

template<typename ElementType , typename OctreeSemantics >
FReal TOctree_DEPRECATED< ElementType, OctreeSemantics >::MinLeafExtent
private

The extent of a leaf at the maximum allowed depth of the tree.

Definition at line 1669 of file GenericOctree.h.

◆ RootNode

template<typename ElementType , typename OctreeSemantics >
FNode TOctree_DEPRECATED< ElementType, OctreeSemantics >::RootNode
private

The octree's root node.

Definition at line 1663 of file GenericOctree.h.

◆ RootNodeContext

template<typename ElementType , typename OctreeSemantics >
FOctreeNodeContext TOctree_DEPRECATED< ElementType, OctreeSemantics >::RootNodeContext
private

The octree's root node's context.

Definition at line 1666 of file GenericOctree.h.

◆ TotalSizeBytes

template<typename ElementType , typename OctreeSemantics >
SIZE_T TOctree_DEPRECATED< ElementType, OctreeSemantics >::TotalSizeBytes
private

Definition at line 1678 of file GenericOctree.h.


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