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