struct mrpt::maps::CPointsMap::TSerializationOptions
Overview
Options for the binary serialization of CSimplePointsMap and CGenericPointsMap (global for all objects): see serializationOptions().
With Cloudini, large clouds load and save about 2-3x faster, and take less space (mostly from the x,y,z quantization).
#include <mrpt/maps/CPointsMap.h> struct TSerializationOptions { // fields bool use_cloudini = true; float xyz_resolution = 1e-4f; std::map<std::string, float> field_resolutions; std::size_t cloudini_min_points = 250'000; };
Fields
bool use_cloudini = true
Compress the point clouds with Cloudini, if this build of MRPT supports it (see hasCloudini()).
Otherwise, they are stored uncompressed, in the format of previous MRPT versions. Default: true, unless the environment variable MRPT_POINTS_CLOUDINI=0.
float xyz_resolution = 1e-4f
With Cloudini, quantization step of the x,y,z coordinates [m]: the maximum error is half of it.
Default: 1e-4 (0.1 mm), or the environment variable MRPT_POINTS_CLOUDINI_XYZ_RESOLUTION.
std::map<std::string, float> field_resolutions
With Cloudini, quantization step of other float or double fields, by field name.
Fields not listed here are stored exactly; integer fields always are.
std::size_t cloudini_min_points = 250'000
Clouds with fewer points are stored uncompressed: they load faster that way, since Cloudini decoding only pays off when done in parallel.
Set to 0 to always compress (smaller files). Default: 250000, or the environment variable MRPT_POINTS_CLOUDINI_MIN_POINTS.