17 #ifndef CARTOGRAPHER_IO_SUBMAP_PAINTER_H_ 18 #define CARTOGRAPHER_IO_SUBMAP_PAINTER_H_ 20 #include "Eigen/Geometry" 21 #include "cairo/cairo.h" 24 #include "cartographer/mapping/proto/serialization.pb.h" 33 : surface(std::move(surface)), origin(origin) {}
56 int metadata_version = -1;
77 const std::map<::cartographer::mapping::SubmapId, SubmapSlice>& submaps,
82 const ::cartographer::mapping::proto::Submap& proto,
87 int width,
int height);
92 const std::vector<char>& alpha,
int width,
94 std::vector<uint32_t>* cairo_data);
99 #endif // CARTOGRAPHER_IO_SUBMAP_PAINTER_H_
std::vector< char > alpha
::cartographer::transform::Rigid3d pose
std::vector< SubmapTexture > textures
UniqueCairoSurfacePtr MakeUniqueCairoSurfacePtr(cairo_surface_t *surface)
PaintSubmapSlicesResult PaintSubmapSlices(const std::map<::cartographer::mapping::SubmapId, SubmapSlice > &submaps, const double resolution)
std::vector< uint32_t > cairo_data
::cartographer::transform::Rigid3d slice_pose
void FillSubmapSlice(const ::cartographer::transform::Rigid3d &global_submap_pose, const ::cartographer::mapping::proto::Submap &proto, SubmapSlice *const submap_slice)
UniqueCairoSurfacePtr DrawTexture(const std::vector< char > &intensity, const std::vector< char > &alpha, const int width, const int height, std::vector< uint32_t > *const cairo_data)
::cartographer::io::UniqueCairoSurfacePtr surface
::cartographer::transform::Rigid3d slice_pose
::cartographer::io::UniqueCairoSurfacePtr surface
PaintSubmapSlicesResult(::cartographer::io::UniqueCairoSurfacePtr surface, Eigen::Array2f origin)
std::vector< char > intensity
SubmapTexture::Pixels UnpackTextureData(const std::string &compressed_cells, const int width, const int height)
std::unique_ptr< cairo_surface_t, void(*)(cairo_surface_t *)> UniqueCairoSurfacePtr