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

mrpt::utils Namespace Reference


Detailed Description

Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.

Namespaces

namespace  metaprogramming
 

A set of utility objects for metaprogramming with STL algorithms.


namespace  net
 

A set of useful routines for networking.


Classes

struct  TTypeName< mrpt::math::CArrayNumeric< T, N > >
struct  TTypeName< mrpt::math::CArrayDouble< N > >
struct  TTypeName< mrpt::math::CArrayFloat< N > >
struct  TTypeName< mrpt::math::CMatrixFixedNumeric< T, N, M > >
struct  TTypeName< mrpt::math::CMatrixTemplateNumeric< T > >
struct  TEnumTypeFiller< poses::CPose3DInterpolator::TInterpolatorMethod >
class  bimap
 A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std::map's, one for keys and another for values. More...
struct  CProfilerProxy
class  CCanvas
 This virtual class defines the interface of any object accepting drawing primitives on it. More...
class  CClientTCPSocket
 A TCP socket that can be connected to a TCP server, implementing MRPT's CStream interface for passing objects as well as generic read/write methods. More...
class  CConfigFile
 This class allows loading and storing values and vectors of different types from ".ini" files easily. More...
class  CConfigFileBase
 This class allows loading and storing values and vectors of different types from a configuration text, which can be implemented as a ".ini" file, a memory-stored string, etc... More...
class  CConfigFileMemory
 This class implements a config file-like interface over a memory-stored string list. More...
class  CConsoleRedirector
 By creating an object of this class, all the output to std::cout (and std::cerr) will be redirected to a text file, and optionally also shown on the console. More...
class  CDebugOutputCapable
 This base class provides a common printf-like method to send debug information to std::cout, with the purpose of allowing its redirection to other streams if desired. More...
class  CDynamicGrid
 A 2D grid of dynamic size which stores any kind of data at each cell. More...
class  CEnhancedMetaFile
 This class represents a Windows Enhanced Meta File (EMF) for generating and saving graphics. More...
class  CFileGZInputStream
 Transparently opens a compressed "gz" file and reads uncompressed data from it. More...
class  CFileInputStream
 This CStream derived class allow using a file as a read-only, binary stream. More...
class  CFileOutputStream
 This CStream derived class allow using a file as a write-only, binary stream. More...
class  CFileStream
 This CStream derived class allow using a file as a read/write binary stream, creating it if the file didn't exist. More...
struct  CImagePtr
class  CImage
 A class for storing images as grayscale or RGB bitmaps. More...
class  circular_buffer
 A circular buffer of fixed size (defined at construction-time), implemented with a std::vector as the underlying storage. More...
class  CListOfClasses
 A list (actually based on a std::set) of MRPT classes, capable of keeping any class registered by the mechanism of CSerializable classes. More...
class  CLoadableOptions
 This is a virtual base class for sets of options than can be loaded from and/or saved to configuration plain-text files. More...
class  CLog
 A decorator of CStringList special for keeping logs. More...
class  CMappedImage
 This class encapsulates a MRPT Image and allows the sampling of individual pixels with sub-pixel accuracy and with a change of coordinates (eg, meters). More...
struct  CMemoryChunkPtr
class  CMemoryChunk
 A memory buffer (implements CStream) which can be itself serialized. More...
class  CMemoryStream
 This CStream derived class allow using a memory buffer as a CStream. More...
class  CMessage
 A class that contain generic messages, that can be sent and received from a "CClientTCPSocket" object. More...
struct  CMHPropertiesValuesListPtr
struct  TPropertyValueIDTriplet
 Internal triplet for each property in utils::CMHPropertiesValuesList. More...
class  CMHPropertiesValuesList
 An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable object (Multi-hypotheses version). More...
class  CObjectPtr
 A smart pointer to a CObject object. More...
struct  TRuntimeClassId
 A structure that holds runtime class type information. More...
struct  CLASSINIT
 Auxiliary structure used for CObject-based RTTI. More...
class  CObject
 The virtual base class of all MRPT classes with a unified RTTI system. More...
class  CObservable
 Inherit from this class for those objects capable of being observed by a CObserver class. More...
class  CObserver
 Inherit from this class to get notified about events from any CObservable object after subscribing to it. More...
class  CProbabilityDensityFunction
 A generic template for probability density distributions (PDFs). More...
struct  CPropertiesValuesListPtr
class  CPropertiesValuesList
 An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable object. More...
class  CReferencedMemBlock
 Represents a memory block (via "void*") that can be shared between several objects through copy operator (=). More...
class  CRobotSimulator
 This class can be used to simulate the kinematics and dynamics of a differential driven planar mobile robot, including odometry errors and dynamics limitations. More...
struct  CSerializablePtr
class  CSerializable
 The virtual base class which provides a unified interface for all persistent objects in MRPT. More...
struct  TTypeName
 A template to obtain the type of its argument as a string at compile time. More...
struct  TTypeName< std::pair< T1, T2 > >
class  CServerTCPSocket
 A TCP socket that can be wait for client connections to enter. More...
struct  CSimpleDatabasePtr
struct  CSimpleDatabaseTablePtr
class  CSimpleDatabaseTable
 This class implements the tables of databases. More...
class  CSimpleDatabase
 This class impements a very simple database system. More...
class  CStartUpClassesRegister
 A helper class that automatically register at start up a custom function to register all the CObject-derived classes in a given MRPT library or user application. More...
class  CStdOutStream
 This CStdOutStream derived class allow printing to standard out, normally the console text output. More...
class  CStream
 This base class is used to provide a unified interface to files,memory buffers,..Please see the derived classes. More...
struct  CStringListPtr
class  CStringList
 A class for storing a list of text lines. More...
class  CTextFileLinesParser
 A class for parsing text files, returning each non-empty and non-comment line, along its line number. More...
class  CThreadSafeQueue
 A thread-safe template queue for object passing between threads, with objects being passed being "T*". More...
class  CTicTac
 This class implements a high-performance stopwatch. More...
class  CTimeLogger
 A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats. More...
struct  CTypeSelectorPtr
class  CTypeSelector
 This class represents a std::string derived class which is also CSerializable. More...
class  CUncopiable
 The base class of classes that cannot be copied: compile-time errors will be issued on any copy operation. More...
class  CMRPTException
 The base for MRPT-especific exceptions. More...
class  CExceptionExternalImageNotFound
 Used in mrpt::utils::CImage. More...
class  CExceptionEOF
 Used in mrpt::utils::CStream. More...
class  list_searchable
 This class implements a STL container with features of both, a std::set and a std::list. More...
class  map_as_vector
 A STL-like container which looks and behaves (almost exactly) like a std::map<> but is implemented as a linear std::vector<> indexed by KEY. More...
class  mrptEvent
 The basic event type for the observer-observable pattern in MRPT. More...
class  mrptEventOnDestroy
 An event sent by any CObservable object (automatically) just before being destroyed and telling its observers to unsubscribe. More...
struct  safe_ptr_basic
 A wrapper class for pointers that can be safely copied with "=" operator without problems. More...
struct  safe_ptr
 A wrapper class for pointers that can be safely copied with "=" operator without problems. More...
struct  non_copiable_ptr_basic
 A wrapper class for pointers that can NOT be copied with "=" operator, raising an exception at runtime if a copy is attempted. More...
struct  non_copiable_ptr
 A wrapper class for pointers that can NOT be copied with "=" operator, raising an exception at runtime if a copy is attempted. More...
struct  copiable_NULL_ptr_basic
 A wrapper class for pointers that, if copied with the "=" operator, should be set to NULL in the copy. More...
struct  copiable_NULL_ptr
 A wrapper class for pointers that, if copied with the "=" operator, should be set to NULL in the new copy. More...
struct  ci_less
 A case-insensitive comparator struct for usage within STL containers, eg: map<string,string,ci_less> More...
struct  TCameraPtr
class  TCamera
 Structure to hold the parameters of a pinhole camera model. More...
struct  TStereoCameraPtr
class  TStereoCamera
 Structure to hold the parameters of a pinhole stereo camera model. More...
struct  TEnumTypeFiller
 Only specializations of this class are defined for each enum type of interest. More...
struct  TEnumType
 A helper class that can convert an enum value into its textual representation, and viceversa. More...
struct  TMatchingPair
 A structure for holding correspondences between two sets of points or points-like entities in 2D or 3D. More...
class  TMatchingPairList
 A list of TMatchingPair. More...
struct  map_traits_stdmap
 Traits for using a std::map<> (sparse representation) More...
struct  map_traits_map_as_vector
 Traits for using a mrpt::utils::map_as_vector<> (dense, fastest representation) More...
struct  TColor
 A RGB color - 8bit. More...
struct  TColorf
 A RGB color - floats in the range [0,1]. More...
struct  TPixelCoordf
 A pair (x,y) of pixel coordinates (subpixel resolution). More...
struct  TPixelCoord
 A pair (x,y) of pixel coordinates (integer resolution). More...
struct  TParameters
 For usage when passing a dynamic number of (numeric) arguments to a function, by name. More...
struct  TEnumTypeFiller< slam::CGasConcentrationGridMap2D::TMapRepresentation >
struct  TEnumTypeFiller< slam::CHeightGridMap2D::TMapRepresentation >

Typedefs

typedef CCanvas CMRPTCanvas
 Deprecated name.
typedef int TFileOpenModes
 File open modes are used in CFileStream Posible values are:

  • fomRead
  • fomWrite (creates the file if it didn't exist, otherwise truncates it).

typedef int TImageChannels
 For use in mrpt::utils::CImage.
typedef CImage CMRPTImage
 Deprecated name.
typedef CThreadSafeQueue
< CMessage
CMessageQueue
 A thread-safe class for message passing between threads.
typedef safe_ptr_basic< void > void_ptr
typedef non_copiable_ptr_basic
< void > 
void_ptr_noncopy
typedef TMatchingPairTMatchingPairPtr
typedef unsigned long POINTER_TYPE
 For performing type casting from a pointer to its numeric value.
typedef TPixelCoord TImageSize
 A type for image sizes.
typedef TParameters< double > TParametersDouble
 See the generic template mrpt::utils::TParameters.
typedef TParameters< std::string > TParametersString
 See the generic template mrpt::utils::TParameters.
typedef uint64_t TNodeID
 The type for node IDs in graphs of different types.
typedef std::pair< TNodeID,
TNodeID
TPairNodeIDs
 A pair of node IDs.

Enumerations

enum  { fomRead = 1, fomWrite = 2, fomAppend = 4 }
enum  TInterpolationMethod { IMG_INTERP_NN = 0, IMG_INTERP_LINEAR = 1, IMG_INTERP_CUBIC = 2, IMG_INTERP_AREA = 3 }
 

Interpolation methods for images.

More...
enum  TConstructorFlags_CImage { UNINITIALIZED_IMAGE = 0, FAST_REF_OR_CONVERT_TO_GRAY = 1 }
 

For usage in one of the CImage constructors.

More...
enum  TColormap { cmGRAYSCALE = 0, cmJET }
 

Different colormaps.

More...
enum  TStereoCameraModel { Bumblebee = 0, Custom, Uncalibrated }

Functions

template<class T >
square (const T x)
 Inline function for the square of a number.
double DEG2RAD (const double x)
 Degrees to radians.
float DEG2RAD (const float x)
 Degrees to radians.
float DEG2RAD (const int x)
 Degrees to radians.
double RAD2DEG (const double x)
 Radians to degrees.
float RAD2DEG (const float x)
 Radians to degrees.
template<typename T >
int sign (T x)
 Returns the sign of X as "1" or "-1".
template<typename T >
int signWithZero (T x)
 Returns the sign of X as "0", "1" or "-1".
template<typename T >
int round (const T value)
 Returns the closer integer (int) to x.
template<typename T >
long round_long (const T value)
 Returns the closer integer (long) to x.
template<typename T >
int fix (T x)
 Rounds toward zero.
template<class R , class P >
R * getAs (stlplus::smart_ptr_clone< P > &o)
 Utility to get a cast'ed pointer from a smart pointer.
template<class R , class P >
const R * getAs (const stlplus::smart_ptr_clone< P > &o)
 Utility to get a cast'ed pointer from a smart pointer.
template<class T >
void reverseBytesInPlace (T &v_in_out)
 Reverse the order of the bytes of a given type (useful for transforming btw little/big endian)
template<class T >
void reverseBytes (const T &v_in, T &v_out)
 Reverse the order of the bytes of a given type (useful for transforming btw little/big endian)
template<typename T , typename K >
void keep_min (T &var, const K test_val)
 If the second argument is below the first one, set the first argument to this lower value.
template<typename T , typename K >
void keep_max (T &var, const K test_val)
 If the second argument is above the first one, set the first argument to this higher value.
template<class T >
void delete_safe (T *&ptr)
 Calls "delete" to free an object only if the pointer is not NULL, then set the pointer to NULL.
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CImagePtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CMemoryChunkPtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CMHPropertiesValuesListPtr &pObj)
void BASE_IMPEXP hsv2rgb (float h, float s, float v, float &r, float &g, float &b)
 Transform HSV color components to RGB, all of them in the range [0,1].
void BASE_IMPEXP rgb2hsv (float r, float g, float b, float &h, float &s, float &v)
 Transform RGB color components to HSV, all of them in the range [0,1].
void BASE_IMPEXP colormap (const TColormap &color_map, const float color_index, float &r, float &g, float &b)
 Transform a float number in the range [0,1] into RGB components.
void BASE_IMPEXP jet2rgb (const float color_index, float &r, float &g, float &b)
 Computes the RGB color components (range [0,1]) for the corresponding color index in the range [0,1] using the MATLAB 'jet' colormap.
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CPropertiesValuesListPtr &pObj)
uint16_t BASE_IMPEXP compute_CRC16 (const std::vector< uint8_t > &data, const uint16_t gen_pol=0x8005)
 Computes the CRC16 checksum of a block of data.
uint16_t BASE_IMPEXP compute_CRC16 (const uint8_t *data, const size_t len, const uint16_t gen_pol=0x8005)
 Computes the CRC16 checksum of a block of data.
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CSimpleDatabasePtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CSimpleDatabaseTablePtr &pObj)
CStream BASE_IMPEXP & operator<< (CStream &s, const char *a)
CStream BASE_IMPEXP & operator<< (CStream &s, const std::string &str)
CStream BASE_IMPEXP & operator<< (CStream &s, const vector_float &a)
CStream BASE_IMPEXP & operator<< (CStream &, const vector_int &a)
CStream BASE_IMPEXP & operator<< (CStream &, const std::vector< std::string > &)
CStream BASE_IMPEXP & operator<< (CStream &, const std::vector< size_t > &a)
CStream BASE_IMPEXP & operator>> (CStream &in, char *a)
CStream BASE_IMPEXP & operator>> (CStream &in, std::string &str)
CStream BASE_IMPEXP & operator>> (CStream &in, vector_double &a)
CStream BASE_IMPEXP & operator>> (CStream &in, vector_int &a)
CStream BASE_IMPEXP & operator>> (CStream &in, std::vector< std::string > &a)
CStream BASE_IMPEXP & operator>> (CStream &s, std::vector< float > &a)
CStream BASE_IMPEXP & operator>> (CStream &s, std::vector< double > &a)
CStream BASE_IMPEXP & operator<< (CStream &s, const std::vector< float > &a)
CStream BASE_IMPEXP & operator<< (CStream &s, const std::vector< double > &a)
CStream BASE_IMPEXP & operator>> (CStream &s, std::vector< size_t > &a)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CStringListPtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CTypeSelectorPtr &pObj)
std::string BASE_IMPEXP md5 (const std::string str)
 Computes the md5 of a block of data.
 MRPTSTL_SERIALIZABLE_SEQ_CONTAINER (std::vector) MRPTSTL_SERIALIZABLE_SEQ_CONTAINER(std
 Template method to serialize a STL pair.
template<class T1 , class T2 >
CStreamoperator>> (CStream &in, std::pair< T1, T2 > &obj)
 Template method to deserialize a STL pair.
template<class T , class CONTAINER >
size_t find_in_vector (const T &value, const CONTAINER &vect)
 Returns the index of the value "T" in the container "vect" (std::vector,std::deque,etc), or string::npos if not found.
template<class T >
std::list< T >::iterator erase_return_next (std::list< T > &cont, typename std::list< T >::iterator &it)
 Calls the standard "erase" method of a STL container, but also returns an iterator to the next element in the container (or end if none)
template<class K , class V >
std::map< K, V >::iterator erase_return_next (std::map< K, V > &cont, typename std::map< K, V >::iterator &it)
template<class K , class V >
std::multimap< K, V >::iterator erase_return_next (std::multimap< K, V > &cont, typename std::multimap< K, V >::iterator &it)
template<class T >
std::set< T >::iterator erase_return_next (std::set< T > &cont, typename std::set< T >::iterator &it)
template<class T >
std::vector< T >::iterator erase_return_next (std::vector< T > &cont, typename std::vector< T >::iterator &it)
template<typename T >
std::string sprintf_vector (const char *fmt, const std::vector< T > &V)
 Generates a string for a vector in the format [A,B,C,...] to std::cout, and the fmt string for each vector element.
template<typename Derived >
std::string sprintf_vector (const char *fmt, const Eigen::MatrixBase< Derived > &V)
template<typename T >
void printf_vector (const char *fmt, const std::vector< T > &V)
 Prints a vector in the format [A,B,C,...] to std::cout, and the fmt string for each vector element.
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, TCameraPtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, TStereoCameraPtr &pObj)
bool BASE_IMPEXP operator< (const TMatchingPair &a, const TMatchingPair &b)
 A comparison operator, for sorting lists of TMatchingPair's, first order by this_idx, if equals, by other_idx.
bool BASE_IMPEXP operator== (const TMatchingPair &a, const TMatchingPair &b)
 A comparison operator.
bool BASE_IMPEXP operator== (const TMatchingPairList &a, const TMatchingPairList &b)
 A comparison operator.
std::ostream BASE_IMPEXP & operator<< (std::ostream &o, const TPixelCoordf &p)
 Prints TPixelCoordf as "(x,y)".
std::ostream BASE_IMPEXP & operator<< (std::ostream &o, const TPixelCoord &p)
 Prints TPixelCoord as "(x,y)".
int BASE_IMPEXP run_unittests (int argc, char **argv)
 Run all the unit tests in mrpt::core classes.
Non-streaming serialization functions
std::string BASE_IMPEXP ObjectToString (const CSerializable *o)
 Used to pass MRPT objects into a CORBA-like object (strings).
void BASE_IMPEXP StringToObject (const std::string &str, CSerializablePtr &obj)
 Used to pass CORBA-like objects (strings) into a MRPT object.
void BASE_IMPEXP ObjectToOctetVector (const CSerializable *o, vector_byte &out_vector)
 Converts (serializes) an MRPT object into an array of bytes.
void BASE_IMPEXP OctetVectorToObject (const vector_byte &in_data, CSerializablePtr &obj)
 Converts back (de-serializes) a sequence of binary data into a MRPT object, without prior information about the object's class.
void BASE_IMPEXP ObjectToRawString (const CSerializable *o, std::string &out_str)
 Converts (serializes) an MRPT object into an array of bytes within a std::string, without codifying to avoid NULL characters.
void BASE_IMPEXP RawStringToObject (const std::string &in_str, CSerializablePtr &obj)
 Converts back (de-serializes) a sequence of binary data within a std::string into a MRPT object, without prior information about the object's class.

Variables

class BASE_IMPEXP CStream
class BASE_IMPEXP CSerializable
struct BASE_IMPEXP CSerializablePtr
class BASE_IMPEXP CMessage

RTTI classes and functions

typedef safe_ptr< TRuntimeClassIdTRuntimeClassIdPtr
 A wrapper class for a "TRuntimeClassId *", well-defined with respect to copy operators and constructors.
class BASE_IMPEXP CObject
void BASE_IMPEXP registerClass (const mrpt::utils::TRuntimeClassId *pNewClass)
 Register a class into the MRPT internal list of "CSerializable" descendents.
void BASE_IMPEXP registerClassCustomName (const char *customName, const TRuntimeClassId *pNewClass)
 Mostly for internal use within mrpt sources, to handle exceptional cases with multiple serialization names for backward compatibility (CMultiMetricMaps, CImage,...)
std::vector< const
mrpt::utils::TRuntimeClassId * >
BASE_IMPEXP 
getAllRegisteredClasses ()
 Returns a list with all the classes registered in the system through mrpt::utils::registerClass.
const TRuntimeClassId BASE_IMPEXP * findRegisteredClass (const std::string &className)
 Return info about a given class by its name, or NULL if the class is not registered.

Auxiliary stuff for the global profiler used in MRPT_START / MRPT_END macros.

CTimeLogger BASE_IMPEXP global_profiler
void BASE_IMPEXP global_profiler_enter (const char *func_name) MRPT_NO_THROWS
void BASE_IMPEXP global_profiler_leave (const char *func_name) MRPT_NO_THROWS

Typedef Documentation

A thread-safe class for message passing between threads.

See also:
CThreadSafeQueue

Definition at line 41 of file CMessageQueue.h.

Deprecated name.

Definition at line 344 of file CCanvas.h.

Deprecated name.

Definition at line 867 of file CImage.h.

typedef unsigned long mrpt::utils::POINTER_TYPE

For performing type casting from a pointer to its numeric value.

Definition at line 173 of file base/include/mrpt/utils/types.h.

File open modes are used in CFileStream Posible values are:

  • fomRead
  • fomWrite (creates the file if it didn't exist, otherwise truncates it).

  • fomAppend (creates the file if it didn't exist)

Definition at line 49 of file CFileStream.h.

For use in mrpt::utils::CImage.

Definition at line 56 of file CImage.h.

A type for image sizes.

Definition at line 227 of file base/include/mrpt/utils/types.h.

Definition at line 67 of file TMatchingPair.h.

typedef uint64_t mrpt::utils::TNodeID

The type for node IDs in graphs of different types.

Definition at line 320 of file base/include/mrpt/utils/types.h.

A pair of node IDs.

Definition at line 321 of file base/include/mrpt/utils/types.h.

See the generic template mrpt::utils::TParameters.

Definition at line 317 of file base/include/mrpt/utils/types.h.

See the generic template mrpt::utils::TParameters.

Definition at line 318 of file base/include/mrpt/utils/types.h.

A wrapper class for a "TRuntimeClassId *", well-defined with respect to copy operators and constructors.

Definition at line 76 of file CObject.h.

Definition at line 219 of file safe_pointers.h.

Definition at line 220 of file safe_pointers.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
fomRead 
fomWrite 
fomAppend 

Definition at line 50 of file CFileStream.h.

Different colormaps.

See also:
mrpt::vision::colormap
Enumerator:
cmGRAYSCALE 
cmJET 

Definition at line 63 of file color_maps.h.

For usage in one of the CImage constructors.

Enumerator:
UNINITIALIZED_IMAGE 
FAST_REF_OR_CONVERT_TO_GRAY 

Definition at line 61 of file CImage.h.

Interpolation methods for images.

Used for OpenCV related operations with images, but also with MRPT native classes.

See also:
mrpt::utils::CMappedImage, CImage::scaleImage
Enumerator:
IMG_INTERP_NN 
IMG_INTERP_LINEAR 
IMG_INTERP_CUBIC 
IMG_INTERP_AREA 

Definition at line 47 of file CImage.h.

Enumerator:
Bumblebee 
Custom 
Uncalibrated 

Definition at line 218 of file TCamera.h.


Function Documentation

void BASE_IMPEXP mrpt::utils::colormap ( const TColormap &  color_map,
const float  color_index,
float &  r,
float &  g,
float &  b 
)

Transform a float number in the range [0,1] into RGB components.

Different colormaps are available.

uint16_t BASE_IMPEXP mrpt::utils::compute_CRC16 ( const std::vector< uint8_t > &  data,
const uint16_t  gen_pol = 0x8005 
)

Computes the CRC16 checksum of a block of data.

uint16_t BASE_IMPEXP mrpt::utils::compute_CRC16 ( const uint8_t *  data,
const size_t  len,
const uint16_t  gen_pol = 0x8005 
)

Computes the CRC16 checksum of a block of data.

float mrpt::utils::DEG2RAD ( const float  x ) [inline]

Degrees to radians.

Definition at line 86 of file bits.h.

References M_PIf.

double mrpt::utils::DEG2RAD ( const double  x ) [inline]
float mrpt::utils::DEG2RAD ( const int  x ) [inline]

Degrees to radians.

Definition at line 88 of file bits.h.

References M_PIf.

template<class T >
void mrpt::utils::delete_safe ( T *&  ptr )

Calls "delete" to free an object only if the pointer is not NULL, then set the pointer to NULL.

Definition at line 198 of file bits.h.

Referenced by mrpt::slam::PF_implementation< CPose2D, CMonteCarloLocalization2D >::PF_SLAM_implementation_replaceByNewParticleSet().

template<class T >
std::list<T>::iterator mrpt::utils::erase_return_next ( std::list< T > &  cont,
typename std::list< T >::iterator it 
) [inline]

Calls the standard "erase" method of a STL container, but also returns an iterator to the next element in the container (or end if none)

Definition at line 201 of file stl_extensions.h.

template<class K , class V >
std::map<K,V>::iterator mrpt::utils::erase_return_next ( std::map< K, V > &  cont,
typename std::map< K, V >::iterator it 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 206 of file stl_extensions.h.

template<class K , class V >
std::multimap<K,V>::iterator mrpt::utils::erase_return_next ( std::multimap< K, V > &  cont,
typename std::multimap< K, V >::iterator it 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 213 of file stl_extensions.h.

template<class T >
std::set<T>::iterator mrpt::utils::erase_return_next ( std::set< T > &  cont,
typename std::set< T >::iterator it 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 220 of file stl_extensions.h.

template<class T >
std::vector<T>::iterator mrpt::utils::erase_return_next ( std::vector< T > &  cont,
typename std::vector< T >::iterator it 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 227 of file stl_extensions.h.

template<class T , class CONTAINER >
size_t mrpt::utils::find_in_vector ( const T &  value,
const CONTAINER &  vect 
)

Returns the index of the value "T" in the container "vect" (std::vector,std::deque,etc), or string::npos if not found.

Definition at line 192 of file stl_extensions.h.

References mrpt::math::distance().

Referenced by mrpt::bayes::CKalmanFilterCapable< 7, 3, 3, 7 >::runOneKalmanIteration().

const TRuntimeClassId BASE_IMPEXP* mrpt::utils::findRegisteredClass ( const std::string &  className )

Return info about a given class by its name, or NULL if the class is not registered.

See also:
registerClass, getAllRegisteredClasses
template<typename T >
int mrpt::utils::fix ( x ) [inline]

Rounds toward zero.

Definition at line 155 of file bits.h.

std::vector<const mrpt::utils::TRuntimeClassId*> BASE_IMPEXP mrpt::utils::getAllRegisteredClasses (  )

Returns a list with all the classes registered in the system through mrpt::utils::registerClass.

See also:
registerClass, findRegisteredClass
template<class R , class P >
R* mrpt::utils::getAs ( stlplus::smart_ptr_clone< P > &  o ) [inline]

Utility to get a cast'ed pointer from a smart pointer.

Definition at line 163 of file bits.h.

template<class R , class P >
const R* mrpt::utils::getAs ( const stlplus::smart_ptr_clone< P > &  o ) [inline]

Utility to get a cast'ed pointer from a smart pointer.

Definition at line 167 of file bits.h.

void BASE_IMPEXP mrpt::utils::global_profiler_enter ( const char *  func_name )
void BASE_IMPEXP mrpt::utils::global_profiler_leave ( const char *  func_name )
void BASE_IMPEXP mrpt::utils::hsv2rgb ( float  h,
float  s,
float  v,
float &  r,
float &  g,
float &  b 
)

Transform HSV color components to RGB, all of them in the range [0,1].

See also:
rgb2hsv
void BASE_IMPEXP mrpt::utils::jet2rgb ( const float  color_index,
float &  r,
float &  g,
float &  b 
)

Computes the RGB color components (range [0,1]) for the corresponding color index in the range [0,1] using the MATLAB 'jet' colormap.

See also:
colormap
template<typename T , typename K >
void mrpt::utils::keep_max ( T &  var,
const K  test_val 
) [inline]

If the second argument is above the first one, set the first argument to this higher value.

Definition at line 192 of file bits.h.

Referenced by mrpt::math::maximum(), mrpt::math::minimum_maximum(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_recursive_render(), and mrpt::opengl::COctreePointRenderer< Derived >::TNode::update_bb().

template<typename T , typename K >
void mrpt::utils::keep_min ( T &  var,
const K  test_val 
) [inline]

If the second argument is below the first one, set the first argument to this lower value.

Definition at line 186 of file bits.h.

Referenced by mrpt::math::minimum(), mrpt::math::minimum_maximum(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_recursive_render(), and mrpt::opengl::COctreePointRenderer< Derived >::TNode::update_bb().

std::string BASE_IMPEXP mrpt::utils::md5 ( const std::string  str )

Computes the md5 of a block of data.

mrpt::utils::MRPTSTL_SERIALIZABLE_SEQ_CONTAINER ( std::vector   )

Template method to serialize a STL pair.

Definition at line 121 of file stl_extensions.h.

References MRPTSTL_SERIALIZABLE_SIMPLE_ASSOC_CONTAINER.

void BASE_IMPEXP mrpt::utils::ObjectToOctetVector ( const CSerializable *  o,
vector_byte &  out_vector 
)

Converts (serializes) an MRPT object into an array of bytes.

Parameters:
oThe object to be serialized.
out_vectorThe vector which at return will contain the data. Size will be set automatically.
See also:
OctetVectorToObject, ObjectToString
void BASE_IMPEXP mrpt::utils::ObjectToRawString ( const CSerializable *  o,
std::string &  out_str 
)

Converts (serializes) an MRPT object into an array of bytes within a std::string, without codifying to avoid NULL characters.

This is therefore more efficient than ObjectToString

Parameters:
oThe object to be serialized.
out_vectorThe string which at return will contain the data. Size will be set automatically.
See also:
RawStringToObject, ObjectToOctetVector
std::string BASE_IMPEXP mrpt::utils::ObjectToString ( const CSerializable *  o )

Used to pass MRPT objects into a CORBA-like object (strings).

See doc about "Integration with BABEL".

Parameters:
oThe object to be serialized.
Returns:
The string containing the binay version of object.
See also:
StringToObject, Integration with BABEL
void BASE_IMPEXP mrpt::utils::OctetVectorToObject ( const vector_byte &  in_data,
CSerializablePtr &  obj 
)

Converts back (de-serializes) a sequence of binary data into a MRPT object, without prior information about the object's class.

Parameters:
in_dataThe serialized input data representing the object.
objThe newly created object will be stored in this smart pointer.
Exceptions:
NoneOn any internal exception, this function returns a NULL pointer.
See also:
ObjectToOctetVector, StringToObject
bool BASE_IMPEXP mrpt::utils::operator< ( const TMatchingPair &  a,
const TMatchingPair &  b 
)

A comparison operator, for sorting lists of TMatchingPair's, first order by this_idx, if equals, by other_idx.

std::ostream BASE_IMPEXP& mrpt::utils::operator<< ( std::ostream &  o,
const TPixelCoord &  p 
)

Prints TPixelCoord as "(x,y)".

std::ostream BASE_IMPEXP& mrpt::utils::operator<< ( std::ostream &  o,
const TPixelCoordf &  p 
)

Prints TPixelCoordf as "(x,y)".

CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  s,
const char *  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  s,
const std::string &  str 
)
CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  s,
const vector_float &  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  ,
const vector_int &  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  ,
const std::vector< std::string > &   
)
CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  ,
const std::vector< size_t > &  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  s,
const std::vector< float > &  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator<< ( CStream &  s,
const std::vector< double > &  a 
)
bool BASE_IMPEXP mrpt::utils::operator== ( const TMatchingPair &  a,
const TMatchingPair &  b 
)

A comparison operator.

bool BASE_IMPEXP mrpt::utils::operator== ( const TMatchingPairList &  a,
const TMatchingPairList &  b 
)

A comparison operator.

CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  s,
std::vector< double > &  a 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
TStereoCameraPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
TCameraPtr &  pObj 
)
template<class T1 , class T2 >
CStream& mrpt::utils::operator>> ( CStream &  in,
std::pair< T1, T2 > &  obj 
)

Template method to deserialize a STL pair.

Definition at line 175 of file stl_extensions.h.

References mrpt::format(), and THROW_EXCEPTION.

::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CStringListPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CSimpleDatabasePtr &  pObj 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CSimpleDatabaseTablePtr &  pObj 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CImagePtr &  pObj 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CMemoryChunkPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CMHPropertiesValuesListPtr &  pObj 
)
CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  in,
char *  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  s,
std::vector< float > &  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  in,
std::vector< std::string > &  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  in,
std::string &  str 
)
CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  in,
vector_double &  a 
)
CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  in,
vector_int &  a 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CPropertiesValuesListPtr &  pObj 
)
CStream BASE_IMPEXP& mrpt::utils::operator>> ( CStream &  s,
std::vector< size_t > &  a 
)
::mrpt::utils::CStream& mrpt::utils::operator>> ( mrpt::utils::CStream in,
CTypeSelectorPtr &  pObj 
)
template<typename T >
void mrpt::utils::printf_vector ( const char *  fmt,
const std::vector< T > &  V 
)

Prints a vector in the format [A,B,C,...] to std::cout, and the fmt string for each vector element.

Definition at line 265 of file stl_extensions.h.

References sprintf_vector().

float mrpt::utils::RAD2DEG ( const float  x ) [inline]

Radians to degrees.

Definition at line 92 of file bits.h.

References M_PIf.

double mrpt::utils::RAD2DEG ( const double  x ) [inline]
void BASE_IMPEXP mrpt::utils::RawStringToObject ( const std::string &  in_str,
CSerializablePtr &  obj 
)

Converts back (de-serializes) a sequence of binary data within a std::string into a MRPT object, without prior information about the object's class.

Parameters:
in_dataThe serialized input data representing the object.
objThe newly created object will be stored in this smart pointer.
Exceptions:
NoneOn any internal exception, this function returns a NULL pointer.
See also:
ObjectToRawString
void BASE_IMPEXP mrpt::utils::registerClass ( const mrpt::utils::TRuntimeClassId pNewClass )

Register a class into the MRPT internal list of "CSerializable" descendents.

Used internally in the macros DEFINE_SERIALIZABLE, etc...

See also:
getAllRegisteredClasses, CStartUpClassesRegister

Referenced by mrpt::utils::CLASSINIT::CLASSINIT(), and mrpt::hwdrivers::CGenericSensor::CLASSINIT_GENERIC_SENSOR::CLASSINIT_GENERIC_SENSOR().

void BASE_IMPEXP mrpt::utils::registerClassCustomName ( const char *  customName,
const TRuntimeClassId *  pNewClass 
)

Mostly for internal use within mrpt sources, to handle exceptional cases with multiple serialization names for backward compatibility (CMultiMetricMaps, CImage,...)

template<class T >
void mrpt::utils::reverseBytes ( const T &  v_in,
T &  v_out 
) [inline]

Reverse the order of the bytes of a given type (useful for transforming btw little/big endian)

Definition at line 177 of file bits.h.

References reverseBytesInPlace().

template<class T >
void mrpt::utils::reverseBytesInPlace ( T &  v_in_out ) [inline]

Reverse the order of the bytes of a given type (useful for transforming btw little/big endian)

Definition at line 170 of file bits.h.

Referenced by mrpt::utils::CStream::ReadBufferFixEndianness(), and reverseBytes().

void BASE_IMPEXP mrpt::utils::rgb2hsv ( float  r,
float  g,
float  b,
float &  h,
float &  s,
float &  v 
)

Transform RGB color components to HSV, all of them in the range [0,1].

See also:
hsv2rgb
template<typename T >
int mrpt::utils::round ( const T  value ) [inline]
template<typename T >
long mrpt::utils::round_long ( const T  value ) [inline]

Returns the closer integer (long) to x.

Definition at line 133 of file bits.h.

References t().

Referenced by mrpt::math::round_10power().

int BASE_IMPEXP mrpt::utils::run_unittests ( int  argc,
char **  argv 
)

Run all the unit tests in mrpt::core classes.

template<typename T >
int mrpt::utils::sign ( x ) [inline]
template<typename T >
int mrpt::utils::signWithZero ( x ) [inline]

Returns the sign of X as "0", "1" or "-1".

Definition at line 107 of file bits.h.

References sign().

template<typename Derived >
std::string mrpt::utils::sprintf_vector ( const char *  fmt,
const Eigen::MatrixBase< Derived > &  V 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 250 of file stl_extensions.h.

References mrpt::format().

template<typename T >
std::string mrpt::utils::sprintf_vector ( const char *  fmt,
const std::vector< T > &  V 
)

Generates a string for a vector in the format [A,B,C,...] to std::cout, and the fmt string for each vector element.

Definition at line 236 of file stl_extensions.h.

References mrpt::format().

Referenced by mrpt::math::CLevenbergMarquardtTempl< VECTORTYPE, USERPARAM >::execute(), and printf_vector().

template<class T >
T mrpt::utils::square ( const T  x ) [inline]

Inline function for the square of a number.

Definition at line 159 of file bits.h.

Referenced by mrpt::math::meanAndStd().

void BASE_IMPEXP mrpt::utils::StringToObject ( const std::string &  str,
CSerializablePtr &  obj 
)

Used to pass CORBA-like objects (strings) into a MRPT object.

Parameters:
strAn string generated with ObjectToString
objA currently empty pointer, where a pointer to the newly created object will be stored.
Exceptions:
NoneOn any internal exception, this function returns NULL.
See also:
ObjectToString, Integration with BABEL

Variable Documentation

class BASE_IMPEXP mrpt::utils::CMessage

Definition at line 42 of file CStream.h.

class BASE_IMPEXP mrpt::utils::CObject

Definition at line 41 of file CObject.h.

class BASE_IMPEXP mrpt::utils::CSerializable

Definition at line 40 of file CStream.h.

struct BASE_IMPEXP mrpt::utils::CSerializablePtr

Definition at line 41 of file CStream.h.

class BASE_IMPEXP mrpt::utils::CStream

Definition at line 46 of file math_frwds.h.




Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011