Main MRPT website > C++ reference for 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...
 
struct  mrpt::hwdrivers::CGenericSensor::CLASSINIT_GENERIC_SENSOR
 Auxiliary structure used for CSerializable runtime class ID support. 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:
protected: \
static mrpt::hwdrivers::CGenericSensor::CLASSINIT_GENERIC_SENSOR \
_init_##class_name; \
\
public: \
static mrpt::hwdrivers::TSensorClassId class##class_name; \
virtual const mrpt::hwdrivers::TSensorClassId* GetRuntimeClass() const; \
static mrpt::hwdrivers::CGenericSensor* CreateObject(); \
static void doRegister() \
{ \
}

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

Definition at line 314 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); \
}

This must be inserted in all CGenericSensor classes implementation files:

Definition at line 330 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)

Definition at line 304 of file CGenericSensor.h.

◆ SENSOR_IS_CLASS

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

Definition at line 308 of file CGenericSensor.h.

mrpt::rtti::registerClass
void registerClass(const mrpt::rtti::TRuntimeClassId *pNewClass)
Register a class into the MRPT internal list of "CObject" descendents.
Definition: internal_class_registry.cpp:155
SENSOR_CLASS_ID
#define SENSOR_CLASS_ID(class_name)
Definition: CGenericSensor.h:304
mrpt::hwdrivers::CGenericSensor
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
Definition: CGenericSensor.h:70
mrpt::hwdrivers::TSensorClassId
A structure for runtime ID class type information in the context of hwdrivers::CGenericSensor.
Definition: CGenericSensor.h:30



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST