NDEVR
API Documentation
DepthAIScanner.h
1#pragma once
2#include "DLLInfo.h"
3#if NDEVR_SCAN
4#include "RasterPointScanner/Headers/KeyFramePointRaster.hpp"
5#include "RasterPointScanner/Headers/RasterScanner.h"
6#include "BlockModel/Headers/SegmentedBlockModel.h"
7#include "Design/Headers/PolarPointFilter.h"
8#include "Design/Headers/Camera.h"
9#include "Base/Headers/Time.h"
10#include "Base/Headers/Pointer.hpp"
11#include "Base/Headers/Thread.h"
12#include "Base/Headers/INIInterface.h"
13#include <opencv2\core\mat.hpp>
14#include <depthai/pipeline/node/ColorCamera.hpp>
15#include <depthai/pipeline/node/StereoDepth.hpp>
16#include <depthai/device/DataQueue.hpp>
17#include <depthai/pipeline/Pipeline.hpp>
18#include <depthai/device/Device.hpp>
19#include <QObject>
20class ScannerDriver;
21namespace rs2
22{
23 class device;
24 class video_stream_profile;
25}
26namespace NDEVR
27{
28 struct FileRequest;
29 class OrbSLAM;
30 class SLAMEngine;
31 class DepthAIScannerConnection;
37 class DEPTH_AI_INTERFACE_API DepthAIScanner : public RasterScanner
38 {
39 public:
45 DepthAIScanner(Model& model, DepthAIScannerConnection* connection, DesignObjectLookup* manager, QObject* parent = nullptr);
46 virtual ~DepthAIScanner();
47 virtual void update() override;
48 [[nodiscard]] virtual Connection* connection() const override;
49 [[nodiscard]] virtual PositionSensor* positionSensor() const { return m_position_sensor; };
50 virtual FileRequest scanModelFile() const override;
51 protected:
52 void updateIOState();
53 Matrix<fltp08> scanModelFileTransform() const;
54 bool attemptConnection();
55 protected:
56 dai::Pipeline* m_pipeline;
57 dai::Device* m_device;
58 std::shared_ptr<dai::node::ColorCamera> m_cam_rgb;
59 std::shared_ptr<dai::node::StereoDepth> m_stereo_stream;
60 std::shared_ptr<dai::DataOutputQueue> m_depth_queue;
61 std::shared_ptr<dai::DataOutputQueue> m_rgb_queue;
62 std::shared_ptr<dai::DataOutputQueue> m_imu_queue;
63 std::shared_ptr<dai::DataOutputQueue> m_left_queue;
64 std::shared_ptr<dai::DataOutputQueue> m_right_queue;
65 PositionSensor* m_position_sensor = nullptr;
66 DepthAIScannerConnection* m_connection = nullptr;
67 uint04 m_decimation = 4;
68 uint04 m_fps = 30;
69 uint04 m_downsample = 3;
70 bool m_use_stereo_slam = true;
71 };
72}
73#endif
Main entry point for the ORB-SLAM3 system.
Definition System.h:37
Provides logic to perform SLAM on an object.
Definition SLAMEngine.h:31
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
A FileRequest bundles format data as well as a particular file.
Definition FileFormat.h:101