Go to the documentation of this file.
66 name =
"XYZRGBNormal";
134 const cv::Mat & oldScanFormat,
139 if(!oldScanFormat.empty())
141 if(oldScanFormat.channels() == 2)
145 else if(oldScanFormat.channels() == 3)
149 else if(oldScanFormat.channels() == 4)
153 else if(oldScanFormat.channels() == 5)
157 else if(oldScanFormat.channels() == 6)
161 else if(oldScanFormat.channels() == 7)
170 const cv::Mat & oldScanFormat,
178 if(!oldScanFormat.empty())
180 if(oldScanFormat.channels() == 2)
184 else if(oldScanFormat.channels() == 3)
188 else if(oldScanFormat.channels() == 4)
192 else if(oldScanFormat.channels() == 5)
196 else if(oldScanFormat.channels() == 6)
200 else if(oldScanFormat.channels() == 7)
216 localTransform_(
Transform::getIdentity())
255 const cv::Mat & data,
277 float angleIncrement,
298 float angleIncrement,
312 const cv::Mat & data,
318 float angleIncrement,
332 const cv::Mat & data,
338 float angleIncrement,
342 UASSERT(
data.empty() || (
data.type() == CV_8UC1 &&
data.rows == 1) ||
data.type() == CV_32FC2 ||
data.type() == CV_32FC3 ||
data.type() == CV_32FC(4) ||
data.type() == CV_32FC(5) ||
data.type() == CV_32FC(6) ||
data.type() == CV_32FC(7));
378 UWARN(
"The number of points (%ld) in the scan is over the maximum "
379 "points (%d) defined by angle settings (min=%f max=%f inc=%f). "
380 "The scan info may be wrong!",
385 UDEBUG(
"The number of points (%ld) in the scan is over the maximum "
386 "points (%d) defined by max points setting.",
428 cv::Mat output(1,
data_.total(),
data_.type());
434 const float * ptr =
data_.ptr<
float>(
i,
j);
435 float * outputPtr = output.ptr<
float>(0, oi);
438 memcpy(outputPtr, ptr,
data_.elemSize());
449 UASSERT(channelOffset < (
unsigned int)
data_.channels());
450 unsigned int row = pointIndex /
data_.cols;
480 dest = this->
clone();
Transform localTransform() const
static LaserScan backwardCompatibility(const cv::Mat &oldScanFormat, int maxPoints=0, int maxRange=0, const Transform &localTransform=Transform::getIdentity())
LaserScan densify() const
const cv::Mat & data() const
void init(const cv::Mat &data, Format format, float minRange, float maxRange, float angleMin, float angleMax, float angleIncrement, int maxPoints, const Transform &localTransform=Transform::getIdentity())
GLM_FUNC_DECL genType::bool_type isnan(genType const &x)
static bool isScanHasTime(const Format &format)
float & field(unsigned int pointIndex, unsigned int channelOffset)
Some conversion functions.
static bool isScanHasNormals(const Format &format)
static const Eigen::internal::all_t all
GLM_FUNC_DECL genType ceil(genType const &x)
GLM_FUNC_DECL genType::row_type row(genType const &m, length_t const &index)
static bool isScan2d(const Format &format)
#define UASSERT(condition)
#define UASSERT_MSG(condition, msg_str)
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
std::string UTILITE_EXPORT uFormat(const char *fmt,...)
static bool isScanHasIntensity(const Format &format)
ULogger class and convenient macros.
LaserScan & operator+=(const LaserScan &)
const char * c_str(Args &&...args)
static bool isScanHasRGB(const Format &format)
float angleIncrement() const
LaserScan operator+(const LaserScan &)
Transform localTransform_
std::string formatName() const
bool isCompressed() const
rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:11