Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
pointcloud.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2017 Intel Corporation. All Rights Reserved.
3 
4 #pragma once
5 #include "../include/librealsense2/hpp/rs_frame.hpp"
6 namespace librealsense
7 {
8  class occlusion_filter;
9  class pointcloud : public processing_block
10  {
11  public:
12  pointcloud();
13 
14  private:
15  optional_value<rs2_intrinsics> _depth_intrinsics;
16  optional_value<rs2_intrinsics> _other_intrinsics;
17  optional_value<float> _depth_units;
19  std::atomic_bool _invalidate_mapped;
20  std::shared_ptr<occlusion_filter> _occlusion_filter;
21 
22  // Intermediate translation table of (depth_x*depth_y) with actual texel coordinates per depth pixel
23  std::vector<float2> _pixels_map;
24 
25  std::shared_ptr<stream_profile_interface> _output_stream, _other_stream;
26  int _other_stream_id = -1;
27  stream_profile_interface* _depth_stream = nullptr;
28 
29  void inspect_depth_frame(const rs2::frame& depth);
30  void inspect_other_frame(const rs2::frame& other);
31  void process_depth_frame(const rs2::depth_frame& depth);
32 
33  bool stream_changed(stream_profile_interface* old, stream_profile_interface* curr);
34 
35  std::vector<float> _pre_compute_map_x;
36  std::vector<float> _pre_compute_map_y;
37 
38  void pre_compute_x_y_map();
39  };
40 }
Definition: rs_frame.hpp:202
Definition: pointcloud.h:9
Definition: synthetic-stream.h:41
Definition: algo.h:16
Definition: streaming.h:46
Definition: rs_frame.hpp:539