Project Chrono: chrono::sensor::ChFilterAccess< BufferType, UserBufferType > Class Template Reference

Public Member Functions | List of all members
chrono::sensor::ChFilterAccess< BufferType, UserBufferType > Class Template Reference
SENSOR module » Sensor Filters

## Description

template<class BufferType, class UserBufferType>
class chrono::sensor::ChFilterAccess< BufferType, UserBufferType >

Filter for accessing data from the sensor.

`#include <ChFilterAccess.h>`

Inheritance diagram for chrono::sensor::ChFilterAccess< BufferType, UserBufferType >:
[legend]
Collaboration diagram for chrono::sensor::ChFilterAccess< BufferType, UserBufferType >:
[legend]

## Public Member Functions
| ChFilterAccess (std::string name={})
| Class constructor.
virtual | ~ChFilterAccess ()
| Virtual class destructor.
virtual void | Apply ()
| Apply function.
virtual void | Initialize (std::shared_ptr< ChSensor > pSensor, std::shared_ptr< SensorBuffer > &bufferInOut)
| Initializes all data needed by the filter access apply function.
UserBufferType | GetBuffer ()
| User calls this to get access and ownership of the buffer memory on the host.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
CH_SENSOR_API void | Apply ()
| Virtual apply function.
Public Member Functions inherited from chrono::sensor::ChFilter
virtual | ~ChFilter ()
| Virtual class desctructor.
std::string & | Name ()
| Accesses the name of the filter.

## Additional Inherited Members
Protected Member Functions inherited from chrono::sensor::ChFilter
| ChFilter (std::string name)
| protected constructor for the filter which requires a name as input.
void | InvalidFilterGraphNullBuffer (std::shared_ptr< ChSensor > pSensor)
| Error function for invalid filter graph: null buffer found.
void | InvalidFilterGraphBufferTypeMismatch (std::shared_ptr< ChSensor > pSensor)
| Error function for invalid filter graph: type mismatch in graph.
void | InvalidFilterGraphSensorTypeMismatch (std::shared_ptr< ChSensor > pSensor)
| Error function for invalid filter graph: type mismatch in graph.

## Constructor & Destructor Documentation

## ◆ ChFilterAccess()

template<class BufferType, class UserBufferType>

chrono::sensor::ChFilterAccess< BufferType, UserBufferType >::ChFilterAccess | ( | std::string | name = {} | ) |
| inline

Class constructor.

Parameters

  name | String name of the filter. Defaults to empty.

## Member Function Documentation

## ◆ Apply() [1/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostTachometerBuffer, UserTachometerBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [2/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostGPSBuffer, UserGPSBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [3/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostMagnetBuffer, UserMagnetBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [4/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostGyroBuffer, UserGyroBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [5/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostAccelBuffer, UserAccelBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [6/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostRadarXYZBuffer, UserRadarXYZBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [7/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostRadarBuffer, UserRadarBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [8/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostDIBuffer, UserDIBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [9/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostXYZIBuffer, UserXYZIBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [10/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostDepthBuffer, UserDepthBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [11/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostSemanticBuffer, UserSemanticBufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [12/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostRGBA8Buffer, UserRGBA8BufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [13/14]

CH_SENSOR_API void chrono::sensor::ChFilterAccess< SensorHostR8Buffer, UserR8BufferPtr >::Apply | ( |  | ) |
| virtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

## ◆ Apply() [14/14]

template<class BufferType, class UserBufferType>

virtual void chrono::sensor::ChFilterAccess< BufferType, UserBufferType >::Apply | ( |  | ) |
| virtual

Apply function.

Moves data from the device into the lag buffer and presents data to the user if the data is ready based on the time.

Implements chrono::sensor::ChFilter.

## ◆ GetBuffer()

template<class BufferType, class UserBufferType>

UserBufferType chrono::sensor::ChFilterAccess< BufferType, UserBufferType >::GetBuffer | ( |  | ) |
| inline

User calls this to get access and ownership of the buffer memory on the host.

user can store the returned pointer or modify as desired, user has the ownership of the memory. Underlying framework has released all ownership. Filter graph will create new memory during the next run. Returns a user buffer that is safe for the user to access.

## ◆ Initialize()

template<class BufferType, class UserBufferType>

virtual void chrono::sensor::ChFilterAccess< BufferType, UserBufferType >::Initialize | ( | std::shared_ptr< ChSensor > | pSensor,
|  | std::shared_ptr< SensorBuffer > & | bufferInOut )
| inlinevirtual

Initializes all data needed by the filter access apply function.

Parameters

  pSensor | A pointer to the sensor.
  bufferInOut | the incoming process buffer

Implements chrono::sensor::ChFilter.

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

- D:/W/B/src/chrono-9.0.1/src/chrono_sensor/filters/ChFilterAccess.h