Open 3D Engine Vegetation Gem 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.
Vegetation::AreaSystemRequests Class Referenceabstract

#include <AreaSystemRequestBus.h>

Inherits AZ::EBusTraits.

Public Types

using MutexType = AZStd::recursive_mutex
 

Public Member Functions

virtual void RegisterArea (AZ::EntityId areaId, AZ::u32 layer, AZ::u32 priority, const AZ::Aabb &bounds)=0
 
virtual void UnregisterArea (AZ::EntityId areaId)=0
 
virtual void RefreshArea (AZ::EntityId areaId, AZ::u32 layer, AZ::u32 priority, const AZ::Aabb &bounds)=0
 
virtual void RefreshAllAreas ()=0
 
virtual void ClearAllAreas ()=0
 
virtual void MuteArea (AZ::EntityId areaId)=0
 
virtual void UnmuteArea (AZ::EntityId areaId)=0
 
virtual void EnumerateInstancesInOverlappingSectors (const AZ::Aabb &bounds, AreaSystemEnumerateCallback callback) const =0
 
virtual void EnumerateInstancesInAabb (const AZ::Aabb &bounds, AreaSystemEnumerateCallback callback) const =0
 
virtual AZStd::size_t GetInstanceCountInAabb (const AZ::Aabb &bounds) const =0
 
virtual AZStd::vector< Vegetation::InstanceDataGetInstancesInAabb (const AZ::Aabb &bounds) const =0
 

Static Public Attributes

static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single
 
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single
 

Detailed Description

A bus to signal the life times of vegetation areas Note: all the API are meant to be queued events

Member Function Documentation

◆ EnumerateInstancesInAabb()

virtual void Vegetation::AreaSystemRequests::EnumerateInstancesInAabb ( const AZ::Aabb &  bounds,
AreaSystemEnumerateCallback  callback 
) const
pure virtual

Visit all instances contained within bounds until callback decides otherwise.

Parameters
boundsThe AABB that contains the area to scan for instances
callbackThe function to call for every instance found

◆ EnumerateInstancesInOverlappingSectors()

virtual void Vegetation::AreaSystemRequests::EnumerateInstancesInOverlappingSectors ( const AZ::Aabb &  bounds,
AreaSystemEnumerateCallback  callback 
) const
pure virtual

Visit all instances contained within every vegetation sector that overlaps the given bounds until callback decides otherwise. The sector boundary is additionally expanded by the sector search padding value in the Area System component's configuration.

Parameters
boundsThe AABB that contains the bounds of the area to expand and scan for instances
callbackThe function to call for every instance found

◆ GetInstancesInAabb()

virtual AZStd::vector< Vegetation::InstanceData > Vegetation::AreaSystemRequests::GetInstancesInAabb ( const AZ::Aabb &  bounds) const
pure virtual

Get the list of instances contained within the AABB

Parameters
boundsThe AABB that contains the area to scan for instances
Returns
The returned list of instances

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