Main MRPT website > C++ reference
MRPT logo
Classes | Namespaces | Defines | Typedefs | Variables

CGenericSensor.h File Reference

#include <mrpt/utils/CConfigFileBase.h>
#include <mrpt/slam/CObservation.h>
#include <mrpt/synch.h>
#include <mrpt/system/threads.h>
#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

namespace  mrpt
 

This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.


namespace  mrpt::hwdrivers
 

Contains classes for various device interfaces.


Defines

#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.
#define IMPLEMENTS_GENERIC_SENSOR(class_name, NameSpace)
 This must be inserted in all CGenericSensor classes implementation files:

Typedefs

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

Variables

class HWDRIVERS_IMPEXP mrpt::hwdrivers::CGenericSensor

Define Documentation

#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() \
                        {       CGenericSensor::registerClass( SENSOR_CLASS_ID( class_name ) ); }

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

Definition at line 254 of file CGenericSensor.h.

#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); }

This must be inserted in all CGenericSensor classes implementation files:

Definition at line 266 of file CGenericSensor.h.

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

Definition at line 246 of file CGenericSensor.h.

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

Definition at line 249 of file CGenericSensor.h.




Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN:exported at Tue Jan 25 21:56:31 UTC 2011