struct mrpt::obs::CObservationVelodyneScan::TPointCloud


See point_cloud and scan_packets.

#include <mrpt/obs/CObservationVelodyneScan.h>

struct TPointCloud
    // fields

    std::vector<float> x;
    std::vector<float> y;
    std::vector<float> z;
    std::vector<uint8_t> intensity;
    std::vector<mrpt::system::TTimeStamp> timestamp;
    std::vector<float> azimuth;
    std::vector<int16_t> laser_id;
    std::vector<std::vector<uint64_t>> pointsForLaserID;

    // methods

    std::size_t size() const;
    void reserve(std::size_t n);
    void clear();
    void clear_deep();


std::vector<uint8_t> intensity

Color [0,255].

std::vector<mrpt::system::TTimeStamp> timestamp

Timestamp for each point (if generatePerPointTimestamp =true in TGeneratePointCloudParameters), or empty vector if not populated (default).

std::vector<float> azimuth

Original azimuth of each point (if generatePerPointAzimuth =true, empty otherwise )

std::vector<int16_t> laser_id

Laser ID (“ring number”) for each point (0-15 for a VLP-16, etc.)

std::vector<std::vector<uint64_t>> pointsForLaserID

The list of point indices (in x,y,z,…) generated for each laserID (ring number).

Generated only if generatePointsForLaserID =true in TGeneratePointCloudParameters


void clear()

Sets all vectors to zero length.

void clear_deep()

Like clear(), but also enforcing freeing memory.