Wrapper for cache of data used for intersection tests.
More...
#include <ShapeComponentBus.h>
|
void | UpdateIntersectionParams (const AZ::Transform ¤tTransform, const ShapeConfiguration &configuration, AZStd::shared_mutex *sharedMutex, const AZ::Vector3 ¤tNonUniformScale=AZ::Vector3::CreateOne()) |
| Updates the intersection data cache to reflect the current state of the shape.
|
|
void | InvalidateCache (const InvalidateShapeCacheReason reason) |
| Mark the cache as needing to be updated.
|
|
|
virtual void | UpdateIntersectionParamsImpl (const AZ::Transform ¤tTransform, const ShapeConfiguration &configuration, const AZ::Vector3 &nonUniformScale=AZ::Vector3::CreateOne())=0 |
| Derived shape specific implementation of cache update (called from UpdateIntersectionParams).
|
|
ShapeCacheStatus | CacheStatus () const |
|
template<typename ShapeConfiguration>
class LmbrCentral::IntersectionTestDataCache< ShapeConfiguration >
Wrapper for cache of data used for intersection tests.
◆ ShapeCacheStatus
template<typename ShapeConfiguration >
State of shape cache - should the internal shape cache be recalculated, or is it up to date.
Enumerator |
---|
Current | Cache is up to date.
|
ObsoleteTransformChange | The cache is invalid because the transform of the entity changed.
|
ObsoleteShapeChange | The cache is invalid because the shape configuration/properties changed.
|
◆ CacheStatus()
template<typename ShapeConfiguration >
Expose read only cache status to derived IntersectionTestDataCache if different logic want to hapoen based on the cache status (shape/transform).
◆ UpdateIntersectionParams()
template<typename ShapeConfiguration >
void LmbrCentral::IntersectionTestDataCache< ShapeConfiguration >::UpdateIntersectionParams |
( |
const AZ::Transform & |
currentTransform, |
|
|
const ShapeConfiguration & |
configuration, |
|
|
AZStd::shared_mutex * |
sharedMutex, |
|
|
const AZ::Vector3 & |
currentNonUniformScale = AZ::Vector3::CreateOne() |
|
) |
| |
|
inline |
Updates the intersection data cache to reflect the current state of the shape.
- Parameters
-
currentTransform | The current Transform of the entity. |
configuration | The specific configuration of a shape. |
sharedMutex | Optional pointer to a shared_mutex for the shape that is expected to be lock_shared on both entry and exit. It will be promoted to a unique lock temporarily if the cache currently needs to be updated. |
currentNonUniformScale | (Optional) The current non-uniform scale of the entity (if supported by the shape). |
The documentation for this class was generated from the following file:
- Gems/LmbrCentral/Code/include/LmbrCentral/Shape/ShapeComponentBus.h