struct mrpt::obs::T3DPointsProjectionParams

Used in CObservation3DRangeScan::unprojectInto()

#include <mrpt/obs/T3DPointsProjectionParams.h>

struct T3DPointsProjectionParams
{
    //
fields

    bool takeIntoAccountSensorPoseOnRobot = false;
    std::optional<mrpt::poses::CPose3D> robotPoseInTheWorld = std::nullopt;
    bool USE_SSE2 = true;
    bool MAKE_ORGANIZED = false;
    uint8_t decimation = 1;
    std::string layer;

    // construction

    T3DPointsProjectionParams();
};

Fields

bool takeIntoAccountSensorPoseOnRobot = false

(Default: false) If false, local (sensor-centric) coordinates of points are generated.

Otherwise, points are transformed with sensorPose. Furthermore, if provided, those coordinates are transformed with robotPoseInTheWorld

std::optional<mrpt::poses::CPose3D> robotPoseInTheWorld = std::nullopt

(Default: none) Read takeIntoAccountSensorPoseOnRobot

bool USE_SSE2 = true

(Default:true) If possible, use SSE2 optimized code.

bool MAKE_ORGANIZED = false

(Default:false) set to true if you want an organized point cloud

uint8_t decimation = 1

(Default:1) If !=1, split the range image in blocks of DxD (D=decimation), and only generates one point per block, with the minimum valid range.

std::string layer

If empty, the main rangeImage layer will be unprojected.

Otherwise, put here the name of the layer you want to unproject, from those available in rangeImageOtherLayers.