Isle
Loading...
Searching...
No Matches
ViewLODList Class Reference

[AI] Reference-counted list of Level-of-Detail (LOD) objects associated with a single ROI (Realtime Object Instance), shared by all instances of the same ROI. More...

#include <viewlodlist.h>

Inheritance diagram for ViewLODList:
Collaboration diagram for ViewLODList:

Public Member Functions

int AddRef ()
 [AI] Increments the reference count. More...
 
int Release ()
 [AI] Decrements the reference count. More...
 
- Public Member Functions inherited from LODList< ViewLOD >
 LODList (size_t capacity)
 [AI] Constructs a type-safe LODList with given capacity. More...
 
const ViewLODoperator[] (int) const
 [AI] Typed access to the LODObject at position i. More...
 
const ViewLODPushBack (const ViewLOD *)
 [AI] Typed append. More...
 
const ViewLODPopBack ()
 [AI] Typed remove. More...
 
- Public Member Functions inherited from LODListBase
virtual ~LODListBase ()
 [AI] Destructor. More...
 
const LODObjectoperator[] (int) const
 [AI] Returns a pointer to the LODObject at the given index. More...
 
size_t Size () const
 [AI] Returns the current number of LODObject pointers contained. More...
 
size_t Capacity () const
 [AI] Returns the maximum number of LODObject pointers the list can hold. More...
 

Protected Member Functions

 ViewLODList (size_t capacity, ViewLODListManager *owner)
 [AI] Constructs a ViewLODList with a given capacity and owner manager. More...
 
 ~ViewLODList () override
 [AI] Destructor for ViewLODList; asserts that no references remain before destroying. More...
 
- Protected Member Functions inherited from LODListBase
 LODListBase (size_t capacity)
 [AI] Constructs a new LODListBase with specified storage capacity. More...
 
const LODObjectPushBack (const LODObject *)
 [AI] Adds a new LODObject pointer at the end of the list. More...
 
const LODObjectPopBack ()
 [AI] Removes and returns the last LODObject pointer from the list. More...
 

Detailed Description

[AI] Reference-counted list of Level-of-Detail (LOD) objects associated with a single ROI (Realtime Object Instance), shared by all instances of the same ROI.

[AI] Inherits from LODList<ViewLOD>. Each ViewLODList is managed exclusively by a ViewLODListManager, and contains the LODs for a particular ROI (object type). Lifetime is tied to reference counting to ensure proper sharing and cleanup between multiple ROI instances sharing geometry.

Definition at line 30 of file viewlodlist.h.

Constructor & Destructor Documentation

◆ ViewLODList()

ViewLODList::ViewLODList ( size_t  capacity,
ViewLODListManager owner 
)
protected

[AI] Constructs a ViewLODList with a given capacity and owner manager.

Parameters
capacity[AI] Initial allocation for the number of LODs to hold.
owner[AI] Pointer to the ViewLODListManager responsible for this list.

◆ ~ViewLODList()

ViewLODList::~ViewLODList ( )
overrideprotected

[AI] Destructor for ViewLODList; asserts that no references remain before destroying.

Member Function Documentation

◆ AddRef()

int ViewLODList::AddRef ( )
inline

[AI] Increments the reference count.

Used to manage shared ownership across different ROI instances.

Returns
[AI] The incremented reference count value.

◆ Release()

int ViewLODList::Release ( )
inline

[AI] Decrements the reference count.

When the reference count reaches zero, deletes this ViewLODList via the owning manager.

Returns
[AI] The decremented reference count, or 0 if deleted.

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