Main MRPT website > C++ reference for MRPT 1.5.6
Classes | Namespaces | Macros | Typedefs | Variables
CGenericSensor.h File Reference
#include <mrpt/utils/CConfigFileBase.h>
#include <mrpt/utils/CUncopiable.h>
#include <mrpt/obs/CObservation.h>
#include <mrpt/synch/CCriticalSection.h>
#include <mrpt/system/threads.h>
#include <map>
#include <mrpt/hwdrivers/link_pragmas.h>
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)   static_cast<const mrpt::hwdrivers::TSensorClassId*>(& mrpt::hwdrivers::class_name::class##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...
 

Typedefs

typedef stlplus::smart_ptr< CGenericSensor > mrpt::hwdrivers::CGenericSensorPtr
 

Variables

class HWDRIVERS_IMPEXP mrpt::hwdrivers::CGenericSensor
 

Macro Definition Documentation

◆ DEFINE_GENERIC_SENSOR

#define DEFINE_GENERIC_SENSOR (   class_name)
Value:
protected: \
public: \
static mrpt::hwdrivers::TSensorClassId class##class_name; \
virtual const mrpt::hwdrivers::TSensorClassId* GetRuntimeClass() const; \
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 BASE_IMPEXP registerClass(const mrpt::utils::TRuntimeClassId *pNewClass)
Register a class into the MRPT internal list of "CSerializable" descendents.
Auxiliary structure used for CSerializable runtime class ID support.
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 252 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 }; \
const mrpt::hwdrivers::TSensorClassId* 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...
class HWDRIVERS_IMPEXP CGenericSensor

This must be inserted in all CGenericSensor classes implementation files:

Definition at line 264 of file CGenericSensor.h.

◆ SENSOR_CLASS_ID

#define SENSOR_CLASS_ID (   class_name)    static_cast<const mrpt::hwdrivers::TSensorClassId*>(& mrpt::hwdrivers::class_name::class##class_name)

Definition at line 244 of file CGenericSensor.h.

◆ SENSOR_IS_CLASS

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

Definition at line 247 of file CGenericSensor.h.




Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019