motion-transform.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2019 Intel Corporation. All Rights Reserved.
3 
4 #pragma once
5 
6 namespace librealsense
7 {
8  class enable_motion_correction;
9  class mm_calib_handler;
10  class functional_processing_block;
11 
13  {
14  public:
15  motion_transform(rs2_format target_format, rs2_stream target_stream,
16  std::shared_ptr<mm_calib_handler> mm_calib = nullptr,
17  std::shared_ptr<enable_motion_correction> mm_correct_opt = nullptr);
18 
19  protected:
20  motion_transform(const char* name, rs2_format target_format, rs2_stream target_stream,
21  std::shared_ptr<mm_calib_handler> mm_calib,
22  std::shared_ptr<enable_motion_correction> mm_correct_opt);
24 
25  private:
26  void correct_motion(rs2::frame* f);
27 
28  std::shared_ptr<enable_motion_correction> _mm_correct_opt = nullptr;
33  float3x3 _imu2depth_cs_alignment_matrix; // Transform and align raw IMU axis [x,y,z] to be consistent with the Depth frame CS
34  };
35 
37  {
38  public:
39  acceleration_transform(std::shared_ptr<mm_calib_handler> mm_calib = nullptr, std::shared_ptr<enable_motion_correction> mm_correct_opt = nullptr);
40 
41  protected:
42  acceleration_transform(const char* name, std::shared_ptr<mm_calib_handler> mm_calib, std::shared_ptr<enable_motion_correction> mm_correct_opt);
43  void process_function(byte * const dest[], const byte * source, int width, int height, int actual_size, int input_size) override;
44 
45  };
46 
48  {
49  public:
50  gyroscope_transform(std::shared_ptr<mm_calib_handler> mm_calib = nullptr, std::shared_ptr<enable_motion_correction> mm_correct_opt = nullptr);
51 
52  protected:
53  gyroscope_transform(const char* name, std::shared_ptr<mm_calib_handler> mm_calib, std::shared_ptr<enable_motion_correction> mm_correct_opt);
54  void process_function(byte * const dest[], const byte * source, int width, int height, int actual_size, int input_size) override;
55  };
56 }
GLuint const GLchar * name
motion_transform(rs2_format target_format, rs2_stream target_stream, std::shared_ptr< mm_calib_handler > mm_calib=nullptr, std::shared_ptr< enable_motion_correction > mm_correct_opt=nullptr)
virtual void process_function(byte *const dest[], const byte *source, int width, int height, int actual_size, int input_size)=0
GLdouble f
rs2::frame process_frame(const rs2::frame_source &source, const rs2::frame &f) override
GLint GLsizei GLsizei height
rs2_format
A stream&#39;s format identifies how binary data is encoded within a frame.
Definition: rs_sensor.h:59
rs2_stream
Streams are different types of data provided by RealSense devices.
Definition: rs_sensor.h:42
unsigned char byte
Definition: src/types.h:52
void correct_motion(rs2::frame *f)
std::shared_ptr< enable_motion_correction > _mm_correct_opt
GLsizei GLsizei GLchar * source
LZ4LIB_API char * dest
Definition: lz4.h:438
GLint GLsizei width


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