Main MRPT website > C++ reference for MRPT 1.9.9
Namespaces | Classes | Typedefs | Functions
mrpt::mrpt::utils Namespace Reference

Namespaces

 detail
 

Classes

struct  CProfilerProxy
 
class  PointCloudAdapter
 An adapter to different kinds of point cloud object. More...
 

Typedefs

typedef unsigned long POINTER_TYPE
 For performing type casting from a pointer to its numeric value. More...
 
typedef uint64_t TNodeID
 The type for node IDs in graphs of different types. More...
 
typedef std::pair< TNodeID, TNodeIDTPairNodeIDs
 A pair of node IDs. More...
 

Functions

void global_profiler_enter (const char *func_name) noexcept
 
void global_profiler_leave (const char *func_name) noexcept
 
double DEG2RAD (const double x)
 Degrees to radians. More...
 
float DEG2RAD (const float x)
 Degrees to radians. More...
 
float DEG2RAD (const int x)
 Degrees to radians. More...
 
double RAD2DEG (const double x)
 Radians to degrees. More...
 
float RAD2DEG (const float x)
 Radians to degrees. More...
 
template<typename T >
int sign (T x)
 Returns the sign of X as "1" or "-1". More...
 
template<typename T >
int signWithZero (T x)
 Returns the sign of X as "0", "1" or "-1". More...
 
template<typename T >
lowestPositive (const T a, const T b)
 Returns the lowest, possitive among two numbers. More...
 
template<typename T >
abs_diff (const T a, const T b)
 Efficient and portable evaluation of the absolute difference of two unsigned integer values (but will also work for signed and floating point types) More...
 
template<typename T >
const T min3 (const T &A, const T &B, const T &C)
 
template<typename T >
const T max3 (const T &A, const T &B, const T &C)
 
template<typename T >
int fix (T x)
 Rounds toward zero. More...
 
template<class R , class SMART_PTR >
RgetAs (SMART_PTR &o)
 Utility to get a cast'ed pointer from a smart pointer. More...
 
template<class R , class SMART_PTR >
const RgetAs (const SMART_PTR &o)
 Utility to get a cast'ed pointer from a smart pointer. More...
 
void reverseBytesInPlace (bool &v_in_out)
 Reverse the order of the bytes of a given type (useful for transforming btw little/big endian) More...
 
void reverseBytesInPlace (uint8_t &v_in_out)
 
void reverseBytesInPlace (int8_t &v_in_out)
 
void reverseBytesInPlace (uint16_t &v_in_out)
 
void reverseBytesInPlace (int16_t &v_in_out)
 
void reverseBytesInPlace (uint32_t &v_in_out)
 
void reverseBytesInPlace (int32_t &v_in_out)
 
void reverseBytesInPlace (uint64_t &v_in_out)
 
void reverseBytesInPlace (int64_t &v_in_out)
 
void reverseBytesInPlace (float &v_in_out)
 
void reverseBytesInPlace (double &v_in_out)
 
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) More...
 
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. More...
 
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. More...
 
template<typename T >
void saturate (T &var, const T sat_min, const T sat_max)
 Saturate the value of var (the variable gets modified) so it does not get out of [min,max]. More...
 
template<typename T >
saturate_val (const T &value, const T sat_min, const T sat_max)
 Like saturate() but it returns the value instead of modifying the variable. More...
 
template<class T >
void delete_safe (T *&ptr)
 Calls "delete" to free an object only if the pointer is not nullptr, then set the pointer to NULL. More...
 
template<class VECTOR_T >
void vector_strong_clear (VECTOR_T &v)
 Like calling a std::vector<>'s clear() method, but really forcing deallocating the memory. More...
 
template<typename T >
length2length4N (T len)
 Returns the smaller number >=len such that it's a multiple of 4. More...
 

Function Documentation

◆ abs_diff()

template<typename T >
T mrpt::mrpt::utils::abs_diff ( const T  a,
const T  b 
)
inline

Efficient and portable evaluation of the absolute difference of two unsigned integer values (but will also work for signed and floating point types)

Definition at line 150 of file CColouredPointsMap.h.

Referenced by mrpt::nav::CHolonomicND::calcRepresentativeSectorForGap(), mrpt::nav::CHolonomicFullEval::evalSingleTarget(), and mrpt::nav::CHolonomicND::evaluateGaps().

Here is the caller graph for this function:

◆ DEG2RAD() [1/3]

double mrpt::mrpt::utils::DEG2RAD ( const double  x)
inline

◆ DEG2RAD() [2/3]

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

Degrees to radians.

Definition at line 98 of file CColouredPointsMap.h.

◆ DEG2RAD() [3/3]

float mrpt::mrpt::utils::DEG2RAD ( const int  x)
inline

Degrees to radians.

Definition at line 100 of file CColouredPointsMap.h.

◆ delete_safe()

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

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

Definition at line 253 of file CColouredPointsMap.h.

◆ fix()

template<typename T >
int mrpt::mrpt::utils::fix ( x)
inline

Rounds toward zero.

Definition at line 168 of file CColouredPointsMap.h.

References mrpt::maps::CColouredPointsMap::insertPoint().

Here is the call graph for this function:

◆ getAs() [1/2]

template<class R , class SMART_PTR >
R* mrpt::mrpt::utils::getAs ( SMART_PTR &  o)
inline

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

Definition at line 179 of file CColouredPointsMap.h.

References mrpt::maps::CColouredPointsMap::insertPoint().

Here is the call graph for this function:

◆ getAs() [2/2]

template<class R , class SMART_PTR >
const R* mrpt::mrpt::utils::getAs ( const SMART_PTR &  o)
inline

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

Definition at line 186 of file CColouredPointsMap.h.

◆ global_profiler_enter()

void mrpt::mrpt::utils::global_profiler_enter ( const char *  func_name)
noexcept

Definition at line 44 of file CTimeLogger.cpp.

References mrpt::utils::CTimeLogger::enter(), and global_profiler.

Referenced by mrpt::utils::CProfilerProxy::CProfilerProxy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ global_profiler_leave()

void mrpt::mrpt::utils::global_profiler_leave ( const char *  func_name)
noexcept

Definition at line 48 of file CTimeLogger.cpp.

References global_profiler, and mrpt::utils::CTimeLogger::leave().

Referenced by mrpt::utils::CProfilerProxy::~CProfilerProxy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ keep_max()

template<typename T , typename K >
void mrpt::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 227 of file CColouredPointsMap.h.

Referenced by mrpt::nav::CMultiObjectiveMotionOptimizerBase::decide(), mrpt::utils::CTimeLogger::do_leave(), mrpt::nav::CPTG_RobotShape_Polygonal::evalClearanceToRobotShape(), mrpt::nav::CHolonomicFullEval::evalSingleTarget(), mrpt::math::MatrixBlockSparseCols< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::findCurrentNumberOfRows(), mrpt::nav::CHolonomicND::gapsEstimator(), mrpt::math::TPolygon2D::getBoundingBox(), mrpt::vision::TSimpleFeatureList_templ< TSimpleFeature >::getMaxID(), mrpt::vision::CFeatureList::getMaxID(), mrpt::maps::CHeightGridMap2D_Base::getMinMaxHeight(), mrpt::nav::CPTG_DiffDrive_CollisionGridBased::internal_initialize(), mrpt::nav::CPTG_DiffDrive_CollisionGridBased::inverseMap_WS2TP(), mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(), mrpt::math::maximum(), mrpt::math::minimum_maximum(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_recursive_render(), mrpt::graphslam::optimize_graph_spa_levmarq(), mrpt::hwdrivers::CGPSInterface::parseBuffer(), mrpt::utils::CTimeLogger::registerUserMeasure(), mrpt::opengl::CGeneralizedEllipsoidTemplate< 3 >::render_dl(), mrpt::nav::PlannerTPS_VirtualBase::renderMoveTree(), mrpt::nav::CPTG_RobotShape_Polygonal::setRobotShape(), mrpt::nav::CPTG_DiffDrive_CollisionGridBased::simulateTrajectories(), mrpt::nav::PlannerRRT_SE2_TPS::solve(), mrpt::opengl::COctreePointRenderer< Derived >::TNode::update_bb(), mrpt::opengl::CMesh::updateColorsMatrix(), and mrpt::vision::CMatchedFeatureList::updateMaxID().

Here is the caller graph for this function:

◆ keep_min()

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

◆ length2length4N()

template<typename T >
T mrpt::mrpt::utils::length2length4N ( len)

Returns the smaller number >=len such that it's a multiple of 4.

Definition at line 273 of file CColouredPointsMap.h.

Referenced by mrpt::obs::CObservation2DRangeScan::resizeScan(), and mrpt::obs::CObservation2DRangeScan::resizeScanAndAssign().

Here is the caller graph for this function:

◆ lowestPositive()

template<typename T >
T mrpt::mrpt::utils::lowestPositive ( const T  a,
const T  b 
)

Returns the lowest, possitive among two numbers.

If both are non-positive (<=0), the lowest one is returned.

Definition at line 136 of file CColouredPointsMap.h.

◆ max3()

template<typename T >
const T mrpt::mrpt::utils::max3 ( const T &  A,
const T &  B,
const T &  C 
)
inline

Definition at line 161 of file CColouredPointsMap.h.

◆ min3()

template<typename T >
const T mrpt::mrpt::utils::min3 ( const T &  A,
const T &  B,
const T &  C 
)
inline

Definition at line 156 of file CColouredPointsMap.h.

References mrpt::maps::CColouredPointsMap::setPoint().

Here is the call graph for this function:

◆ RAD2DEG() [1/2]

double mrpt::mrpt::utils::RAD2DEG ( const double  x)
inline

◆ RAD2DEG() [2/2]

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

Radians to degrees.

Definition at line 104 of file CColouredPointsMap.h.

◆ reverseBytes()

template<class T >
void mrpt::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 211 of file CColouredPointsMap.h.

Referenced by TEST().

Here is the caller graph for this function:

◆ reverseBytesInPlace() [1/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( bool &  v_in_out)

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

Referenced by mrpt::utils::CStream::ReadBufferFixEndianness(), mrpt::hwdrivers::CVelodyneScanner::receivePackets(), and TEST().

Here is the caller graph for this function:

◆ reverseBytesInPlace() [2/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( uint8_t v_in_out)

◆ reverseBytesInPlace() [3/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( int8_t v_in_out)

◆ reverseBytesInPlace() [4/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( uint16_t v_in_out)

◆ reverseBytesInPlace() [5/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( int16_t v_in_out)

◆ reverseBytesInPlace() [6/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( uint32_t v_in_out)

◆ reverseBytesInPlace() [7/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( int32_t v_in_out)

◆ reverseBytesInPlace() [8/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( uint64_t v_in_out)

◆ reverseBytesInPlace() [9/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( int64_t v_in_out)

◆ reverseBytesInPlace() [10/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( float &  v_in_out)

◆ reverseBytesInPlace() [11/11]

void mrpt::mrpt::utils::reverseBytesInPlace ( double &  v_in_out)

◆ saturate()

template<typename T >
void mrpt::mrpt::utils::saturate ( T &  var,
const T  sat_min,
const T  sat_max 
)
inline

Saturate the value of var (the variable gets modified) so it does not get out of [min,max].

Definition at line 234 of file CColouredPointsMap.h.

Referenced by mrpt::maps::CRandomFieldGridMap2D::getAsMatrix(), and mrpt::maps::CRandomFieldGridMap2D::updateMapEstimation_GMRF().

Here is the caller graph for this function:

◆ saturate_val()

template<typename T >
T mrpt::mrpt::utils::saturate_val ( const T &  value,
const T  sat_min,
const T  sat_max 
)
inline

Like saturate() but it returns the value instead of modifying the variable.

Definition at line 242 of file CColouredPointsMap.h.

Referenced by mrpt::maps::CRandomFieldGridMap2D::getAs3DObject(), and mrpt::maps::CRandomFieldGridMap2D::saveAsMatlab3DGraph().

Here is the caller graph for this function:

◆ sign()

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

◆ signWithZero()

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

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

Definition at line 128 of file CColouredPointsMap.h.

Referenced by mrpt::nav::CPTG_Holo_Blend::directionToMotionCommand(), mrpt::nav::CRobot2NavInterfaceForSimulator_Holo::getAlignCmd(), and mrpt::nav::CPTG_Holo_Blend::getPathPose().

Here is the caller graph for this function:

◆ vector_strong_clear()

template<class VECTOR_T >
void mrpt::mrpt::utils::vector_strong_clear ( VECTOR_T &  v)
inline

Like calling a std::vector<>'s clear() method, but really forcing deallocating the memory.

Definition at line 265 of file CColouredPointsMap.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019