Loading...
Searching...
No Matches
pcl_macros.h File Reference
Module common
`#include <cmath>`
`#include <cstdlib>`
`#include <iostream>`
`#include <pcl/pcl_config.h>`
`#include <boost/preprocessor/arithmetic/add.hpp>`
`#include <boost/preprocessor/comparison/equal.hpp>`
`#include <boost/preprocessor/comparison/less.hpp>`
`#include <boost/preprocessor/control/if.hpp>`
`#include <boost/preprocessor/stringize.hpp>`

Go to the source code of this file.

## Detailed Description

Defines all the PCL and non-PCL macros used.

Definition in file pcl_macros.h.

## Namespaces

namespace | pcl

## Macros

#define | _USE_MATH_DEFINES
#define | OPENMP_LEGACY_CONST_DATA_SHARING_RULE 0
#define | _PCL_DEPRECATED_IMPL(Message)
#define | PCL_PRAGMA
#define | _PCL_DEPRECATED_HEADER_IMPL(Message)
#define | _PCL_PREPARE_REMOVAL_MESSAGE(Major, Minor, Msg)
| A handy way to inform the user of the removal deadline.
#define | _PCL_COMPAT_MINOR_VERSION(Minor, IfPass, IfFail)
| Tests for Minor < PCL_MINOR_VERSION.
#define | _PCL_COMPAT_MAJOR_VERSION(Major, IfPass, IfFail)
| Tests for Major == PCL_MAJOR_VERSION.
#define | PCL_DEPRECATED(Major, Minor, Message)
| macro for compatibility across compilers and help remove old deprecated items for the Major.Minor release
#define | PCL_DEPRECATED_HEADER(Major, Minor, Message)
| macro for compatibility across compilers and help remove old deprecated headers for the Major.Minor release
#define | _MATH_DEFINES_DEFINED
#define | M_E 2.71828182845904523536
#define | M_LOG2E 1.44269504088896340736
#define | M_LOG10E 0.434294481903251827651
#define | M_LN2 0.693147180559945309417
#define | M_LN10 2.30258509299404568402
#define | M_PI 3.14159265358979323846
#define | M_PI_2 1.57079632679489661923
#define | M_PI_4 0.785398163397448309616
#define | M_1_PI 0.318309886183790671538
#define | M_2_PI 0.636619772367581343076
#define | M_2_SQRTPI 1.12837916709551257390
#define | M_SQRT2 1.41421356237309504880
#define | M_SQRT1_2 0.707106781186547524401
#define | DEG2RAD(x)
#define | RAD2DEG(x)
#define | PCL_LINEAR_VERSION(major, minor, patch)
| Macro that maps version information given by major.minor.patch to a linear integer value to enable easy comparison.
#define | pcl_lrint(x)
#define | pcl_lrintf(x)
#define | pcl_sleep(x)
#define | PVAR(s)
#define | PVARN(s)
#define | PVARC(s)
#define | PVARS(s)
#define | PVARA(s)
#define | PVARAN(s)
#define | PVARAC(s)
#define | PVARAS(s)
#define | FIXED(s)
#define | ERASE_STRUCT(var)
#define | ERASE_ARRAY(var, size)
#define | SET_ARRAY(var, value, size)
#define | PCL_EXTERN_C
#define | PCL_EXPORTS
#define | PCL_CDECL __cdecl
#define | PCL_STDCALL __stdcall
#define | PCLAPI(rettype)
#define | __has_extension(x)
#define | GLIBC_MALLOC_ALIGNED 0
#define | FREEBSD_MALLOC_ALIGNED 0
#define | PCL_FALLTHROUGH
| Macro to add a no-op or a fallthrough attribute based on compiler feature.
#define | PCL_NODISCARD
#define | PCL_IF_CONSTEXPR(x)
#define | PCL_CONDITION_UNLIKELY(x)
| Tries to inform the compiler to optimize codegen assuming that the condition will probably evaluate to false.
#define | PCL_IF_UNLIKELY(x)
#define | PCL_WHILE_UNLIKELY(x)

## Functions

__inline double | pcl_round (double number)
| Win32 doesn't seem to have rounding functions.
__inline float | pcl_round (float number)
void * | pcl::aligned_malloc (std::size_t size)
void | pcl::aligned_free (void *ptr)

## Macro Definition Documentation

## __has_extension

#define __has_extension | ( |  | x | ) |

Value:
0

Definition at line 348 of file pcl_macros.h.

## _MATH_DEFINES_DEFINED

#define _MATH_DEFINES_DEFINED

Definition at line 196 of file pcl_macros.h.

## _PCL_COMPAT_MAJOR_VERSION

#define _PCL_COMPAT_MAJOR_VERSION | ( |  | Major,
|  |  | IfPass,
|  |  | IfFail )

Value:
BOOST_PP_IF(BOOST_PP_EQUAL(PCL_MINOR_VERSION, 99), \
BOOST_PP_IF(BOOST_PP_EQUAL(BOOST_PP_ADD(PCL_MAJOR_VERSION, 1), Major), IfPass, IfFail), \
BOOST_PP_IF(BOOST_PP_EQUAL(PCL_MAJOR_VERSION, Major), IfPass, IfFail))

Tests for Major == PCL_MAJOR_VERSION.

When PCL VERSION is of format 34.99.12, this macro behaves as if it is already 35.0.0, and allows for smoother transition for maintainers

Definition at line 142 of file pcl_macros.h.

## _PCL_COMPAT_MINOR_VERSION

#define _PCL_COMPAT_MINOR_VERSION | ( |  | Minor,
|  |  | IfPass,
|  |  | IfFail )

Value:
BOOST_PP_IF(BOOST_PP_EQUAL(PCL_REVISION_VERSION, 99), \
BOOST_PP_IF(BOOST_PP_LESS(BOOST_PP_ADD(PCL_MINOR_VERSION, 1), Minor), IfPass, IfFail), \
BOOST_PP_IF(BOOST_PP_LESS(PCL_MINOR_VERSION, Minor), IfPass, IfFail))

Tests for Minor < PCL_MINOR_VERSION.

When PCL VERSION is of format 34.12.99, this macro behaves as if it is already 34.13.0, and allows for smoother transition for maintainers

Definition at line 132 of file pcl_macros.h.

## _PCL_DEPRECATED_HEADER_IMPL

#define _PCL_DEPRECATED_HEADER_IMPL | ( |  | Message | ) |

Definition at line 116 of file pcl_macros.h.

## _PCL_DEPRECATED_IMPL

#define _PCL_DEPRECATED_IMPL | ( |  | Message | ) |

Definition at line 97 of file pcl_macros.h.

## _PCL_PREPARE_REMOVAL_MESSAGE

#define _PCL_PREPARE_REMOVAL_MESSAGE | ( |  | Major,
|  |  | Minor,
|  |  | Msg )

Value:
Msg " (It will be removed in PCL " BOOST_PP_STRINGIZE(Major.Minor) ")"

A handy way to inform the user of the removal deadline.

Definition at line 123 of file pcl_macros.h.

## _USE_MATH_DEFINES

#define _USE_MATH_DEFINES

Definition at line 59 of file pcl_macros.h.

## DEG2RAD

#define DEG2RAD | ( |  | x | ) |

Value:
((x)*0.017453293)

Definition at line 224 of file pcl_macros.h.

## ERASE_ARRAY

#define ERASE_ARRAY | ( |  | var,
|  |  | size )

Value:
memset(var, 0, (size)*sizeof(*(var)))

Definition at line 305 of file pcl_macros.h.

## ERASE_STRUCT

#define ERASE_STRUCT | ( |  | var | ) |

Value:
memset(&(var), 0, sizeof(var))

Definition at line 301 of file pcl_macros.h.

## FIXED

#define FIXED | ( |  | s | ) |

Value:
std::fixed << (s) << std::resetiosflags(std::ios_base::fixed)

Definition at line 297 of file pcl_macros.h.

## FREEBSD_MALLOC_ALIGNED

#define FREEBSD_MALLOC_ALIGNED 0

Definition at line 368 of file pcl_macros.h.

## GLIBC_MALLOC_ALIGNED

#define GLIBC_MALLOC_ALIGNED 0

Definition at line 362 of file pcl_macros.h.

## M_1_PI

#define M_1_PI 0.318309886183790671538

Definition at line 206 of file pcl_macros.h.

## M_2_PI

#define M_2_PI 0.636619772367581343076

Definition at line 207 of file pcl_macros.h.

## M_2_SQRTPI

#define M_2_SQRTPI 1.12837916709551257390

Definition at line 208 of file pcl_macros.h.

## M_E

#define M_E 2.71828182845904523536

Definition at line 198 of file pcl_macros.h.

Referenced by pcl::GridProjection< PointNT >::getMagAtPoint(), pcl::GridProjection< PointNT >::getVectorAtPoint(), and pcl::GridProjection< PointNT >::getVectorAtPointKNN().

## M_LN10

#define M_LN10 2.30258509299404568402

Definition at line 202 of file pcl_macros.h.

## M_LN2

#define M_LN2 0.693147180559945309417

Definition at line 201 of file pcl_macros.h.

## M_LOG10E

#define M_LOG10E 0.434294481903251827651

Definition at line 200 of file pcl_macros.h.

## M_LOG2E

#define M_LOG2E 1.44269504088896340736

Definition at line 199 of file pcl_macros.h.

## M_PI

#define M_PI 3.14159265358979323846

Definition at line 203 of file pcl_macros.h.

Referenced by pcl::FrustumCulling< PointT >::applyFilter(), pcl::RangeImage::atan2LookUp(), pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::BoundaryEstimation(), pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::bruteForceCorrespondences(), pcl::RangeImagePlanar::calculate3DPoint(), pcl::comparePoints2D(), pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::compute(), pcl::ESFEstimation< PointInT, PointOutT >::computeESF(), pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::computeFeature(), pcl::face_detection::PoseClassRegressionVarianceStatsEstimator< LabelDataType, NodeType, DataSet, ExampleIndex >::computeInformationGain(), pcl::MaximumLikelihoodSampleConsensus< PointT >::computeModel(), pcl::BOARDLocalReferenceFrameEstimation< PointInT, PointNT, PointOutT >::computePointLRF(), pcl::PFHRGBEstimation< PointInT, PointNT, PointOutT >::computePointPFHRGBSignature(), pcl::PFHEstimation< PointInT, PointNT, PointOutT >::computePointPFHSignature(), pcl::FPFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature(), pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature(), pcl::RIFTEstimation< PointInT, GradientT, PointOutT >::computeRIFT(), pcl::computeRSD(), pcl::computeRSD(), pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::computeSiForPoint(), pcl::RangeImage::cosLookUp(), pcl::SampleConsensusModelCone< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::countWithinDistanceStandard(), pcl::PackedHSIComparison< PointT >::evaluate(), pcl::FPFHEstimation< PointInT, PointNT, PointOutT >::FPFHEstimation(), pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::generateKernel(), pcl::RangeImage::getAcutenessValue(), pcl::getAngle3D(), pcl::getAngle3D(), pcl::BOARDLocalReferenceFrameEstimation< PointInT, PointNT, PointOutT >::getAngleBetweenUnitVectors(), pcl::RangeImage::getAnglesFromImagePoint(), pcl::RangeImageSpherical::getAnglesFromImagePoint(), pcl::SampleConsensusModelCone< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::getDistancesToModel(), pcl::RangeImageSpherical::getImagePointFromAngles(), pcl::RangeImage::getImpactAngle(), pcl::RangeImage::getNormalBasedAcutenessValue(), pcl::QuantizedNormalLookUpTable::initializeLUT(), pcl::SACSegmentation< PointT >::initSACModel(), pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel(), pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::isBoundaryPoint(), pcl::SampleConsensusModelCone< PointT, PointNT >::isModelValid(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::isModelValid(), pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >::isModelValid(), pcl::SampleConsensusModelParallelLine< PointT >::isModelValid(), pcl::SampleConsensusModelPerpendicularPlane< PointT >::isModelValid(), pcl::ISSKeypoint3D< PointInT, PointOutT, NormalT >::ISSKeypoint3D(), pcl::normAngle(), pcl::PFHEstimation< PointInT, PointNT, PointOutT >::PFHEstimation(), pcl::PFHRGBEstimation< PointInT, PointNT, PointOutT >::PFHRGBEstimation(), pcl::PPFHashMapSearch::PPFHashMapSearch(), pcl::PPFRegistration< PointSource, PointTarget >::PPFRegistration(), pcl::SampleConsensusModelCone< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::selectWithinDistance(), pcl::PolynomialCalculationsT< real >::solveCubicEquation(), pcl::TimGrabber::toPointClouds(), and pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::validateTransformation().

## M_PI_2

#define M_PI_2 1.57079632679489661923

Definition at line 204 of file pcl_macros.h.

Referenced by pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::validateTransformation().

## M_PI_4

#define M_PI_4 0.785398163397448309616

Definition at line 205 of file pcl_macros.h.

## M_SQRT1_2

#define M_SQRT1_2 0.707106781186547524401

Definition at line 210 of file pcl_macros.h.

Referenced by pcl::approximatePolygon2D().

## M_SQRT2

#define M_SQRT2 1.41421356237309504880

Definition at line 209 of file pcl_macros.h.

## OPENMP_LEGACY_CONST_DATA_SHARING_RULE

#define OPENMP_LEGACY_CONST_DATA_SHARING_RULE 0

Definition at line 71 of file pcl_macros.h.

## PCL_CDECL

#define PCL_CDECL __cdecl

Definition at line 335 of file pcl_macros.h.

## PCL_CONDITION_UNLIKELY

#define PCL_CONDITION_UNLIKELY | ( |  | x | ) |

Value:
(x)

Tries to inform the compiler to optimize codegen assuming that the condition will probably evaluate to false.

Note
  Prefer using PCL_{IF,WHILE}_UNLIKELY

Warning
  This can't be used with switch statements

This tries to help the compiler optimize for the unlikely case. Most compilers assume that the condition would evaluate to true in if and while loops (reference needed) As such the opposite of this macro (PCL_CONDITION_LIKELY) will not result in significant performance improvement

Some sample usage:

if PCL_CONDITION_UNLIKELY(x == 0) { return; } else { throw std::runtime_error("some error"); }
//
while PCL_CONDITION_UNLIKELY(wait_for_result) { sleep(1); } // busy wait, with minimal chances of waiting
PCL_CONDITION_UNLIKELY
#define PCL_CONDITION_UNLIKELY(x)
Tries to inform the compiler to optimize codegen assuming that the condition will probably evaluate t...
Definition pcl_macros.h:482

Definition at line 482 of file pcl_macros.h.

## PCL_DEPRECATED

#define PCL_DEPRECATED | ( |  | Major,
|  |  | Minor,
|  |  | Message )

Value:
_PCL_COMPAT_MAJOR_VERSION( \
Major, \
_PCL_COMPAT_MINOR_VERSION( \
Minor, \
_PCL_DEPRECATED_IMPL(_PCL_PREPARE_REMOVAL_MESSAGE(Major, Minor, Message)), \
unneeded_deprecation), \
major_version_mismatch)
_PCL_PREPARE_REMOVAL_MESSAGE
#define _PCL_PREPARE_REMOVAL_MESSAGE(Major, Minor, Msg)
A handy way to inform the user of the removal deadline.
Definition pcl_macros.h:123
_PCL_COMPAT_MINOR_VERSION
#define _PCL_COMPAT_MINOR_VERSION(Minor, IfPass, IfFail)
Tests for Minor < PCL_MINOR_VERSION.
Definition pcl_macros.h:132
_PCL_DEPRECATED_IMPL
#define _PCL_DEPRECATED_IMPL(Message)
Definition pcl_macros.h:97
_PCL_COMPAT_MAJOR_VERSION
#define _PCL_COMPAT_MAJOR_VERSION(Major, IfPass, IfFail)
Tests for Major == PCL_MAJOR_VERSION.
Definition pcl_macros.h:142

macro for compatibility across compilers and help remove old deprecated items for the Major.Minor release

compiler errors of unneeded_deprecation and major_version_mismatch are hints to the developer that those items can be safely removed. Behavior of PCL_DEPRECATED(1, 99, "Not needed anymore")

- till PCL 1.98: "Not needed anymore (It will be removed in PCL 1.99)"
- PCL 1.99 onwards: compiler error with "unneeded_deprecation"
- PCL 2.0 onwards: compiler error with "major_version_mismatch"

Definition at line 158 of file pcl_macros.h.

## PCL_DEPRECATED_HEADER

#define PCL_DEPRECATED_HEADER | ( |  | Major,
|  |  | Minor,
|  |  | Message )

Value:
_PCL_COMPAT_MAJOR_VERSION( \
Major, \
_PCL_COMPAT_MINOR_VERSION( \
Minor, \
_PCL_DEPRECATED_HEADER_IMPL(_PCL_PREPARE_REMOVAL_MESSAGE( \
Major, \
Minor, \
"This header is deprecated. " Message)), \
unneeded_header), \
major_version_mismatch)
_PCL_DEPRECATED_HEADER_IMPL
#define _PCL_DEPRECATED_HEADER_IMPL(Message)
Definition pcl_macros.h:116

macro for compatibility across compilers and help remove old deprecated headers for the Major.Minor release

compiler errors of unneeded_header and major_version_mismatch are hints to the developer that those items can be safely removed. Behavior of PCL_DEPRECATED_HEADER(1, 99, "Use file <newfile.h> instead.")

- till PCL 1.98: "This header is deprecated. Use file <newfile.h> instead. (It will be removed in PCL 1.99)"
- PCL 1.99 onwards: compiler error with "unneeded_header"
- PCL 2.0 onwards: compiler error with "major_version_mismatch"

Definition at line 178 of file pcl_macros.h.

## PCL_EXPORTS

#define PCL_EXPORTS

Definition at line 324 of file pcl_macros.h.

## PCL_EXTERN_C

#define PCL_EXTERN_C

Definition at line 316 of file pcl_macros.h.

## PCL_IF_CONSTEXPR

#define PCL_IF_CONSTEXPR | ( |  | x | ) |

Value:
if (x)

Definition at line 454 of file pcl_macros.h.

Referenced by pcl::operator<<().

## PCL_IF_UNLIKELY

#define PCL_IF_UNLIKELY | ( |  | x | ) |

Value:
if PCL_CONDITION_UNLIKELY(x)

Definition at line 485 of file pcl_macros.h.

## PCL_LINEAR_VERSION

#define PCL_LINEAR_VERSION | ( |  | major,
|  |  | minor,
|  |  | patch )

Value:
((major)<<16|(minor)<<8|(patch))

Macro that maps version information given by major.minor.patch to a linear integer value to enable easy comparison.

Definition at line 233 of file pcl_macros.h.

## pcl_lrint

#define pcl_lrint | ( |  | x | ) |

Value:
(static_cast<long int>(pcl_round(x)))
pcl_round
__inline double pcl_round(double number)
Win32 doesn't seem to have rounding functions.
Definition pcl_macros.h:240

Definition at line 254 of file pcl_macros.h.

Referenced by pcl::RandomizedMEstimatorSampleConsensus< PointT >::computeModel(), pcl::RandomizedRandomSampleConsensus< PointT >::computeModel(), pcl::RangeImage::createFromPointCloud(), pcl::RangeImage::createFromPointCloudWithKnownSize(), pcl::RangeImage::doZBuffer(), pcl::visualization::PointCloudColorHandlerRandom< PointT >::getColor(), pcl::Narf::getNoOfBeamPoints(), and pcl::RangeImage::integrateFarRanges().

## pcl_lrintf

#define pcl_lrintf | ( |  | x | ) |

Value:
(static_cast<long int>(pcl_round(x)))

Definition at line 255 of file pcl_macros.h.

Referenced by pcl::RangeImage::asinLookUp(), pcl::RangeImage::atan2LookUp(), pcl::RangeImage::cosLookUp(), and pcl::RangeImage::real2DToInt2D().

## PCL_NODISCARD

#define PCL_NODISCARD

Definition at line 448 of file pcl_macros.h.

## PCL_PRAGMA

#define PCL_PRAGMA

Definition at line 106 of file pcl_macros.h.

## pcl_sleep

#define pcl_sleep | ( |  | x | ) |

Value:
sleep(x)

Definition at line 261 of file pcl_macros.h.

## PCL_STDCALL

#define PCL_STDCALL __stdcall

Definition at line 336 of file pcl_macros.h.

## PCL_WHILE_UNLIKELY

#define PCL_WHILE_UNLIKELY | ( |  | x | ) |

Value:
while PCL_CONDITION_UNLIKELY(x)

Definition at line 486 of file pcl_macros.h.

## PCLAPI

#define PCLAPI | ( |  | rettype | ) |

Value:
PCL_EXTERN_C PCL_EXPORTS rettype PCL_CDECL
PCL_CDECL
#define PCL_CDECL
Definition pcl_macros.h:335
PCL_EXTERN_C
#define PCL_EXTERN_C
Definition pcl_macros.h:316

Definition at line 343 of file pcl_macros.h.

## PVAR

#define PVAR | ( |  | s | ) |

Value:
#s << " = " << (s) << std::flush

Definition at line 265 of file pcl_macros.h.

## PVARA

#define PVARA | ( |  | s | ) |

Value:
#s << " = " << RAD2DEG(s) << "deg" << std::flush

Definition at line 281 of file pcl_macros.h.

## PVARAC

#define PVARAC | ( |  | s | ) |

Value:
#s << " = " << RAD2DEG(s) << "deg, " << std::flush

Definition at line 289 of file pcl_macros.h.

## PVARAN

#define PVARAN | ( |  | s | ) |

Value:
#s << " = " << RAD2DEG(s) << "deg\n"

Definition at line 285 of file pcl_macros.h.

## PVARAS

#define PVARAS | ( |  | s | ) |

Value:
#s << " = " << RAD2DEG(s) << "deg " << std::flush

Definition at line 293 of file pcl_macros.h.

## PVARC

#define PVARC | ( |  | s | ) |

Value:
#s << " = " << (s) << ", " << std::flush

Definition at line 273 of file pcl_macros.h.

Referenced by pcl::operator<<(), and pcl::operator<<().

## PVARN

#define PVARN | ( |  | s | ) |

Value:
#s << " = " << (s) << "\n"

Definition at line 269 of file pcl_macros.h.

Referenced by pcl::operator<<(), and pcl::operator<<().

## PVARS

#define PVARS | ( |  | s | ) |

Value:
#s << " = " << (s) << " " << std::flush

Definition at line 277 of file pcl_macros.h.

## RAD2DEG

#define RAD2DEG | ( |  | x | ) |

Value:
((x)*57.29578)

Definition at line 228 of file pcl_macros.h.

Referenced by pcl::operator<<().

## SET_ARRAY

#define SET_ARRAY | ( |  | var,
|  |  | value,
|  |  | size )

Value:
{ for (decltype(size) i = 0; i < (size); ++i) (var)[i]=value; }

Definition at line 309 of file pcl_macros.h.

## Function Documentation

## pcl_round() [1/2]

__inline double pcl_round | ( | double | number | ) |

Win32 doesn't seem to have rounding functions.

Therefore implement our own versions of these functions here.

Definition at line 240 of file pcl_macros.h.

Referenced by pcl::ESFEstimation< PointInT, PointOutT >::computeESF(), pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature(), pcl::face_detection::FeatureHandlerDepthAverage< FT, DataSet, ExampleIndex >::evaluateFeature(), and pcl::OrganizedNeighborSearch< PointT >::pointPlaneProjection().

## pcl_round() [2/2]

__inline float pcl_round | ( | float | number | ) |

Definition at line 245 of file pcl_macros.h.