Open 3D Engine AzFramework 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.
Physics::HeightfieldProviderRequests Class Referenceabstract

#include <HeightfieldProviderBus.h>

Inherits AZ::EBusSharedDispatchTraits< HeightfieldProviderRequests >.

Public Types

typedef AZ::EntityId BusIdType
 

Public Member Functions

virtual AZ::Vector2 GetHeightfieldGridSpacing () const =0
 
virtual void GetHeightfieldGridSize (size_t &numColumns, size_t &numRows) const =0
 
virtual AZ::u64 GetHeightfieldGridColumns () const =0
 
virtual AZ::u64 GetHeightfieldGridRows () const =0
 
virtual void GetHeightfieldHeightBounds (float &minHeightBounds, float &maxHeightBounds) const =0
 
virtual float GetHeightfieldMinHeight () const =0
 
virtual float GetHeightfieldMaxHeight () const =0
 
virtual AZ::Aabb GetHeightfieldAabb () const =0
 
virtual AZ::Transform GetHeightfieldTransform () const =0
 
virtual AZStd::vector< AZ::Data::Asset< Physics::MaterialAsset > > GetMaterialList () const =0
 
virtual AZStd::vector< float > GetHeights () const =0
 
virtual AZStd::vector< Physics::HeightMaterialPointGetHeightsAndMaterials () const =0
 
virtual void GetHeightfieldIndicesFromRegion (const AZ::Aabb &region, size_t &startColumn, size_t &startRow, size_t &numColumns, size_t &numRows) const =0
 
virtual void UpdateHeightsAndMaterials (const UpdateHeightfieldSampleFunction &updateHeightsMaterialsCallback, size_t startColumn, size_t startRow, size_t numColumns, size_t numRows) const =0
 Updates the list of heights and materials within the region.
 
virtual void UpdateHeightsAndMaterialsAsync (const UpdateHeightfieldSampleFunction &updateHeightsMaterialsCallback, const UpdateHeightfieldCompleteFunction &updateHeightsCompleteCallback, size_t startColumn, size_t startRow, size_t numColumns, size_t numRows) const =0
 Asynchronously updates the list of heights and materials within the region.
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Static Public Attributes

static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById
 

Detailed Description

An interface to provide heightfield values. This EBus supports multiple concurrent requests from different threads.

Member Function Documentation

◆ GetHeightfieldAabb()

virtual AZ::Aabb Physics::HeightfieldProviderRequests::GetHeightfieldAabb ( ) const
pure virtual

Returns the AABB of the heightfield. This is provided separately from the shape AABB because the heightfield might choose to modify the AABB bounds.

Returns
AABB of the heightfield.

◆ GetHeightfieldGridColumns()

virtual AZ::u64 Physics::HeightfieldProviderRequests::GetHeightfieldGridColumns ( ) const
pure virtual

Returns the height field gridsize columns.

Returns
the size of the grid in the x direction.

◆ GetHeightfieldGridRows()

virtual AZ::u64 Physics::HeightfieldProviderRequests::GetHeightfieldGridRows ( ) const
pure virtual

Returns the height field gridsize rows.

Returns
the size of the grid in the y direction.

◆ GetHeightfieldGridSize()

virtual void Physics::HeightfieldProviderRequests::GetHeightfieldGridSize ( size_t &  numColumns,
size_t &  numRows 
) const
pure virtual

Returns the height field gridsize.

Parameters
numColumnscontains the size of the grid in the x direction.
numRowscontains the size of the grid in the y direction.

◆ GetHeightfieldGridSpacing()

virtual AZ::Vector2 Physics::HeightfieldProviderRequests::GetHeightfieldGridSpacing ( ) const
pure virtual

Returns the distance between each height in the map.

Returns
Vector containing Column Spacing, Rows Spacing.

◆ GetHeightfieldHeightBounds()

virtual void Physics::HeightfieldProviderRequests::GetHeightfieldHeightBounds ( float &  minHeightBounds,
float &  maxHeightBounds 
) const
pure virtual

Returns the height field min and max height bounds.

Parameters
minHeightBoundscontains the minimum height that the heightfield can contain.
maxHeightBoundscontains the maximum height that the heightfield can contain.

◆ GetHeightfieldIndicesFromRegion()

virtual void Physics::HeightfieldProviderRequests::GetHeightfieldIndicesFromRegion ( const AZ::Aabb &  region,
size_t &  startColumn,
size_t &  startRow,
size_t &  numColumns,
size_t &  numRows 
) const
pure virtual

Return the specific heightfield row/column data that exists inside a given AABB region.

Parameters
regionThe input region to get row/column data for
startColumn[out] The starting heightfield column index for that region
startRow[out] The starting heightfield row index for that region
numColumns[out] The number of columns that exist within the region
numRows[out] The number of rows that exist within the region

◆ GetHeightfieldMaxHeight()

virtual float Physics::HeightfieldProviderRequests::GetHeightfieldMaxHeight ( ) const
pure virtual

Returns the height field max height bounds.

Returns
the maximum height that the heightfield can contain.

◆ GetHeightfieldMinHeight()

virtual float Physics::HeightfieldProviderRequests::GetHeightfieldMinHeight ( ) const
pure virtual

Returns the height field min height bounds.

Returns
the minimum height that the heightfield can contain.

◆ GetHeightfieldTransform()

virtual AZ::Transform Physics::HeightfieldProviderRequests::GetHeightfieldTransform ( ) const
pure virtual

Returns the world transform for the heightfield. This is provided separately from the entity transform because the heightfield might want to clear out the rotation or scale.

Returns
world transform that should be used with the heightfield data.

◆ GetHeights()

virtual AZStd::vector< float > Physics::HeightfieldProviderRequests::GetHeights ( ) const
pure virtual

Returns the list of heights used by the height field.

Returns
the rows*columns vector of the heights.

◆ GetHeightsAndMaterials()

virtual AZStd::vector< Physics::HeightMaterialPoint > Physics::HeightfieldProviderRequests::GetHeightsAndMaterials ( ) const
pure virtual

Returns the list of heights and materials used by the height field.

Returns
the rows*columns vector of the heights and materials.

◆ GetMaterialList()

virtual AZStd::vector< AZ::Data::Asset< Physics::MaterialAsset > > Physics::HeightfieldProviderRequests::GetMaterialList ( ) const
pure virtual

Returns the list of materials used by the height field.

Returns
returns a vector of all materials.

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