81d17e2360459609c2cd55b0558c1799d6b71416
[platform/upstream/opencv.git] / modules / videoio / src / cap_librealsense.hpp
1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4
5 #ifndef _CAP_LIBREALSENE_HPP_
6 #define _CAP_LIBREALSENE_HPP_
7
8 #ifdef HAVE_LIBREALSENSE
9
10 #include <librealsense2/rs.hpp>
11
12 namespace cv
13 {
14
15 class VideoCapture_LibRealsense : public IVideoCapture
16 {
17 public:
18     VideoCapture_LibRealsense(int index);
19     virtual ~VideoCapture_LibRealsense();
20
21     virtual double getProperty(int propIdx) const CV_OVERRIDE;
22     virtual bool setProperty(int propIdx, double propVal) CV_OVERRIDE;
23
24     virtual bool grabFrame() CV_OVERRIDE;
25     virtual bool retrieveFrame(int outputType, OutputArray frame) CV_OVERRIDE;
26     virtual int getCaptureDomain() CV_OVERRIDE;
27     virtual bool isOpened() const CV_OVERRIDE;
28 protected:
29     rs2::pipeline mPipe;
30     rs2::frameset mData;
31     rs2::align    mAlign;
32 };
33
34 }
35
36 #endif
37 #endif