MRPT  1.9.9
Classes | Namespaces | Macros
CGenericSensor.h File Reference
#include <mrpt/config/CConfigFileBase.h>
#include <mrpt/obs/CObservation.h>
#include <map>
#include <mutex>
Include dependency graph for CGenericSensor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mrpt::hwdrivers::TSensorClassId
 A structure for runtime ID class type information in the context of hwdrivers::CGenericSensor. More...
 
class  mrpt::hwdrivers::CGenericSensor
 A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabber. More...
 

Namespaces

 mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
 mrpt::hwdrivers
 Contains classes for various device interfaces.
 

Macros

#define SENSOR_CLASS_ID(class_name)
 
#define SENSOR_IS_CLASS(ptrObj, class_name)   (ptrObj->GetRuntimeClass() == SENSOR_CLASS_ID(class_name))
 
#define DEFINE_GENERIC_SENSOR(class_name)
 This declaration must be inserted in all CGenericSensor classes definition, within the class declaration. More...
 
#define IMPLEMENTS_GENERIC_SENSOR(class_name, NameSpace)
 This must be inserted in all CGenericSensor classes implementation files: More...
 

Macro Definition Documentation

◆ DEFINE_GENERIC_SENSOR

#define DEFINE_GENERIC_SENSOR (   class_name)
Value:
public: \
static mrpt::hwdrivers::TSensorClassId class##class_name; \
const mrpt::hwdrivers::TSensorClassId* GetRuntimeClass() const override; \
static mrpt::hwdrivers::CGenericSensor* CreateObject(); \
static void doRegister() \
{ \
}
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
#define SENSOR_CLASS_ID(class_name)
void registerClass(const mrpt::rtti::TRuntimeClassId *pNewClass)
Register a class into the MRPT internal list of "CObject" descendents.
A structure for runtime ID class type information in the context of hwdrivers::CGenericSensor.

This declaration must be inserted in all CGenericSensor classes definition, within the class declaration.

Definition at line 300 of file CGenericSensor.h.

◆ IMPLEMENTS_GENERIC_SENSOR

#define IMPLEMENTS_GENERIC_SENSOR (   class_name,
  NameSpace 
)
Value:
mrpt::hwdrivers::CGenericSensor* NameSpace::class_name::CreateObject() \
{ \
return static_cast<hwdrivers::CGenericSensor*>( \
new NameSpace::class_name); \
} \
mrpt::hwdrivers::TSensorClassId NameSpace::class_name::class##class_name = \
{#class_name, NameSpace::class_name::CreateObject}; \
NameSpace::class_name::GetRuntimeClass() const \
{ \
return SENSOR_CLASS_ID(class_name); \
}
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
#define SENSOR_CLASS_ID(class_name)
A structure for runtime ID class type information in the context of hwdrivers::CGenericSensor.

This must be inserted in all CGenericSensor classes implementation files:

Definition at line 312 of file CGenericSensor.h.

◆ SENSOR_CLASS_ID

#define SENSOR_CLASS_ID (   class_name)
Value:
static_cast<const mrpt::hwdrivers::TSensorClassId*>( \
&mrpt::hwdrivers::class_name::class##class_name)
A structure for runtime ID class type information in the context of hwdrivers::CGenericSensor.

Definition at line 290 of file CGenericSensor.h.

◆ SENSOR_IS_CLASS

#define SENSOR_IS_CLASS (   ptrObj,
  class_name 
)    (ptrObj->GetRuntimeClass() == SENSOR_CLASS_ID(class_name))

Definition at line 294 of file CGenericSensor.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ce444d842 Fri Dec 6 19:35:10 2019 +0100 at vie dic 6 19:45:12 CET 2019