#include <GradientRequestBus.h>
Inherits AZ::EBusSharedDispatchTraits< GradientRequests >.
|
using | BusIdType = AZ::EntityId |
|
|
static const AZ::EBusHandlerPolicy | HandlerPolicy = AZ::EBusHandlerPolicy::Single |
|
static const AZ::EBusAddressPolicy | AddressPolicy = AZ::EBusAddressPolicy::ById |
|
Handles gradient sampling requests based on up to 3 data points such as X,Y,Z. This bus uses shared dispatches, which means that all requests on the bus can run in parallel, but will NOT run in parallel with bus connections / disconnections.
◆ GetValue()
virtual float GradientSignal::GradientRequests::GetValue |
( |
const GradientSampleParams & |
sampleParams | ) |
const |
|
pure virtual |
Given a certain position, generate a value. Implementations of this need to be thread-safe without using locks, as it can get called from both the Main thread and the Vegetation thread simultaneously, and has the potential to cause lock inversion deadlocks.
- Returns
- a value generated using the position
◆ GetValues()
virtual void GradientSignal::GradientRequests::GetValues |
( |
AZStd::span< const AZ::Vector3 > |
positions, |
|
|
AZStd::span< float > |
outValues |
|
) |
| const |
|
inlinevirtual |
Given a list of positions, generate values. Implementations of this need to be thread-safe without using locks, as it can get called from multiple threads simultaneously and has the potential to cause lock inversion deadlocks.
- Parameters
-
positions | The input list of positions to query. |
outValues | The output list of values. This list is expected to be the same size as the positions list. |
◆ IsEntityInHierarchy()
virtual bool GradientSignal::GradientRequests::IsEntityInHierarchy |
( |
[[maybe_unused] ] const AZ::EntityId & |
entityId | ) |
const |
|
inlinevirtual |
Call to check the hierarchy to see if a given entityId exists in the gradient signal chain
The documentation for this class was generated from the following file:
- Gems/GradientSignal/Code/Include/GradientSignal/Ebuses/GradientRequestBus.h