CARLA
Classes | Static Public Member Functions | Private Types | Static Private Member Functions | List of all members
FSensorDefinitionGatherer Class Reference

Retrieve the definitions of all the sensors registered in the SensorRegistry by calling their static method SensorType::GetSensorDefinition(). More...

Classes

struct  is_spawnable
 
struct  is_spawnable< T, typename void_type< typename T::not_spawnable >::type >
 
struct  void_type
 

Static Public Member Functions

static auto GetSensorDefinitions ()
 

Private Types

using Registry = carla::sensor::SensorRegistry
 

Static Private Member Functions

template<typename SensorType >
static std::enable_if< is_spawnable< SensorType >::value, void >::type AppendDefinitions (TArray< FActorDefinition > &Definitions)
 
template<typename SensorType >
static std::enable_if<!is_spawnable< SensorType >::value, void >::type AppendDefinitions (TArray< FActorDefinition > &)
 
template<size_t Index>
static void AppendDefinitions (TArray< FActorDefinition > &Definitions)
 
template<size_t... Is>
static void AppendDefinitions (TArray< FActorDefinition > &Definitions, std::index_sequence< Is... >)
 

Detailed Description

Retrieve the definitions of all the sensors registered in the SensorRegistry by calling their static method SensorType::GetSensorDefinition().

Note
To make this class ignore a given sensor, define a public member "not_spawnable" that defines a type. If so, the sensor won't be spawned by this factory.

Definition at line 36 of file SensorFactory.cpp.

Member Typedef Documentation

◆ Registry

Definition at line 38 of file SensorFactory.cpp.

Member Function Documentation

◆ AppendDefinitions() [1/4]

template<typename SensorType >
static std::enable_if<is_spawnable<SensorType>::value, void>::type FSensorDefinitionGatherer::AppendDefinitions ( TArray< FActorDefinition > &  Definitions)
inlinestaticprivate

Definition at line 67 of file SensorFactory.cpp.

Referenced by GetSensorDefinitions().

+ Here is the caller graph for this function:

◆ AppendDefinitions() [2/4]

template<typename SensorType >
static std::enable_if<!is_spawnable<SensorType>::value, void>::type FSensorDefinitionGatherer::AppendDefinitions ( TArray< FActorDefinition > &  )
inlinestaticprivate

Definition at line 77 of file SensorFactory.cpp.

◆ AppendDefinitions() [3/4]

template<size_t Index>
static void FSensorDefinitionGatherer::AppendDefinitions ( TArray< FActorDefinition > &  Definitions)
inlinestaticprivate

Definition at line 80 of file SensorFactory.cpp.

◆ AppendDefinitions() [4/4]

template<size_t... Is>
static void FSensorDefinitionGatherer::AppendDefinitions ( TArray< FActorDefinition > &  Definitions,
std::index_sequence< Is... >   
)
inlinestaticprivate

Definition at line 88 of file SensorFactory.cpp.

◆ GetSensorDefinitions()

static auto FSensorDefinitionGatherer::GetSensorDefinitions ( )
inlinestatic

Definition at line 42 of file SensorFactory.cpp.

References AppendDefinitions(), and carla::sensor::CompileTimeTypeMap< Items... >::size().

Referenced by ASensorFactory::GetDefinitions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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