{
 "description": "Index of MRPT C++ and Python examples. requires: gui = opens a window, hardware = needs a sensor or device, dataset = needs a dataset not shipped with MRPT.",
 "examples": [
  {
   "name": "bayes_rejection_sampling_example",
   "language": "cpp",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Rejection sampling of a 2D robot pose from range-bearing measurements to a landmark, with mrpt::bayes::CRejectionSamplingCapable.",
   "modules": [
    "mrpt_poses",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::poses::CPoint2D",
    "mrpt::poses::CPose2D",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/bayes_rejection_sampling_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_bayes_rejection_sampling_example.html",
   "screenshot": null
  },
  {
   "name": "bayes_resampling_example",
   "language": "cpp",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Compares the particle filter resampling algorithms in mrpt::bayes::CParticleFilterCapable (multinomial, residual, stratified, systematic).",
   "modules": [
    "mrpt_bayes",
    "mrpt_io",
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::bayes::CParticleFilterCapable"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/bayes_resampling_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_bayes_resampling_example.html",
   "screenshot": null
  },
  {
   "name": "bayes_tracking_example",
   "language": "cpp",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "This example illustrates how to implement an Extended Kalman Filter (EKF) and a particle filter (PF) using mrpt::bayes classes, for the problem of tracking a 2D mobile target with **state space** being its **location** and its **velocity vector**.",
   "modules": [
    "mrpt_bayes",
    "mrpt_gui",
    "mrpt_math",
    "mrpt_obs",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::bayes::CKalmanFilterCapable",
    "mrpt::bayes::CParticleFilterData",
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::obs::CObservationBearingRange",
    "mrpt::obs::CSensoryFrame"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/bayes_tracking_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_bayes_tracking_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/bayes_tracking_example_screenshot.webp"
  },
  {
   "name": "comms_ftdi_usb_enumerate_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Lists the FTDI USB devices connected to the computer, with mrpt::comms::CInterfaceFTDI.",
   "modules": [
    "mrpt_comms",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::comms::CInterfaceFTDI"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/comms_ftdi_usb_enumerate_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_comms_ftdi_usb_enumerate_example.html",
   "screenshot": null
  },
  {
   "name": "comms_http_client",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Downloads a web page with the HTTP client functions in mrpt::comms::net::http_get().",
   "modules": [
    "mrpt_comms",
    "mrpt_core"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/comms_http_client/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_comms_http_client.html",
   "screenshot": null
  },
  {
   "name": "comms_nodelets_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Publish/subscribe communication between threads in the same process with mrpt::comms::nodelets.",
   "modules": [
    "mrpt_comms",
    "mrpt_core",
    "mrpt_math"
   ],
   "classes": [
    "mrpt::math::TPose3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/comms_nodelets_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_comms_nodelets_example.html",
   "screenshot": null
  },
  {
   "name": "comms_serial_port_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Writes to and reads from a serial port with mrpt::comms::CSerialPort.",
   "modules": [
    "mrpt_comms"
   ],
   "classes": [
    "mrpt::comms::CSerialPort"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/comms_serial_port_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_comms_serial_port_example.html",
   "screenshot": null
  },
  {
   "name": "comms_socket_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "A TCP server and client exchanging serialized MRPT objects with mrpt::comms::CServerTCPSocket and mrpt::comms::CClientTCPSocket.",
   "modules": [
    "mrpt_comms",
    "mrpt_poses",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::comms::CClientTCPSocket",
    "mrpt::comms::CServerTCPSocket",
    "mrpt::poses::CPose3D",
    "mrpt::serialization::CMessage"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/comms_socket_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_comms_socket_example.html",
   "screenshot": null
  },
  {
   "name": "containers_params_by_name",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Passing a variable set of named parameters to a function with mrpt::containers::yaml.",
   "modules": [
    "mrpt_containers",
    "mrpt_core"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/containers_params_by_name/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_containers_params_by_name.html",
   "screenshot": null
  },
  {
   "name": "containers_yaml_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Examples of use for the YAML C++17 container in `mrpt::containers::yaml`.",
   "modules": [
    "mrpt_containers",
    "mrpt_core"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/containers_yaml_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_containers_yaml_example.html",
   "screenshot": null
  },
  {
   "name": "core_backtrace_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Captures and prints the current call stack with mrpt::callStackBackTrace().",
   "modules": [
    "mrpt_core"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/core_backtrace_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_core_backtrace_example.html",
   "screenshot": null
  },
  {
   "name": "core_exceptions_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Examples of use for MRPT exceptions macros.",
   "modules": [
    "mrpt_core"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/core_exceptions_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_core_exceptions_example.html",
   "screenshot": null
  },
  {
   "name": "graphs_astar_example",
   "language": "cpp",
   "category": "Navigation and graph search",
   "summary": "Solves a coin change problem (a minimal set of coins adding up to a given amount) with the generic A* search algorithm in mrpt::graphs::CAStarAlgorithm.",
   "modules": [
    "mrpt_graphs"
   ],
   "classes": [
    "mrpt::graphs::CAStarAlgorithm"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/graphs_astar_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_graphs_astar_example.html",
   "screenshot": null
  },
  {
   "name": "graphs_dijkstra_example",
   "language": "cpp",
   "category": "Navigation and graph search",
   "summary": "This example demonstrates how to use MRPT C++ implementation of the Dijkstra algorithm for searching optimal paths in a directed, weighted graph. See also the docs for the class mrpt::graphs::CDijkstra",
   "modules": [
    "mrpt_graphs",
    "mrpt_gui",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::graphs::CNetworkOfPoses",
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/graphs_dijkstra_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_graphs_dijkstra_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/graphs_dijkstra_example_screenshot.webp"
  },
  {
   "name": "graphslam_example",
   "language": "cpp",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Optimizes a noisy 2D or 3D graph of poses with Levenberg-Marquardt graph-SLAM (mrpt::graphslam::optimize_graph_spa_levmarq()).",
   "modules": [
    "mrpt_containers",
    "mrpt_graphslam",
    "mrpt_gui",
    "mrpt_img",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::img::TColor",
    "mrpt::viz::CSetOfObjects",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/graphslam_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_graphslam_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/graphslam_example_screenshot.webp"
  },
  {
   "name": "gui_capture_render_to_img_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Saves the rendered frames of a 3D window (mrpt::gui::CDisplayWindow3D) to image files.",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::math::TPose3D",
    "mrpt::viz::CAxis",
    "mrpt::viz::CBox",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CSphere"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_capture_render_to_img_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_capture_render_to_img_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_capture_render_to_img_example_screenshot.webp"
  },
  {
   "name": "gui_depth_camera_distortion",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Interactive GUI to explore the effect of camera intrinsic and distortion parameters on a 3D depth camera point cloud.",
   "modules": [
    "mrpt_core",
    "mrpt_gui",
    "mrpt_io",
    "mrpt_obs",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowGUI",
    "mrpt::obs::CObservation3DRangeScan",
    "mrpt::obs::CRawlog",
    "mrpt::viz::CAxis",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloudColoured"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_depth_camera_distortion/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_depth_camera_distortion.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_depth_camera_distortion_screenshot.webp"
  },
  {
   "name": "gui_display3D_custom_render",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "A 3D window (mrpt::gui::CDisplayWindow3D) with a custom render callback that updates the scene before each frame.",
   "modules": [
    "mrpt_core",
    "mrpt_gui",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::system::CObserver",
    "mrpt::system::CTicTac",
    "mrpt::viz::CAxis",
    "mrpt::viz::CBox",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CSphere",
    "mrpt::viz::CText"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_display3D_custom_render/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_display3D_custom_render.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_display3D_custom_render_screenshot.webp"
  },
  {
   "name": "gui_display3D_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "A tour of mrpt::gui::CDisplayWindow3D: 3D objects, text, mouse picking and camera control.",
   "modules": [
    "mrpt_gui",
    "mrpt_img",
    "mrpt_math",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::img::TColor",
    "mrpt::math::TLine3D",
    "mrpt::math::TObject3D",
    "mrpt::system::CTicTac",
    "mrpt::viz::CAxis",
    "mrpt::viz::CBox",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CSphere",
    "mrpt::viz::CText"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_display3D_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_display3D_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_display3D_example_screenshot.webp"
  },
  {
   "name": "gui_display_plots",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "This example demonstrates mrpt::gui::CDisplayWindowPlots capabilities to show MATLAB/Octave-like plots directly from your C++ program.",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_display_plots/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_display_plots.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_display_plots_screenshot.webp"
  },
  {
   "name": "gui_fbo_render_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Renders a 3D scene offscreen with mrpt::opengl::CFBORender and shows the result as an image.",
   "modules": [
    "mrpt_gui",
    "mrpt_img",
    "mrpt_opengl",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::img::CImage",
    "mrpt::opengl::CFBORender",
    "mrpt::system::CTimeLogger",
    "mrpt::viz::CAxis",
    "mrpt::viz::CBox",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CSphere",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_fbo_render_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_fbo_render_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_fbo_render_example_screenshot.webp"
  },
  {
   "name": "gui_gravity3d_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Animated 3D rendering of a simple gravitational simulation of many spheres.",
   "modules": [
    "mrpt_core",
    "mrpt_gui",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CSphere"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_gravity3d_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_gravity3d_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_gravity3d_example_screenshot.webp"
  },
  {
   "name": "gui_nanogui_demo",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "A 3D scene inside a window with nanogui controls (buttons, sliders, text boxes), with mrpt::gui::CDisplayWindowGUI.",
   "modules": [
    "mrpt_core",
    "mrpt_gui",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowGUI",
    "mrpt::viz::CGridPlaneXY"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_nanogui_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_nanogui_demo.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_nanogui_demo_screenshot.webp"
  },
  {
   "name": "gui_text_fonts_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Draws text with the bitmap fonts available in mrpt::img::CCanvas.",
   "modules": [
    "mrpt_gui"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_text_fonts_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_text_fonts_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_text_fonts_example_screenshot.webp"
  },
  {
   "name": "gui_windows_events",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Handles keyboard, mouse and resize events from 2D, 3D and plot windows with the observer pattern.",
   "modules": [
    "mrpt_gui",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::system::CObserver",
    "mrpt::viz::CGridPlaneXY"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/gui_windows_events/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_gui_windows_events.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/gui_windows_events_screenshot.webp"
  },
  {
   "name": "hwdrivers_camera_capture_dialog",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Opens a dialog to select a camera source and shows its live images with mrpt::hwdrivers::CCameraSensor.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_img",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::hwdrivers::CCameraSensor",
    "mrpt::img::CImage",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_camera_capture_dialog/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_camera_capture_dialog.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_capture_video_dc1394",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Grabs images from an IEEE1394 (FireWire) camera with mrpt::hwdrivers::CImageGrabber_dc1394.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::hwdrivers::CImageGrabber_dc1394",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_capture_video_dc1394/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_capture_video_dc1394.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_capture_video_ffmpeg",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads video from a file, camera or network stream with mrpt::hwdrivers::CFFMPEG_InputStream.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::CFFMPEG_InputStream",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_capture_video_ffmpeg/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_capture_video_ffmpeg.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_capture_video_flycapture2",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Grabs images from a Point Grey (FLIR) camera with mrpt::hwdrivers::CImageGrabber_FlyCapture2.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_io",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::hwdrivers::CImageGrabber_FlyCapture2",
    "mrpt::io::CCompressedOutputStream",
    "mrpt::serialization::CArchive",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_capture_video_flycapture2/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_capture_video_flycapture2.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_capture_video_flycapture2_stereo",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Grabs synchronized stereo images from two Point Grey (FLIR) cameras with mrpt::hwdrivers::CImageGrabber_FlyCapture2.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_io",
    "mrpt_obs",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::hwdrivers::CImageGrabber_FlyCapture2",
    "mrpt::io::CCompressedOutputStream",
    "mrpt::obs::CObservationImage",
    "mrpt::serialization::CArchive",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_capture_video_flycapture2_stereo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_capture_video_flycapture2_stereo.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_capture_video_opencv",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Grabs images from a webcam or video file with mrpt::hwdrivers::CImageGrabber_OpenCV.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_io",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::hwdrivers::CImageGrabber_OpenCV",
    "mrpt::io::CCompressedOutputStream",
    "mrpt::serialization::CArchive",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_capture_video_opencv/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_capture_video_opencv.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_enumerate_cameras1394",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Lists the IEEE1394 (FireWire) cameras connected to the computer.",
   "modules": [
    "mrpt_hwdrivers"
   ],
   "classes": [
    "mrpt::hwdrivers::CImageGrabber_dc1394"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_enumerate_cameras1394/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_enumerate_cameras1394.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_gps_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads and parses NMEA or binary data from a GNSS (GPS) receiver with mrpt::hwdrivers::CGPSInterface.",
   "modules": [
    "mrpt_config",
    "mrpt_hwdrivers",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::hwdrivers::CGPSInterface"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_gps_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_gps_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_hokuyo_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads 2D laser scans from a Hokuyo scanner with mrpt::hwdrivers::CHokuyoURG and plots them.",
   "modules": [
    "mrpt_comms",
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::comms::CSerialPort",
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::hwdrivers::CHokuyoURG",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_hokuyo_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_hokuyo_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_joystick_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads the axes and buttons of a joystick or gamepad with mrpt::hwdrivers::CJoystick.",
   "modules": [
    "mrpt_core",
    "mrpt_hwdrivers",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::hwdrivers::CJoystick",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_joystick_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_joystick_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_kinect_online_offline_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Grabs RGB-D frames from a Kinect, or replays them from a rawlog file, and shows the 3D point cloud.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_img",
    "mrpt_io",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_serialization",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::CKinect",
    "mrpt::img::TColor",
    "mrpt::io::CCompressedInputStream",
    "mrpt::maps::CGenericPointsMap",
    "mrpt::obs::CRawlog",
    "mrpt::serialization::CArchive",
    "mrpt::system::CTicTac",
    "mrpt::system::CTimeLogger",
    "mrpt::viz::CFrustum",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPlanarLaserScan",
    "mrpt::viz::CPointCloudColoured"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_kinect_online_offline_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_kinect_online_offline_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_kinect_to_2d_scan_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Converts the depth images of a Kinect into 2D laser-like scans.",
   "modules": [
    "mrpt_config",
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_img",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::CKinect",
    "mrpt::img::TColor",
    "mrpt::system::CTicTac",
    "mrpt::viz::CFrustum",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPlanarLaserScan",
    "mrpt::viz::CPointCloudColoured"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_kinect_to_2d_scan_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_kinect_to_2d_scan_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_mynteye_icp",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Aligns consecutive point clouds from a MYNT EYE depth camera with ICP.",
   "modules": [
    "mrpt_config",
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_maps",
    "mrpt_slam",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::config::CConfigFileMemory",
    "mrpt::gui::CDisplayWindowGUI",
    "mrpt::hwdrivers::CCameraSensor",
    "mrpt::maps::CGenericPointsMap",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::slam::CICP",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloudColoured"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_mynteye_icp/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_mynteye_icp.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_ntrip_client_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Connects to an NTRIP caster to receive GNSS RTK corrections with mrpt::hwdrivers::CNTRIPClient.",
   "modules": [
    "mrpt_core",
    "mrpt_hwdrivers",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::hwdrivers::CNTRIPClient"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_ntrip_client_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_ntrip_client_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_openni2_2d_icp_slam",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "2D ICP-SLAM from laser-like scans computed from an OpenNI2 RGB-D camera.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_img",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::COpenNI2Sensor",
    "mrpt::img::TColor",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPlanarLaserScan",
    "mrpt::viz::CPointCloudColoured",
    "mrpt::viz::Scene",
    "mrpt::viz::Viewport"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_openni2_2d_icp_slam/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_openni2_2d_icp_slam.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_openni2_driver_demo",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Grabs RGB-D frames from an OpenNI2 camera and shows the images and the 3D point cloud.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_img",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::COpenNI2Sensor",
    "mrpt::img::TColor",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloudColoured",
    "mrpt::viz::Scene",
    "mrpt::viz::Viewport"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_openni2_driver_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_openni2_driver_demo.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_phidget_proximity_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads Phidget proximity sensors through a Phidget interface kit.",
   "modules": [
    "mrpt_config",
    "mrpt_hwdrivers",
    "mrpt_obs",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::hwdrivers::CPhidgetInterfaceKitProximitySensors",
    "mrpt::obs::CObservationRange",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_phidget_proximity_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_phidget_proximity_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_robopeaklidar_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads 2D laser scans from a RoboPeak (Slamtec) RPLIDAR with mrpt::hwdrivers::CRoboPeakLidar.",
   "modules": [
    "mrpt_hwdrivers",
    "mrpt_obs",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::hwdrivers::CRoboPeakLidar",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_robopeaklidar_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_robopeaklidar_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_sick_eth_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads 2D laser scans from a SICK LMS100 (Ethernet) and shows them in 3D.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::CLMS100eth",
    "mrpt::viz::CPlanarLaserScan"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_sick_eth_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_sick_eth_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_sick_serial_example",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Reads 2D laser scans from a SICK LMS2xx (serial port) and plots them.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::hwdrivers::CSickLaserSerial",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::obs::CObservation2DRangeScan"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_sick_serial_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_sick_serial_example.html",
   "screenshot": null
  },
  {
   "name": "hwdrivers_taobotics_imu",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "This example demonstrates the C++ API to read from Taobotics IMU sensors (e.g. ROS IMU HFI A9).",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::CTaoboticsIMU",
    "mrpt::viz::CGridPlaneXY"
   ],
   "requires": [
    "hardware",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/hwdrivers_taobotics_imu/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_hwdrivers_taobotics_imu.html",
   "screenshot": null
  },
  {
   "name": "img_basic_example",
   "language": "cpp",
   "category": "Images",
   "summary": "Basic image operations with mrpt::img::CImage: loading, color conversions, scaling and display.",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::math::CMatrixF",
    "mrpt::system::CTicTac",
    "mrpt::system::CTimeLogger"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/img_basic_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_img_basic_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/img_basic_example_screenshot.webp"
  },
  {
   "name": "img_convolution_fft",
   "language": "cpp",
   "category": "Images",
   "summary": "Image convolution in the frequency domain with 2D FFTs.",
   "modules": [
    "mrpt_gui",
    "mrpt_img",
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::img::CImage",
    "mrpt::math::CMatrixF",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/img_convolution_fft/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_img_convolution_fft.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/img_convolution_fft_screenshot.webp"
  },
  {
   "name": "img_fft_example",
   "language": "cpp",
   "category": "Images",
   "summary": "2D FFT of real and complex matrices and of images with mrpt::math::dft2_real() and related functions.",
   "modules": [
    "mrpt_img",
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::img::CImage",
    "mrpt::math::CMatrixF",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/img_fft_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_img_fft_example.html",
   "screenshot": null
  },
  {
   "name": "img_gauss_filtering_example",
   "language": "cpp",
   "category": "Images",
   "summary": "Gaussian filtering of images with mrpt::img::CImage::filterGaussian().",
   "modules": [
    "mrpt_gui",
    "mrpt_img",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::img::CImage",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/img_gauss_filtering_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_img_gauss_filtering_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/img_gauss_filtering_example_screenshot.webp"
  },
  {
   "name": "imgui_mrpt_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "An MRPT 3D scene embedded in a Dear ImGui application with mrpt::imgui::CImGuiSceneView.",
   "modules": [
    "mrpt_imgui",
    "mrpt_opengl",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::imgui::CImGuiSceneView",
    "mrpt::viz::CAxis",
    "mrpt::viz::CBox",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CSetOfObjects",
    "mrpt::viz::CSphere",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/imgui_mrpt_example/imgui_mrpt_example.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_imgui_mrpt_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/imgui_mrpt_example_screenshot.webp"
  },
  {
   "name": "io_compress_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Compresses and decompresses data in memory and in files with gzip (mrpt::io::zip).",
   "modules": [
    "mrpt_core",
    "mrpt_io",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/io_compress_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_io_compress_example.html",
   "screenshot": null
  },
  {
   "name": "io_pipes_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Sends serialized objects between two threads through an operating system pipe (mrpt::io::CPipe).",
   "modules": [
    "mrpt_io",
    "mrpt_poses",
    "mrpt_serialization"
   ],
   "classes": [
    "mrpt::io::CPipe",
    "mrpt::poses::CPose3D",
    "mrpt::serialization::CArchive"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/io_pipes_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_io_pipes_example.html",
   "screenshot": null
  },
  {
   "name": "kitti_dataset2rawlog",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Converts a KITTI stereo dataset sequence into an MRPT rawlog file.",
   "modules": [
    "mrpt_img",
    "mrpt_io",
    "mrpt_obs",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::img::TCamera",
    "mrpt::io::CCompressedOutputStream",
    "mrpt::io::CTextFileLinesParser",
    "mrpt::obs::CObservationStereoImages",
    "mrpt::serialization::CArchive"
   ],
   "requires": [
    "dataset"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/kitti_dataset2rawlog/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_kitti_dataset2rawlog.html",
   "screenshot": null
  },
  {
   "name": "maps_gmrf_map_example",
   "language": "cpp",
   "category": "Maps",
   "summary": "Estimates a gas concentration map from sparse readings with a Gaussian Markov Random Field (mrpt::maps::CGasConcentrationGridMap2D).",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::CGasConcentrationGridMap2D",
    "mrpt::viz::CPointCloud"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_gmrf_map_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_gmrf_map_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/maps_gmrf_map_example_screenshot.webp"
  },
  {
   "name": "maps_gridmap3D_simple",
   "language": "cpp",
   "category": "Maps",
   "summary": "Builds a 3D occupancy grid map (mrpt::maps::COccupancyGridMap3D) from a laser scan and shows it.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::COccupancyGridMap3D",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::COctoMapVoxels"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_gridmap3D_simple/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_gridmap3D_simple.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/maps_gridmap3D_simple_screenshot.webp"
  },
  {
   "name": "maps_gridmap_benchmark",
   "language": "cpp",
   "category": "Maps",
   "summary": "Benchmarks the insertion of laser scans into 2D occupancy grid maps.",
   "modules": [
    "mrpt_config",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::maps::CMultiMetricMap",
    "mrpt::maps::COccupancyGridMap2D",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::obs::CRawlog",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_gridmap_benchmark/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_gridmap_benchmark.html",
   "screenshot": null
  },
  {
   "name": "maps_gridmap_likelihood_characterization",
   "language": "cpp",
   "category": "Maps",
   "summary": "Evaluates the observation likelihood of a laser scan in a 2D occupancy grid map over a grid of poses.",
   "modules": [
    "mrpt_config",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_poses",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::maps::COccupancyGridMap2D",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::poses::CPose2D",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_gridmap_likelihood_characterization/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_gridmap_likelihood_characterization.html",
   "screenshot": null
  },
  {
   "name": "maps_gridmap_voronoi_example",
   "language": "cpp",
   "category": "Maps",
   "summary": "Computes the Voronoi diagram of the free space of a 2D occupancy grid map.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::COccupancyGridMap2D",
    "mrpt::maps::CSimpleMap",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CSetOfObjects",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_gridmap_voronoi_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_gridmap_voronoi_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/maps_gridmap_voronoi_example_screenshot.webp"
  },
  {
   "name": "maps_laser_projection_in_images_example",
   "language": "cpp",
   "category": "Maps",
   "summary": "Projects 2D laser scan points onto camera images, from a rawlog with both kinds of observations.",
   "modules": [
    "mrpt_gui",
    "mrpt_io",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::io::CCompressedInputStream",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::obs::CActionCollection",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::obs::CObservationImage",
    "mrpt::obs::CObservationStereoImages",
    "mrpt::obs::CRawlog",
    "mrpt::obs::CSensoryFrame",
    "mrpt::serialization::CArchive"
   ],
   "requires": [
    "dataset",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_laser_projection_in_images_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_laser_projection_in_images_example.html",
   "screenshot": null
  },
  {
   "name": "maps_observer_pattern_example",
   "language": "cpp",
   "category": "Maps",
   "summary": "Subscribes to change events of a metric map (mrpt::maps::CSimplePointsMap) with the observer pattern.",
   "modules": [
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::maps::CSimplePointsMap",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::system::CObserver"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_observer_pattern_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_observer_pattern_example.html",
   "screenshot": null
  },
  {
   "name": "maps_octomap_simple",
   "language": "cpp",
   "category": "Maps",
   "summary": "Builds an octree-based 3D occupancy map (mrpt::maps::COctoMap) from a laser scan and shows it.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::COctoMap",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::COctoMapVoxels"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_octomap_simple/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_octomap_simple.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/maps_octomap_simple_screenshot.webp"
  },
  {
   "name": "maps_ransac_data_association",
   "language": "cpp",
   "category": "Maps",
   "summary": "Data association between two sets of 2D landmarks with RANSAC, estimating the relative pose.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_math",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_tfest",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::poses::CPose2D",
    "mrpt::poses::CPosePDFGaussian",
    "mrpt::poses::CPosePDFSOG",
    "mrpt::system::CTicTac",
    "mrpt::system::CTimeLogger",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CSetOfLines"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_ransac_data_association/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_ransac_data_association.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/maps_ransac_data_association_screenshot.webp"
  },
  {
   "name": "maps_voxelmap_from_tum_dataset",
   "language": "cpp",
   "category": "Maps",
   "summary": "Builds a colored voxel map (mrpt::maps::CVoxelMapRGB) from RGB-D frames of a TUM dataset sequence.",
   "modules": [
    "mrpt_gui",
    "mrpt_io",
    "mrpt_maps",
    "mrpt_math",
    "mrpt_obs",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::maps::CVoxelMapRGB",
    "mrpt::math::CMatrixDynamic",
    "mrpt::obs::CObservation3DRangeScan",
    "mrpt::obs::CRawlog",
    "mrpt::poses::CPose3DInterpolator",
    "mrpt::viz::CFrustum",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::COctoMapVoxels",
    "mrpt::viz::CPointCloudColoured"
   ],
   "requires": [
    "dataset",
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_voxelmap_from_tum_dataset/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_voxelmap_from_tum_dataset.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/maps_voxelmap_from_tum_dataset_screenshot.webp"
  },
  {
   "name": "maps_voxelmap_simple",
   "language": "cpp",
   "category": "Maps",
   "summary": "Builds a sparse 3D voxel occupancy map (mrpt::maps::CVoxelMap) from a laser scan and shows it.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::CVoxelMap",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::COctoMapVoxels"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/maps_voxelmap_simple/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_maps_voxelmap_simple.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/maps_voxelmap_simple_screenshot.webp"
  },
  {
   "name": "math_leastsquares_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Fits a line to noisy 2D points by linear least squares (mrpt::math::leastSquareLinearFit()) and plots the result.",
   "modules": [
    "mrpt_gui",
    "mrpt_math"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_leastsquares_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_leastsquares_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_leastsquares_example_screenshot.webp"
  },
  {
   "name": "math_matrix_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Tour of MRPT matrices: initialization, fixed-size and dynamic matrices, Cholesky and other operations.",
   "modules": [
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::math::CMatrixF",
    "mrpt::math::CMatrixFixed",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_matrix_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_matrix_example.html",
   "screenshot": null
  },
  {
   "name": "math_model_search_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Robust fitting of a 3D plane to a noisy point cloud with the generic model search (RANSAC or genetic) in mrpt::math::ModelSearch.",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::poses::CPose3D",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CTexturedPlane"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_model_search_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_model_search_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_model_search_example_screenshot.webp"
  },
  {
   "name": "math_optimize_lm_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Fits a model to data with the generic Levenberg-Marquardt optimizer in mrpt::math::CLevenbergMarquardt.",
   "modules": [
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::math::CLevenbergMarquardt",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_optimize_lm_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_optimize_lm_example.html",
   "screenshot": null
  },
  {
   "name": "math_polygon_intersection",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Example for the C++ function mrpt::math::intersect(const TPolygon2D& subject, const TPolygon2D& clipping) for polygon clipping or intersection using the Sutherland-Hodgman algorithm.",
   "modules": [
    "mrpt_gui",
    "mrpt_math"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::math::TObject2D",
    "mrpt::math::TPolygon2D"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_polygon_intersection/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_polygon_intersection.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_polygon_intersection_screenshot.webp"
  },
  {
   "name": "math_polygon_split",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Splits a 2D polygon into convex polygons with mrpt::math::splitInConvexComponents().",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_polygon_split/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_polygon_split.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_polygon_split_screenshot.webp"
  },
  {
   "name": "math_polyhedron_intersection_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Intersections between 3D polyhedra and other geometric objects, shown in an animated 3D view.",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::math::TObject3D",
    "mrpt::viz::CAxis",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPolyhedron"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_polyhedron_intersection_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_polyhedron_intersection_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_polyhedron_intersection_example_screenshot.webp"
  },
  {
   "name": "math_ransac_examples",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Detection of multiple 3D planes and 2D lines in noisy points with RANSAC (mrpt::math::ransac_detect_3D_planes()).",
   "modules": [
    "mrpt_containers",
    "mrpt_gui",
    "mrpt_math",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::poses::CPose3D",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CTexturedPlane"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_ransac_examples/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_ransac_examples.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_ransac_examples_screenshot.webp"
  },
  {
   "name": "math_ransac_plane3d_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "This example shows how to use MRPT's RANSAC C++ template to detect planes from a 3D point cloud given as a matrix (each row is a point).",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::poses::CPose3D",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CTexturedPlane"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_ransac_plane3d_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_ransac_plane3d_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_ransac_plane3d_example_screenshot.webp"
  },
  {
   "name": "math_ransac_plane3d_example2",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "This example shows how to use MRPT's RANSAC C++ template to detect planes from a 3D point cloud given as a mrpt::maps::CPointsMap.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_math",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::poses::CPose3D",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CTexturedPlane"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_ransac_plane3d_example2/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_ransac_plane3d_example2.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_ransac_plane3d_example2_screenshot.webp"
  },
  {
   "name": "math_slerp_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Interpolation between two 3D poses with SLERP (mrpt::math::slerp()), shown as an animation.",
   "modules": [
    "mrpt_gui",
    "mrpt_img",
    "mrpt_math",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::img::TColor",
    "mrpt::system::CTicTac",
    "mrpt::viz::CGridPlaneXY"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_slerp_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_slerp_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_slerp_example_screenshot.webp"
  },
  {
   "name": "math_spline_interpolation",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Cubic spline interpolation of scalar functions and of 3D pose trajectories (mrpt::poses::CPose3DInterpolator).",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_poses",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::math::CSplineInterpolator1D",
    "mrpt::poses::CPose3D",
    "mrpt::poses::CPose3DInterpolator"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/math_spline_interpolation/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_math_spline_interpolation.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/math_spline_interpolation_screenshot.webp"
  },
  {
   "name": "nav_circ_robot_path_planning",
   "language": "cpp",
   "category": "Navigation and graph search",
   "summary": "This example shows the use of the basic 2D path planning algorithm implemented in the mrpt-nav class PlannerSimple2D.",
   "modules": [
    "mrpt_gui",
    "mrpt_io",
    "mrpt_maps",
    "mrpt_nav",
    "mrpt_poses",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::io::CCompressedInputStream",
    "mrpt::maps::COccupancyGridMap2D",
    "mrpt::poses::CPose2D",
    "mrpt::serialization::CArchive",
    "mrpt::system::CTicTac"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/nav_circ_robot_path_planning/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_nav_circ_robot_path_planning.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/nav_circ_robot_path_planning_screenshot.webp"
  },
  {
   "name": "nav_ptg_tpspace",
   "language": "cpp",
   "category": "Navigation and graph search",
   "summary": "This console example shows the TP-Space transformation implemented by CParameterizedTrajectoryGenerator: building a PTG from a config file, mapping Workspace obstacles into collision-free distances per path, querying the clearance diagram, and turning a chosen path index back into a robot velocity command.",
   "modules": [
    "mrpt_config",
    "mrpt_nav"
   ],
   "classes": [
    "mrpt::config::CConfigFileMemory"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/nav_ptg_tpspace/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_nav_ptg_tpspace.html",
   "screenshot": null
  },
  {
   "name": "nav_rrt_planning_example",
   "language": "cpp",
   "category": "Navigation and graph search",
   "summary": "Path planning with the RRT planner in mrpt::nav::PlannerRRT_SE2_TPS, for a robot with arbitrary shape and kinematic constraints, in an obstacle map.",
   "modules": [
    "mrpt_config",
    "mrpt_gui",
    "mrpt_io",
    "mrpt_maps",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::io::CCompressedInputStream",
    "mrpt::maps::CSimpleMap",
    "mrpt::serialization::CArchive"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/nav_rrt_planning_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_nav_rrt_planning_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/nav_rrt_planning_example_screenshot.webp"
  },
  {
   "name": "obs_motion_model_demo",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Replays the odometry of a rawlog and shows the uncertainty of the probabilistic 2D motion models (mrpt::obs::CActionRobotMovement2D) as particle clouds.",
   "modules": [
    "mrpt_gui",
    "mrpt_obs",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::obs::CActionRobotMovement2D",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::obs::CRawlog",
    "mrpt::poses::CPosePDFParticles",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CPlanarLaserScan",
    "mrpt::viz::CSetOfLines",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/obs_motion_model_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_obs_motion_model_demo.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/obs_motion_model_demo_screenshot.webp"
  },
  {
   "name": "obs_mox_model_rawlog",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Applies a dynamic model of metal oxide (MOX) gas sensors to the readings in a rawlog file.",
   "modules": [
    "mrpt_config",
    "mrpt_io",
    "mrpt_math",
    "mrpt_obs",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::io::CCompressedInputStream",
    "mrpt::io::CCompressedOutputStream",
    "mrpt::obs::CObservationGasSensors",
    "mrpt::serialization::CArchive"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/obs_mox_model_rawlog/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_obs_mox_model_rawlog.html",
   "screenshot": null
  },
  {
   "name": "opengl_custom_shaders_demo",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "This example demonstrates how to install a custom OpenGL shader replacing one of MRPT default ones.",
   "modules": [
    "mrpt_gui",
    "mrpt_opengl",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::opengl::DefaultShaders",
    "mrpt::opengl::Shader",
    "mrpt::opengl::ShaderProgramManager",
    "mrpt::viz::CBox",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_custom_shaders_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_custom_shaders_demo.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/opengl_custom_shaders_demo_screenshot.webp"
  },
  {
   "name": "opengl_multithread_rendering",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Renders 3D scenes offscreen from several threads at once with mrpt::opengl::CFBORender.",
   "modules": [
    "mrpt_containers",
    "mrpt_core",
    "mrpt_gui",
    "mrpt_opengl",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow",
    "mrpt::gui::CDisplayWindowGUI",
    "mrpt::opengl::CFBORender",
    "mrpt::system::CTimeLogger",
    "mrpt::viz::CAxis",
    "mrpt::viz::CMesh",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CSphere",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_multithread_rendering/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_multithread_rendering.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/opengl_multithread_rendering_screenshot.webp"
  },
  {
   "name": "opengl_normal_maps",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Normal maps on textured planes: two brick walls side by side, with and without a normal map, lit by a grazing point light.",
   "modules": [
    "mrpt_core",
    "mrpt_gui",
    "mrpt_img",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::img::CImage",
    "mrpt::img::TColor",
    "mrpt::viz::CSkyBox",
    "mrpt::viz::CText",
    "mrpt::viz::CTexturedPlane",
    "mrpt::viz::Viewport"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_normal_maps/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_normal_maps.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/opengl_normal_maps_screenshot.webp"
  },
  {
   "name": "opengl_objects_demo",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "A gallery of all MRPT 3D object classes (mrpt::viz): boxes, arrows, meshes, point clouds, text, and more.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_math",
    "mrpt_obs",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::COctoMap",
    "mrpt::math::TOrientedBox",
    "mrpt::viz::CArrow",
    "mrpt::viz::CAxis",
    "mrpt::viz::CBox",
    "mrpt::viz::CColorBar",
    "mrpt::viz::CCylinder",
    "mrpt::viz::CDisk",
    "mrpt::viz::CEllipsoid2D",
    "mrpt::viz::CEllipsoid3D",
    "mrpt::viz::CEllipsoidInverseDepth2D",
    "mrpt::viz::CEllipsoidInverseDepth3D",
    "mrpt::viz::CEllipsoidRangeBearing2D",
    "mrpt::viz::CFrustum",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CGridPlaneXZ",
    "mrpt::viz::CMesh",
    "mrpt::viz::CMesh3D",
    "mrpt::viz::CMeshFast",
    "mrpt::viz::COctoMapVoxels",
    "mrpt::viz::CPlanarLaserScan",
    "mrpt::viz::CPointCloud",
    "mrpt::viz::CPointCloudColoured",
    "mrpt::viz::CPolyhedron",
    "mrpt::viz::CSetOfLines",
    "mrpt::viz::CSimpleLine",
    "mrpt::viz::CSphere",
    "mrpt::viz::CText",
    "mrpt::viz::CText3D",
    "mrpt::viz::CTexturedPlane",
    "mrpt::viz::CVectorField2D",
    "mrpt::viz::CVectorField3D",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_objects_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_objects_demo.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/opengl_objects_demo_screenshot.webp"
  },
  {
   "name": "opengl_offscreen_render_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Renders a 3D scene loaded from a file into an image, offscreen, with mrpt::opengl::CFBORender.",
   "modules": [
    "mrpt_img",
    "mrpt_io",
    "mrpt_opengl",
    "mrpt_serialization"
   ],
   "classes": [
    "mrpt::img::CImage",
    "mrpt::io::CCompressedInputStream",
    "mrpt::opengl::CFBORender",
    "mrpt::serialization::CArchive"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_offscreen_render_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_offscreen_render_example.html",
   "screenshot": null
  },
  {
   "name": "opengl_skybox_example",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "A skybox (mrpt::viz::CSkyBox) around a 3D scene, with textures downloaded on the fly.",
   "modules": [
    "mrpt_core",
    "mrpt_gui",
    "mrpt_img",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::img::TColor",
    "mrpt::viz::CAxis",
    "mrpt::viz::CBox",
    "mrpt::viz::CSkyBox",
    "mrpt::viz::CSphere"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_skybox_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_skybox_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/opengl_skybox_example_screenshot.webp"
  },
  {
   "name": "opengl_ssao_demo",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Interactive demo of Screen-Space Ambient Occlusion (SSAO) and multiple light sources, including a moving point light that casts shadows.",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::math::TPose3D",
    "mrpt::viz::CBox",
    "mrpt::viz::CCylinder",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CSphere",
    "mrpt::viz::CText",
    "mrpt::viz::Viewport"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_ssao_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_ssao_demo.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/opengl_ssao_demo_screenshot.webp"
  },
  {
   "name": "opengl_texture_sizes_test",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Tests textured planes with images of many different sizes, including non-power-of-two ones.",
   "modules": [
    "mrpt_gui",
    "mrpt_img",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::img::CImage",
    "mrpt::viz::CText",
    "mrpt::viz::CTexturedPlane"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_texture_sizes_test/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_texture_sizes_test.html",
   "screenshot": null
  },
  {
   "name": "opengl_video_demo",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Shows live camera images as a texture inside a 3D scene.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::CCameraSensor",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CTexturedPlane",
    "mrpt::viz::Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_video_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_video_demo.html",
   "screenshot": null
  },
  {
   "name": "opengl_video_viewport_demo",
   "language": "cpp",
   "category": "3D graphics and GUIs",
   "summary": "Shows live camera images in a 2D viewport overlaid on a 3D scene.",
   "modules": [
    "mrpt_gui",
    "mrpt_hwdrivers",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::hwdrivers::CCameraSensor",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::Scene",
    "mrpt::viz::Viewport"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/opengl_video_viewport_demo/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_opengl_video_viewport_demo.html",
   "screenshot": null
  },
  {
   "name": "poses_geometry_3D_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Composition and inverse composition of 2D and 3D poses and points with mrpt::poses classes.",
   "modules": [
    "mrpt_poses",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::poses::CPoint3D",
    "mrpt::poses::CPose2D",
    "mrpt::poses::CPose3D",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/poses_geometry_3D_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_poses_geometry_3D_example.html",
   "screenshot": null
  },
  {
   "name": "poses_pdfs_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Operations with probability distributions of poses and points: composition, inverse and uncertainty propagation.",
   "modules": [
    "mrpt_poses",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::poses::CPoint3D",
    "mrpt::poses::CPointPDFGaussian",
    "mrpt::poses::CPose3D",
    "mrpt::poses::CPoses2DSequence",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/poses_pdfs_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_poses_pdfs_example.html",
   "screenshot": null
  },
  {
   "name": "poses_quaternions_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Quaternions and their conversion to and from 3D rotations with mrpt::math::CQuaternion and mrpt::poses::CPose3DQuat.",
   "modules": [
    "mrpt_math",
    "mrpt_poses"
   ],
   "classes": [
    "mrpt::math::CQuaternion",
    "mrpt::poses::CPose3D",
    "mrpt::poses::CPose3DQuat"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/poses_quaternions_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_poses_quaternions_example.html",
   "screenshot": null
  },
  {
   "name": "poses_se3_lie_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Lie group operations on SE(3): exponential and logarithm maps and Jacobians, with mrpt::poses::Lie::SE.",
   "modules": [
    "mrpt_poses"
   ],
   "classes": [
    "mrpt::poses::CPose3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/poses_se3_lie_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_poses_se3_lie_example.html",
   "screenshot": null
  },
  {
   "name": "poses_sog_merge_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Example of how to merge overlapping modes of a Sum Of Gaussians (SOG) representation of a pose, in this case, a SE(2) SoG probability distribution function.",
   "modules": [
    "mrpt_gui",
    "mrpt_io",
    "mrpt_poses",
    "mrpt_serialization",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::io::CCompressedOutputStream",
    "mrpt::poses::CPosePDFSOG",
    "mrpt::serialization::CArchive",
    "mrpt::viz::CGridPlaneXY"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/poses_sog_merge_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_poses_sog_merge_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/poses_sog_merge_example_screenshot.webp"
  },
  {
   "name": "poses_unscented_transform_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Propagates Gaussian uncertainty through nonlinear functions with the unscented transform, linearization and Monte Carlo.",
   "modules": [
    "mrpt_gui",
    "mrpt_math",
    "mrpt_poses",
    "mrpt_system",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::math::CVectorFixed",
    "mrpt::poses::CPose3D",
    "mrpt::poses::CPose3DPDFGaussian",
    "mrpt::poses::CPose3DQuat",
    "mrpt::poses::CPose3DQuatPDFGaussian",
    "mrpt::system::CTicTac",
    "mrpt::viz::CEllipsoid3D",
    "mrpt::viz::CGridPlaneXY"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/poses_unscented_transform_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_poses_unscented_transform_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/poses_unscented_transform_example_screenshot.webp"
  },
  {
   "name": "random_examples",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "MRPT includes a C++ platform-independent implementation of the MT19937 algorithm for generating high-quality pseudo-random numbers. The following example demonstrates:",
   "modules": [
    "mrpt_gui",
    "mrpt_math"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/random_examples/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_random_examples.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/random_examples_screenshot.webp"
  },
  {
   "name": "rgbd_dataset2rawlog",
   "language": "cpp",
   "category": "Sensors, observations and datasets",
   "summary": "Converts a TUM RGB-D dataset sequence into an MRPT rawlog file.",
   "modules": [
    "mrpt_io",
    "mrpt_obs",
    "mrpt_serialization",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::io::CCompressedOutputStream",
    "mrpt::io::CTextFileLinesParser",
    "mrpt::obs::CObservation3DRangeScan",
    "mrpt::obs::CObservationIMU",
    "mrpt::serialization::CArchive"
   ],
   "requires": [
    "dataset"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/rgbd_dataset2rawlog/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_rgbd_dataset2rawlog.html",
   "screenshot": null
  },
  {
   "name": "rtti_example1",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Run-time type information (RTTI) for user classes with mrpt::rtti: type checks and class factories.",
   "modules": [
    "mrpt_rtti"
   ],
   "classes": [
    "mrpt::rtti::CObject"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/rtti_example1/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_rtti_example1.html",
   "screenshot": null
  },
  {
   "name": "serialization_json_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Serializes MRPT objects to and from JSON with mrpt::serialization::CSchemeArchive.",
   "modules": [
    "mrpt_poses",
    "mrpt_serialization"
   ],
   "classes": [
    "mrpt::poses::CPosePDFGaussian",
    "mrpt::serialization::CSchemeArchive"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/serialization_json_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_serialization_json_example.html",
   "screenshot": null
  },
  {
   "name": "serialization_stl",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Serializes STL containers (vectors, maps, sets, ...) to and from files with mrpt::serialization::CArchive.",
   "modules": [
    "mrpt_io",
    "mrpt_serialization"
   ],
   "classes": [
    "mrpt::io::CFileInputStream",
    "mrpt::io::CFileOutputStream",
    "mrpt::serialization::CArchive"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/serialization_stl/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_serialization_stl.html",
   "screenshot": null
  },
  {
   "name": "serialization_variant_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Serializes and deserializes std::variant objects through a pipe between two threads.",
   "modules": [
    "mrpt_io",
    "mrpt_poses",
    "mrpt_serialization"
   ],
   "classes": [
    "mrpt::io::CPipe",
    "mrpt::poses::CPose2D",
    "mrpt::poses::CPose3D",
    "mrpt::serialization::CArchive"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/serialization_variant_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_serialization_variant_example.html",
   "screenshot": null
  },
  {
   "name": "slam_icp3d_simple_example",
   "language": "cpp",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Aligns two 3D point clouds with ICP (mrpt::slam::CICP) and shows them before and after alignment.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_poses",
    "mrpt_slam",
    "mrpt_viz"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindow3D",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::poses::CPose3DPDF",
    "mrpt::slam::CICP",
    "mrpt::viz::CDisk",
    "mrpt::viz::CGridPlaneXY",
    "mrpt::viz::CSphere"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/slam_icp3d_simple_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_slam_icp3d_simple_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/slam_icp3d_simple_example_screenshot.webp"
  },
  {
   "name": "slam_icp_simple_example",
   "language": "cpp",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Aligns two 2D laser scans with ICP (mrpt::slam::CICP) and plots the result.",
   "modules": [
    "mrpt_gui",
    "mrpt_maps",
    "mrpt_math",
    "mrpt_obs",
    "mrpt_poses",
    "mrpt_slam"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::maps::CSimplePointsMap",
    "mrpt::obs::CObservation2DRangeScan",
    "mrpt::poses::CPose2D",
    "mrpt::poses::CPosePDF",
    "mrpt::poses::CPosePDFGaussian",
    "mrpt::slam::CICP"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/slam_icp_simple_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_slam_icp_simple_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/slam_icp_simple_example_screenshot.webp"
  },
  {
   "name": "slam_range_only_localization_rej_sampling_example",
   "language": "cpp",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Range-only localization from beacon ranges with rejection sampling (mrpt::slam::CRejectionSamplingRangeOnlyLocalization).",
   "modules": [
    "mrpt_config",
    "mrpt_maps",
    "mrpt_obs",
    "mrpt_slam",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::config::CConfigFile",
    "mrpt::maps::CLandmarksMap",
    "mrpt::maps::CMultiMetricMap",
    "mrpt::obs::CObservationBeaconRanges",
    "mrpt::slam::CRejectionSamplingRangeOnlyLocalization",
    "mrpt::system::CTicTac"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/slam_range_only_localization_rej_sampling_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_slam_range_only_localization_rej_sampling_example.html",
   "screenshot": null
  },
  {
   "name": "system_control_rate_timer_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Runs a loop at a fixed rate with mrpt::system::CControlledRateTimer, and plots the achieved rate.",
   "modules": [
    "mrpt_gui",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::gui::CDisplayWindowPlots",
    "mrpt::system::CControlledRateTimer"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/system_control_rate_timer_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_system_control_rate_timer_example.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/system_control_rate_timer_example_screenshot.webp"
  },
  {
   "name": "system_datetime_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Timestamps, time differences and date and time formatting with mrpt::system and mrpt::Clock.",
   "modules": [
    "mrpt_system"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/system_datetime_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_system_datetime_example.html",
   "screenshot": null
  },
  {
   "name": "system_directory_explorer_example",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Lists the files in a directory, recursively, with mrpt::system::CDirectoryExplorer.",
   "modules": [
    "mrpt_core",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::system::CDirectoryExplorer"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/system_directory_explorer_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_system_directory_explorer_example.html",
   "screenshot": null
  },
  {
   "name": "system_dirs_files_manipulation",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Creates, renames and deletes files and directories with mrpt::system filesystem functions.",
   "modules": [
    "mrpt_io",
    "mrpt_poses",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::io::CFileOutputStream",
    "mrpt::poses::CPose2D",
    "mrpt::poses::CPosePDF"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/system_dirs_files_manipulation/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_system_dirs_files_manipulation.html",
   "screenshot": null
  },
  {
   "name": "system_file_system_watcher",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Watches a directory for file changes with mrpt::system::CFileSystemWatcher.",
   "modules": [
    "mrpt_core",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::system::CFileSystemWatcher"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/system_file_system_watcher/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_system_file_system_watcher.html",
   "screenshot": null
  },
  {
   "name": "system_progress_bar",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Shows a text progress bar in the console with mrpt::system::progress().",
   "modules": [
    "mrpt_core",
    "mrpt_system"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/system_progress_bar/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_system_progress_bar.html",
   "screenshot": "https://docs.mrpt.org/reference/latest/system_progress_bar_screenshot.webp"
  },
  {
   "name": "topography_coordinate_conversion_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Conversions between geodetic, geocentric (ECEF), ENU and UTM coordinates with mrpt::topography.",
   "modules": [
    "mrpt_math",
    "mrpt_system"
   ],
   "classes": [
    "mrpt::math::CMatrixD",
    "mrpt::math::CVectorDynamic",
    "mrpt::math::TPoint2D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/topography_coordinate_conversion_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_topography_coordinate_conversion_example.html",
   "screenshot": null
  },
  {
   "name": "topography_gps_coords_example",
   "language": "cpp",
   "category": "Math, poses and geometry",
   "summary": "Converts GPS (geodetic) coordinates into local ENU and geocentric coordinates with mrpt::topography.",
   "modules": [
    "mrpt_math",
    "mrpt_poses"
   ],
   "classes": [
    "mrpt::math::TPose3D",
    "mrpt::poses::CPose3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/topography_gps_coords_example/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_topography_gps_coords_example.html",
   "screenshot": null
  },
  {
   "name": "typemeta_StaticString",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Compile-time string concatenation and number to string conversion with mrpt::typemeta.",
   "modules": [
    "mrpt_typemeta"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/typemeta_StaticString/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_typemeta_StaticString.html",
   "screenshot": null
  },
  {
   "name": "typemeta_TEnumType",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Converting enum values to and from strings with mrpt::typemeta::TEnumType.",
   "modules": [
    "mrpt_typemeta"
   ],
   "classes": [
    "mrpt::typemeta::TEnumType"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/typemeta_TEnumType/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_typemeta_TEnumType.html",
   "screenshot": null
  },
  {
   "name": "typemeta_TTypeName",
   "language": "cpp",
   "category": "Core, containers, I/O and system",
   "summary": "Compile-time type names, including STL containers, with mrpt::typemeta::TTypeName.",
   "modules": [
    "mrpt_typemeta"
   ],
   "classes": [
    "mrpt::typemeta::TTypeName",
    "mrpt::typemeta::TTypeName_stl"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_cpp/typemeta_TTypeName/main.cpp",
   "doc": "https://docs.mrpt.org/reference/latest/page_typemeta_TTypeName.html",
   "screenshot": null
  },
  {
   "name": "global_localization",
   "language": "python",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Monte Carlo (particle filter) global localization of a robot on a known map, from a rawlog dataset.",
   "modules": [
    "mrpt.bayes",
    "mrpt.config",
    "mrpt.img",
    "mrpt.io",
    "mrpt.maps",
    "mrpt.obs",
    "mrpt.poses",
    "mrpt.slam",
    "mrpt.gui"
   ],
   "classes": [
    "mrpt.bayes.CParticleFilter",
    "mrpt.bayes.TParticleFilterOptions",
    "mrpt.config.CConfigFile",
    "mrpt.gui.CDisplayWindow3D",
    "mrpt.img.TColorf",
    "mrpt.io.CCompressedInputStream",
    "mrpt.maps.CMultiMetricMap",
    "mrpt.maps.COccupancyGridMap2D",
    "mrpt.maps.CSimpleMap",
    "mrpt.maps.TSetOfMetricMapInitializers",
    "mrpt.maps.VisualizationParameters",
    "mrpt.obs.CRawlog",
    "mrpt.poses.CPose3D",
    "mrpt.slam.CMonteCarloLocalization2D",
    "mrpt.slam.TMonteCarloLocalizationParams"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/global_localization.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_global_localization.html",
   "screenshot": null
  },
  {
   "name": "hwdriver-tao-imu-usb",
   "language": "python",
   "category": "Sensors, observations and datasets",
   "summary": "Reads a Taobotics USB IMU sensor with mrpt.hwdrivers.",
   "modules": [
    "mrpt.core",
    "mrpt.hwdrivers",
    "mrpt.obs"
   ],
   "classes": [
    "mrpt.core.Clock",
    "mrpt.hwdrivers.CGenericSensor",
    "mrpt.hwdrivers.CTaoboticsIMU",
    "mrpt.obs.CObservationIMU",
    "mrpt.obs.TIMUDataIndex"
   ],
   "requires": [
    "hardware"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/hwdriver-tao-imu-usb.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_hwdriver-tao-imu-usb.html",
   "screenshot": null
  },
  {
   "name": "lines-3d-geometry-example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "3D lines and points: construction and point-to-line distance with mrpt.math.",
   "modules": [
    "mrpt.math"
   ],
   "classes": [
    "mrpt.math.TLine3D",
    "mrpt.math.TPoint3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/lines-3d-geometry-example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_lines-3d-geometry-example.html",
   "screenshot": null
  },
  {
   "name": "matrices",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Creates, prints and converts MRPT matrices from/to NumPy arrays.",
   "modules": [
    "mrpt.math"
   ],
   "classes": [
    "mrpt.math.CMatrixDouble"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/matrices.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_matrices.html",
   "screenshot": null
  },
  {
   "name": "mrpt_bayes_example",
   "language": "python",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Configures particle filter options and algorithms with mrpt.bayes.",
   "modules": [
    "mrpt.bayes"
   ],
   "classes": [
    "mrpt.bayes.CParticleFilter",
    "mrpt.bayes.TParticleFilterAlgorithm",
    "mrpt.bayes.TParticleFilterOptions",
    "mrpt.bayes.TParticleFilterStats",
    "mrpt.bayes.TParticleResamplingAlgorithm"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_bayes_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_bayes_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_comms_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "TCP client sockets and serial ports with mrpt.comms (no device needed).",
   "modules": [
    "mrpt.comms"
   ],
   "classes": [
    "mrpt.comms.CClientTCPSocket",
    "mrpt.comms.CSerialPort"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_comms_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_comms_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_config_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "Reads and writes INI-like configuration files and YAML with mrpt.config.",
   "modules": [
    "mrpt.config"
   ],
   "classes": [
    "mrpt.config.CConfigFile",
    "mrpt.config.CConfigFileMemory"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_config_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_config_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_containers_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "Parses, queries and emits YAML/JSON documents with mrpt.containers.YAML.",
   "modules": [
    "mrpt.containers"
   ],
   "classes": [
    "mrpt.containers.YAML"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_containers_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_containers_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_core_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "Clock, thread pool and other core utilities from mrpt.core.",
   "modules": [
    "mrpt.core"
   ],
   "classes": [
    "mrpt.core.Clock",
    "mrpt.core.WorkerThreadsPool"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_core_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_core_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_expr_example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Compiles and evaluates math formulas with variables at runtime with mrpt.expr.",
   "modules": [
    "mrpt.expr"
   ],
   "classes": [
    "mrpt.expr.CRuntimeCompiledExpression"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_expr_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_expr_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_graphs_example",
   "language": "python",
   "category": "Navigation and graph search",
   "summary": "Builds, saves and searches 2D and 3D pose graphs with mrpt.graphs.",
   "modules": [
    "mrpt.graphs",
    "mrpt.poses"
   ],
   "classes": [
    "mrpt.graphs.CNetworkOfPoses2D",
    "mrpt.graphs.CNetworkOfPoses3D",
    "mrpt.poses.CPose2D",
    "mrpt.poses.CPose3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_graphs_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_graphs_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_gui_example",
   "language": "python",
   "category": "3D graphics and GUIs",
   "summary": "Opens a 3D window with mrpt.gui and populates its scene.",
   "modules": [
    "mrpt.gui",
    "mrpt.viz",
    "mrpt.math"
   ],
   "classes": [
    "mrpt.gui.CDisplayWindow3D",
    "mrpt.math.TPoint3D",
    "mrpt.viz.CAxis",
    "mrpt.viz.CGridPlaneXY",
    "mrpt.viz.CPointCloudColoured",
    "mrpt.viz.Scene"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_gui_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_gui_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_hwdrivers_example",
   "language": "python",
   "category": "Sensors, observations and datasets",
   "summary": "Creates and configures MRPT sensor drivers by class name with mrpt.hwdrivers.",
   "modules": [
    "mrpt.config",
    "mrpt.hwdrivers"
   ],
   "classes": [
    "mrpt.config.CConfigFileMemory",
    "mrpt.hwdrivers.CGenericSensor",
    "mrpt.hwdrivers.CJoystick"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_hwdrivers_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_hwdrivers_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_img_example",
   "language": "python",
   "category": "Images",
   "summary": "Creates and draws on images, NumPy conversion and camera models with mrpt.img.",
   "modules": [
    "mrpt.img"
   ],
   "classes": [
    "mrpt.img.CImage",
    "mrpt.img.TCamera",
    "mrpt.img.TColor",
    "mrpt.img.TPixelCoord",
    "mrpt.img.TPixelCoordf",
    "mrpt.img.TStereoCamera"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_img_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_img_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_io_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "File, memory and compressed streams with mrpt.io.",
   "modules": [
    "mrpt.io"
   ],
   "classes": [
    "mrpt.io.CCompressedInputStream",
    "mrpt.io.CCompressedOutputStream",
    "mrpt.io.CFileGZInputStream",
    "mrpt.io.CFileGZOutputStream",
    "mrpt.io.CFileInputStream",
    "mrpt.io.CFileOutputStream",
    "mrpt.io.CMemoryStream",
    "mrpt.io.CompressionOptions",
    "mrpt.io.CompressionType",
    "mrpt.io.OpenMode",
    "mrpt.io.SeekOrigin"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_io_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_io_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_kinematics_example",
   "language": "python",
   "category": "Navigation and graph search",
   "summary": "Velocity commands and kinematic simulators of mobile robots with mrpt.kinematics.",
   "modules": [
    "mrpt.kinematics",
    "mrpt.math"
   ],
   "classes": [
    "mrpt.kinematics.CVehicleSimul_DiffDriven",
    "mrpt.kinematics.CVehicleSimul_Holo",
    "mrpt.kinematics.CVehicleVelCmd_DiffDriven",
    "mrpt.kinematics.CVehicleVelCmd_Holo",
    "mrpt.math.TPose2D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_kinematics_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_kinematics_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_maps_example",
   "language": "python",
   "category": "Maps",
   "summary": "Point clouds, occupancy grids, voxel maps and multi-maps with mrpt.maps.",
   "modules": [
    "mrpt.maps",
    "mrpt.config",
    "mrpt.obs",
    "mrpt.math",
    "mrpt.poses"
   ],
   "classes": [
    "mrpt.config.CConfigFileMemory",
    "mrpt.maps.CMultiMetricMap",
    "mrpt.maps.COccupancyGridMap2D",
    "mrpt.maps.COctoMap",
    "mrpt.maps.CSimplePointsMap",
    "mrpt.maps.CVoxelMap",
    "mrpt.maps.TSetOfMetricMapInitializers",
    "mrpt.math.TPoint3D",
    "mrpt.obs.CObservation2DRangeScan",
    "mrpt.obs.CSensoryFrame",
    "mrpt.poses.CPose3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_maps_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_maps_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_math_example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Geometry primitives, polygons, histograms and matrices with mrpt.math.",
   "modules": [
    "mrpt.math"
   ],
   "classes": [
    "mrpt.math.CHistogram",
    "mrpt.math.CMatrixDouble",
    "mrpt.math.CPolygon",
    "mrpt.math.CVectorDouble",
    "mrpt.math.TBoundingBox",
    "mrpt.math.TLine2D",
    "mrpt.math.TLine3D",
    "mrpt.math.TPlane",
    "mrpt.math.TPoint2D",
    "mrpt.math.TPoint3D",
    "mrpt.math.TPose2D",
    "mrpt.math.TPose3D",
    "mrpt.math.TSegment2D",
    "mrpt.math.TSegment3D",
    "mrpt.math.TTwist2D",
    "mrpt.math.TTwist3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_math_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_math_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_nav_example",
   "language": "python",
   "category": "Navigation and graph search",
   "summary": "Waypoint sequences and trajectory generators (PTGs) with mrpt.nav.",
   "modules": [
    "mrpt.nav",
    "mrpt.math"
   ],
   "classes": [
    "mrpt.math.TPoint2D",
    "mrpt.nav.CLogFileRecord",
    "mrpt.nav.CParameterizedTrajectoryGenerator",
    "mrpt.nav.TWaypoint",
    "mrpt.nav.TWaypointSequence"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_nav_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_nav_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_obs_example",
   "language": "python",
   "category": "Sensors, observations and datasets",
   "summary": "Sensor observations, odometry motion models and rawlogs with mrpt.obs.",
   "modules": [
    "mrpt.obs",
    "mrpt.poses",
    "mrpt.core"
   ],
   "classes": [
    "mrpt.core.Clock",
    "mrpt.obs.CActionCollection",
    "mrpt.obs.CActionRobotMovement2D",
    "mrpt.obs.CObservation2DRangeScan",
    "mrpt.obs.CObservationIMU",
    "mrpt.obs.CObservationOdometry",
    "mrpt.obs.CRawlog",
    "mrpt.obs.CSensoryFrame",
    "mrpt.obs.CSimpleMap",
    "mrpt.poses.CPose2D",
    "mrpt.poses.CPose3D",
    "mrpt.poses.CPose3DPDFGaussian"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_obs_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_obs_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_opengl_example",
   "language": "python",
   "category": "3D graphics and GUIs",
   "summary": "Off-screen rendering of a 3D scene into an image with mrpt.opengl.",
   "modules": [
    "mrpt.opengl"
   ],
   "classes": [
    "mrpt.opengl.CFBORender",
    "mrpt.opengl.CFBORenderParameters"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_opengl_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_opengl_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_poses_example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "SE(2) and SE(3) pose composition, Lie algebra and pose PDFs with mrpt.poses.",
   "modules": [
    "mrpt.poses",
    "mrpt.math"
   ],
   "classes": [
    "mrpt.math.TPose2D",
    "mrpt.poses.CPoint2D",
    "mrpt.poses.CPoint3D",
    "mrpt.poses.CPose2D",
    "mrpt.poses.CPose3D",
    "mrpt.poses.CPose3DPDFGaussian",
    "mrpt.poses.CPosePDFParticles",
    "mrpt.poses.SE_average2",
    "mrpt.poses.SE_average3"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_poses_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_poses_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_random_example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Uniform, Gaussian and multivariate random samples with mrpt.random.",
   "modules": [
    "mrpt.random"
   ],
   "classes": [
    "mrpt.random.CRandomGenerator",
    "mrpt.random.Randomize"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_random_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_random_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_rtti_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "Lists the classes in the MRPT runtime type registry with mrpt.rtti.",
   "modules": [
    "mrpt.rtti",
    "mrpt.poses",
    "mrpt.obs",
    "mrpt.maps"
   ],
   "classes": [],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_rtti_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_rtti_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_serialization_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "Serializes MRPT objects to bytes and back with mrpt.serialization.",
   "modules": [
    "mrpt.rtti",
    "mrpt.serialization",
    "mrpt.poses"
   ],
   "classes": [
    "mrpt.poses.CPose3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_serialization_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_serialization_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_slam_example",
   "language": "python",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "ICP scan alignment and incremental ICP-SLAM with mrpt.slam.",
   "modules": [
    "mrpt.slam",
    "mrpt.maps",
    "mrpt.obs",
    "mrpt.poses"
   ],
   "classes": [
    "mrpt.maps.CSimplePointsMap",
    "mrpt.obs.CActionCollection",
    "mrpt.obs.CObservation2DRangeScan",
    "mrpt.obs.CSensoryFrame",
    "mrpt.poses.CPose2D",
    "mrpt.poses.CPosePDFGaussian",
    "mrpt.slam.CICP",
    "mrpt.slam.CICPOptions",
    "mrpt.slam.CMetricMapBuilderICP",
    "mrpt.slam.CMetricMapBuilderICPOptions",
    "mrpt.slam.TICPAlgorithm",
    "mrpt.slam.TICPCovarianceMethod",
    "mrpt.slam.TICPReturnInfo"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_slam_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_slam_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_system_example",
   "language": "python",
   "category": "Core, containers, I/O and system",
   "summary": "Timers, time loggers, CRC and base64 utilities from mrpt.system.",
   "modules": [
    "mrpt.system"
   ],
   "classes": [
    "mrpt.system.CTicTac",
    "mrpt.system.CTimeLogger",
    "mrpt.system.TTimeParts"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_system_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_system_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_tfest_example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Robust SE(3) transformation estimation from point correspondences with mrpt.tfest.",
   "modules": [
    "mrpt.math",
    "mrpt.poses",
    "mrpt.tfest"
   ],
   "classes": [
    "mrpt.math.TPoint3Df",
    "mrpt.poses.CPose3D",
    "mrpt.tfest.TMatchingPair",
    "mrpt.tfest.TMatchingPairList",
    "mrpt.tfest.TSE3RobustParams"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_tfest_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_tfest_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_topography_example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Geodetic, ECEF, ENU and UTM coordinate conversions with mrpt.topography.",
   "modules": [
    "mrpt.topography"
   ],
   "classes": [
    "mrpt.topography.TCoords",
    "mrpt.topography.TEllipsoid",
    "mrpt.topography.TGeodeticCoords",
    "mrpt.topography.UTMToGeodetic"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_topography_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_topography_example.html",
   "screenshot": null
  },
  {
   "name": "mrpt_viz_example",
   "language": "python",
   "category": "3D graphics and GUIs",
   "summary": "Builds a 3D scene with lines, boxes, point clouds and models with mrpt.viz.",
   "modules": [
    "mrpt.viz",
    "mrpt.math"
   ],
   "classes": [
    "mrpt.math.CMatrixDouble33",
    "mrpt.math.TPoint3D",
    "mrpt.math.TSegment3D",
    "mrpt.viz.CArrow",
    "mrpt.viz.CAxis",
    "mrpt.viz.CBox",
    "mrpt.viz.CCylinder",
    "mrpt.viz.CEllipsoid3D",
    "mrpt.viz.CGridPlaneXY",
    "mrpt.viz.CPointCloud",
    "mrpt.viz.CPointCloudColoured",
    "mrpt.viz.CSetOfLines",
    "mrpt.viz.CSimpleLine",
    "mrpt.viz.CSphere",
    "mrpt.viz.CText",
    "mrpt.viz.CText3D",
    "mrpt.viz.Scene",
    "mrpt.viz.Viewport"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/mrpt_viz_example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_mrpt_viz_example.html",
   "screenshot": null
  },
  {
   "name": "opengl-demo-gui",
   "language": "python",
   "category": "3D graphics and GUIs",
   "summary": "Animated 3D scene in a GUI window, with mrpt.gui and mrpt.viz.",
   "modules": [
    "mrpt.gui",
    "mrpt.viz",
    "mrpt.math",
    "mrpt.img",
    "mrpt.system"
   ],
   "classes": [
    "mrpt.gui.CDisplayWindow3D",
    "mrpt.img.TColor",
    "mrpt.math.TPoint3D",
    "mrpt.system.CTicTac",
    "mrpt.viz.CBox",
    "mrpt.viz.CGridPlaneXY",
    "mrpt.viz.CSetOfObjects"
   ],
   "requires": [
    "gui"
   ],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/opengl-demo-gui.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_opengl-demo-gui.html",
   "screenshot": null
  },
  {
   "name": "rbpf_slam",
   "language": "python",
   "category": "SLAM, Bayesian filtering and graph-SLAM",
   "summary": "Builds an occupancy grid map from a 2D lidar dataset with Rao-Blackwellized particle filter SLAM.",
   "modules": [
    "mrpt.config",
    "mrpt.io",
    "mrpt.obs",
    "mrpt.slam"
   ],
   "classes": [
    "mrpt.config.CConfigFile",
    "mrpt.io.CCompressedInputStream",
    "mrpt.obs.CRawlog",
    "mrpt.slam.CMetricMapBuilderRBPF"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/rbpf_slam.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_rbpf_slam.html",
   "screenshot": null
  },
  {
   "name": "ros-poses-convert",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Converts MRPT poses and pose PDFs from/to ROS geometry_msgs Pose and PoseWithCovariance.",
   "modules": [
    "mrpt.math",
    "mrpt.poses"
   ],
   "classes": [
    "mrpt.math.CMatrixDouble66",
    "mrpt.poses.CPose2D",
    "mrpt.poses.CPose3D",
    "mrpt.poses.CPose3DPDFGaussian"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/ros-poses-convert.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_ros-poses-convert.html",
   "screenshot": null
  },
  {
   "name": "se2-poses-example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "SE(2) pose composition and inverse composition with mrpt.poses.CPose2D.",
   "modules": [
    "mrpt.poses"
   ],
   "classes": [
    "mrpt.poses.CPose2D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/se2-poses-example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_se2-poses-example.html",
   "screenshot": null
  },
  {
   "name": "se3-poses-example",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "SE(3) pose composition and inverse composition with mrpt.poses.CPose3D.",
   "modules": [
    "mrpt.poses"
   ],
   "classes": [
    "mrpt.poses.CPose3D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/se3-poses-example.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_se3-poses-example.html",
   "screenshot": null
  },
  {
   "name": "test-poses-se2",
   "language": "python",
   "category": "Math, poses and geometry",
   "summary": "Self-checking test of SE(2) pose composition and TPose2D conversion.",
   "modules": [
    "mrpt.poses",
    "mrpt.math"
   ],
   "classes": [
    "mrpt.math.TPose2D",
    "mrpt.poses.CPose2D"
   ],
   "requires": [],
   "tags": [],
   "source": "https://github.com/MRPT/mrpt/blob/develop/mrpt_examples_py/test-poses-se2.py",
   "doc": "https://docs.mrpt.org/reference/latest/pymrpt_example_test-poses-se2.html",
   "screenshot": null
  }
 ]
}
