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 "synthetic-stream.h"
6 
7 namespace librealsense
8 {
9  class occlusion_filter;
10 
12  {
13  public:
14  static std::shared_ptr<pointcloud> create();
15 
16  pointcloud();
17 
18  virtual const float3 * depth_to_points(
19  rs2::points output,
22  float depth_scale);
23  virtual void get_texture_map(
24  rs2::points output,
25  const float3* points,
26  const unsigned int width,
27  const unsigned int height,
28  const rs2_intrinsics &other_intrinsics,
29  const rs2_extrinsics& extr,
30  float2* pixels_ptr);
31  virtual rs2::points allocate_points(const rs2::frame_source& source, const rs2::frame& f);
32  virtual void preprocess() {}
33  virtual bool run__occlusion_filter(const rs2_extrinsics& extr);
34 
35  protected:
36  pointcloud(const char* name);
37 
38  bool should_process(const rs2::frame& frame) override;
39  rs2::frame process_frame(const rs2::frame_source& source, const rs2::frame& f) override;
40 
45  std::shared_ptr<occlusion_filter> _occlusion_filter;
46 
47  // Intermediate translation table of (depth_x*depth_y) with actual texel coordinates per depth pixel
48  std::vector<float2> _pixels_map;
49 
53 
54  void inspect_depth_frame(const rs2::frame& depth);
55  void inspect_other_frame(const rs2::frame& other);
56  rs2::frame process_depth_frame(const rs2::frame_source& source, const rs2::depth_frame& depth);
57  void set_extrinsics();
58 
60  std::shared_ptr< pointcloud > _registered_auto_calib_cb;
61  };
62 }
std::shared_ptr< occlusion_filter > _occlusion_filter
Definition: pointcloud.h:45
rs2::stream_profile _output_stream
Definition: pointcloud.h:50
GLuint const GLchar * name
stream_filter _prev_stream_filter
Definition: pointcloud.h:59
GLint GLint GLsizei GLsizei GLsizei depth
optional_value< rs2_extrinsics > _extrinsics
Definition: pointcloud.h:44
#define LRS_EXTENSION_API
Definition: src/types.h:20
optional_value< rs2_intrinsics > _other_intrinsics
Definition: pointcloud.h:42
GLdouble f
rs2::frame _depth_stream
Definition: pointcloud.h:52
virtual void preprocess()
Definition: pointcloud.h:32
rs2::frame _other_stream
Definition: pointcloud.h:51
def pointcloud(out, verts, texcoords, color, painter=True)
GLint GLsizei GLsizei height
optional_value< float > _depth_units
Definition: pointcloud.h:43
std::vector< float2 > _pixels_map
Definition: pointcloud.h:48
Cross-stream extrinsics: encodes the topology describing how the different devices are oriented...
Definition: rs_sensor.h:96
optional_value< rs2_intrinsics > _depth_intrinsics
Definition: pointcloud.h:41
uvmap_t get_texture_map(std::vector< double3 > const &points, const calib &cal, const p_matrix &p_mat)
Definition: uvmap.cpp:52
rs2_extrinsics extr
Definition: test-pose.cpp:258
Video stream intrinsics.
Definition: rs_types.h:58
GLsizei GLsizei GLchar * source
std::shared_ptr< pointcloud > _registered_auto_calib_cb
Definition: pointcloud.h:60
GLint GLsizei width


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:47:39