template class mrpt::opengl::PointCloudAdapter<pcl::PointCloud<pcl::PointXYZRGB>>

Specialization mrpt::opengl::PointCloudAdapter <pcl::PointCloud<pcl::PointXYZRGB> > for an XYZ point cloud with RGB.

#include <mrpt/maps/PCL_adapters.h>

template <>
class PointCloudAdapter<pcl::PointCloud<pcl::PointXYZRGB>>
{
public:
    // typedefs

    typedef float coords_t;

    //
fields

    static constexpr bool HAS_RGB = true;
    static constexpr bool HAS_RGBf = false;
    static constexpr bool HAS_RGBu8 = true;

    // construction

    PointCloudAdapter(const pcl::PointCloud<pcl::PointXYZRGB>& obj);

    //
methods

    size_t size() const;
    void resize(const size_t N);
    void setDimensions(size_t height, size_t width);

    template <typename T>
    void getPointXYZ(const size_t idx, T& x, T& y, T& z) const;

    void setPointXYZ(const size_t idx, const coords_t x, const coords_t y, const coords_t z);

    template <typename T>
    void getPointXYZ_RGBf(
        const size_t idx,
        T& x,
        T& y,
        T& z,
        float& r,
        float& g,
        float& b
        ) const;

    void setPointXYZ_RGBf(
        const size_t idx,
        const coords_t x,
        const coords_t y,
        const coords_t z,
        const float r,
        const float g,
        const float b
        );

    template <typename T>
    void getPointXYZ_RGBu8(
        const size_t idx,
        T& x,
        T& y,
        T& z,
        uint8_t& r,
        uint8_t& g,
        uint8_t& b
        ) const;

    void setPointXYZ_RGBu8(
        const size_t idx,
        const coords_t x,
        const coords_t y,
        const coords_t z,
        const uint8_t r,
        const uint8_t g,
        const uint8_t b
        );

    void getPointRGBf(const size_t idx, float& r, float& g, float& b) const;
    void setPointRGBf(const size_t idx, const float r, const float g, const float b);
    void getPointRGBu8(const size_t idx, uint8_t& r, uint8_t& g, uint8_t& b) const;
    void setPointRGBu8(const size_t idx, const uint8_t r, const uint8_t g, const uint8_t b);
};

Typedefs

typedef float coords_t

The type of each point XYZ coordinates.

Fields

static constexpr bool HAS_RGB = true

Has any color RGB info?

static constexpr bool HAS_RGBf = false

Has native RGB info (as floats)?

static constexpr bool HAS_RGBu8 = true

Has native RGB info (as uint8_t)?

Construction

PointCloudAdapter(const pcl::PointCloud<pcl::PointXYZRGB>& obj)

Constructor (accept a const ref for convenience)

Methods

size_t size() const

Get number of points.

void resize(const size_t N)

Set number of points (to uninitialized values)

void setDimensions(size_t height, size_t width)

Set height and width (for organized)

template <typename T>
void getPointXYZ(const size_t idx, T& x, T& y, T& z) const

Get XYZ coordinates of i’th point.

void setPointXYZ(const size_t idx, const coords_t x, const coords_t y, const coords_t z)

Set XYZ coordinates of i’th point.

template <typename T>
void getPointXYZ_RGBf(
    const size_t idx,
    T& x,
    T& y,
    T& z,
    float& r,
    float& g,
    float& b
    ) const

Get XYZ_RGBf coordinates of i’th point.

void setPointXYZ_RGBf(
    const size_t idx,
    const coords_t x,
    const coords_t y,
    const coords_t z,
    const float r,
    const float g,
    const float b
    )

Set XYZ_RGBf coordinates of i’th point.

template <typename T>
void getPointXYZ_RGBu8(
    const size_t idx,
    T& x,
    T& y,
    T& z,
    uint8_t& r,
    uint8_t& g,
    uint8_t& b
    ) const

Get XYZ_RGBu8 coordinates of i’th point.

void setPointXYZ_RGBu8(
    const size_t idx,
    const coords_t x,
    const coords_t y,
    const coords_t z,
    const uint8_t r,
    const uint8_t g,
    const uint8_t b
    )

Set XYZ_RGBu8 coordinates of i’th point.

void getPointRGBf(const size_t idx, float& r, float& g, float& b) const

Get RGBf color of i’th point.

void setPointRGBf(const size_t idx, const float r, const float g, const float b)

Set XYZ_RGBf coordinates of i’th point.

void getPointRGBu8(const size_t idx, uint8_t& r, uint8_t& g, uint8_t& b) const

Get RGBu8 color of i’th point.

void setPointRGBu8(
    const size_t idx,
    const uint8_t r,
    const uint8_t g,
    const uint8_t b
    )

Set RGBu8 coordinates of i’th point.