Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
occlusion-filter.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2018 Intel Corporation. All Rights Reserved.
3 
4 #pragma once
5 #include "../include/librealsense2/hpp/rs_frame.hpp"
6 namespace librealsense
7 {
8  enum occlusion_rect_type : uint8_t {
13 
14  class pointcloud;
15 
17  {
18  public:
20 
21  bool active(void) const { return (occlusion_none != _occlusion_filter); };
22 
23  void process(float3* points, float2* uv_map, const std::vector<float2> & pix_coord) const;
24 
25  void set_mode(uint8_t filter_type) { _occlusion_filter = (occlusion_rect_type)filter_type; }
26 
27  void set_texel_intrinsics(const rs2_intrinsics& in);
28  void set_depth_intrinsics(const rs2_intrinsics& in) { _depth_intrinsics = in; }
29  private:
30 
31  friend class pointcloud;
32 
33  void monotonic_heuristic_invalidation(float3* points, float2* uv_map, const std::vector<float2> & pix_coord) const;
34 
35  void comprehensive_invalidation(float3* points, float2* uv_map, const std::vector<float2> & pix_coord) const;
36 
37  optional_value<rs2_intrinsics> _depth_intrinsics;
38  optional_value<rs2_intrinsics> _texels_intrinsics;
39  mutable std::vector<float> _texels_depth; // Temporal translation table of (mapped_x*mapped_y) holds the minimal depth value among all depth pixels mapped to that texel
40  occlusion_rect_type _occlusion_filter;
41  };
42 }
void set_texel_intrinsics(const rs2_intrinsics &in)
Definition: occlusion-filter.h:12
Definition: pointcloud.h:9
Definition: occlusion-filter.h:16
Definition: types.h:413
occlusion_rect_type
Definition: occlusion-filter.h:8
void set_mode(uint8_t filter_type)
Definition: occlusion-filter.h:25
Definition: occlusion-filter.h:11
Definition: occlusion-filter.h:9
Definition: algo.h:16
void process(float3 *points, float2 *uv_map, const std::vector< float2 > &pix_coord) const
Definition: types.h:414
bool active(void) const
Definition: occlusion-filter.h:21
void set_depth_intrinsics(const rs2_intrinsics &in)
Definition: occlusion-filter.h:28
Definition: archive.h:144
Video stream intrinsics.
Definition: rs_types.h:55
Definition: occlusion-filter.h:10