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

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 >:
Collaboration diagram for chrono::sensor::ChFilterAccess< BufferType, UserBufferType >:

Public Member Functions

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

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. More...
 
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
nameString name of the filter. Defaults to empty.

Member Function Documentation

◆ Apply() [1/14]

template<>
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() [2/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.

◆ Apply() [3/14]

template<>
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() [4/14]

template<>
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() [5/14]

template<>
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() [6/14]

template<>
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() [7/14]

template<>
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() [8/14]

template<>
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() [9/14]

template<>
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() [10/14]

template<>
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() [11/14]

template<>
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() [12/14]

template<>
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() [13/14]

template<>
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() [14/14]

template<>
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.

◆ 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
pSensorA pointer to the sensor.
bufferInOutthe incoming process buffer

Implements chrono::sensor::ChFilter.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono_sensor/filters/ChFilterAccess.h