CapturePluginPtgrey.h
Go to the documentation of this file.
1 /*
2  * This file is part of ALVAR, A Library for Virtual and Augmented Reality.
3  *
4  * Copyright 2007-2012 VTT Technical Research Centre of Finland
5  *
6  * Contact: VTT Augmented Reality Team <alvar.info@vtt.fi>
7  * <http://www.vtt.fi/multimedia/alvar.html>
8  *
9  * ALVAR is free software; you can redistribute it and/or modify it under the
10  * terms of the GNU Lesser General Public License as published by the Free
11  * Software Foundation; either version 2.1 of the License, or (at your option)
12  * any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
17  * for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with ALVAR; if not, see
21  * <http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>.
22  */
23 
24 #ifndef CAPTUREPLUGINPTGREY_H
25 #define CAPTUREPLUGINPTGREY_H
26 
36 #ifdef WIN32
37  #ifdef ALVAR_Capture_Plugin_Ptgrey_BUILD
38  #define ALVAR_CAPTURE_PLUGIN_PTGREY_EXPORT __declspec(dllexport)
39  #else
40  #define ALVAR_CAPTURE_PLUGIN_PTGREY_EXPORT __declspec(dllimport)
41  #endif
42 #else
43  #define ALVAR_CAPTURE_PLUGIN_PTGREY_EXPORT
44 #endif
45 
46 #include "Capture.h"
47 #include "CapturePlugin.h"
48 
49 #include "FlyCapture2Defs.h"
50 
51 // Forward declaration for PTGrey specific classes.
52 namespace FlyCapture2 {
53  class Camera;
54  class Image;
55 }
56 
57 namespace alvar {
58 
62 namespace plugins {
63 
71  : public alvar::Capture
72 {
73 public:
79  CapturePtgrey(const CaptureDevice captureDevice);
83  ~CapturePtgrey();
84  bool start();
85  void stop();
86  IplImage *captureImage();
87  bool showSettingsDialog();
88  std::string SerializeId();
89  bool Serialize(Serialization *serialization);
90 private:
91  FlyCapture2::Camera *mCamera;
92  FlyCapture2::Image *mImage;
93  FlyCapture2::PGRGuid mGUID;
94  int mChannels;
95  IplImage *mReturnFrame;
96 };
97 
105  : public alvar::CapturePlugin
106 {
107 public:
113  CapturePluginPtgrey(const std::string &captureType);
118  CaptureDeviceVector enumerateDevices();
119  Capture *createCapture(const CaptureDevice captureDevice);
120 };
121 
122 extern "C" ALVAR_CAPTURE_PLUGIN_PTGREY_EXPORT void registerPlugin(const std::string &captureType, alvar::CapturePlugin *&capturePlugin);
123 
124 } // namespace plugins
125 } // namespace alvar
126 
127 #endif
Main ALVAR namespace.
Definition: Alvar.h:174
Implementation of Capture interface for Ptgrey plugin.
CaptureDevice holder for camera information.
Definition: CaptureDevice.h:44
This file implements a capture plugin interface.
CapturePlugin interface that plugins must implement.
Definition: CapturePlugin.h:44
void registerPlugin(const std::string &class_name, const std::string &base_class_name)
#define ALVAR_CAPTURE_PLUGIN_PTGREY_EXPORT
Implementation of CapturePlugin interface for Ptgrey plugin.
Capture interface that plugins must implement.
Definition: Capture.h:46
Class for serializing class content to/from file or std::iostream.
Definition: Util.h:352
std::vector< CaptureDevice > CaptureDeviceVector
Vector of CaptureDevices.
Definition: CapturePlugin.h:60
This file implements a capture interface.


ar_track_alvar
Author(s): Scott Niekum
autogenerated on Mon Jun 10 2019 12:47:04