CMU1394Capture.h
Go to the documentation of this file.
00001 // ****************************************************************************
00002 // This file is part of the Integrating Vision Toolkit (IVT).
00003 //
00004 // The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
00005 // (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
00006 //
00007 // Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
00008 // All rights reserved.
00009 //
00010 // Redistribution and use in source and binary forms, with or without
00011 // modification, are permitted provided that the following conditions are met:
00012 //
00013 // 1. Redistributions of source code must retain the above copyright
00014 //    notice, this list of conditions and the following disclaimer.
00015 //
00016 // 2. Redistributions in binary form must reproduce the above copyright
00017 //    notice, this list of conditions and the following disclaimer in the
00018 //    documentation and/or other materials provided with the distribution.
00019 //
00020 // 3. Neither the name of the KIT nor the names of its contributors may be
00021 //    used to endorse or promote products derived from this software
00022 //    without specific prior written permission.
00023 //
00024 // THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
00025 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00026 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027 // DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
00028 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00029 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00030 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00031 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00032 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00033 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034 // ****************************************************************************
00035 // ****************************************************************************
00036 // Filename:  CMU1394Capture.h
00037 // Author:    Pedram Azad
00038 // Date:      2005
00039 // ****************************************************************************
00040 // Changes:   01.02.2006, Florian Hecht
00041 //            * Added support for multiple cameras
00042 //            14.06.2010, Kenn Sebesta
00043 //            * Added methods SetGain, SetShutter, and SetFeature
00044 // ****************************************************************************
00045 
00046 #ifndef _CMU_1394_CAPTURE_H_
00047 #define _CMU_1394_CAPTURE_H_
00048 
00049 
00050 // ****************************************************************************
00051 // Defines
00052 // ****************************************************************************
00053 
00054 // comment out this define for older versions of CMU1394
00055 #define CMU1394_Version_645
00056 
00057 
00058 // ****************************************************************************
00059 // Necessary includes
00060 // ****************************************************************************
00061 
00062 #include "Interfaces/VideoCaptureInterface.h"
00063 
00064 
00065 // ****************************************************************************
00066 // Forward declarations
00067 // ****************************************************************************
00068 
00069 class C1394Camera;
00070 class CByteImage;
00071 
00072 
00073 
00074 // ****************************************************************************
00075 // CCMU1394Capture
00076 // ****************************************************************************
00077 
00078 class CCMU1394Capture : public CVideoCaptureInterface
00079 {
00080 public:
00081         // constructor
00082         CCMU1394Capture(int nFormat = -1, int nMode = -1, int nRate = -1, int nCameras = 1);
00083 
00084         // destructor
00085         ~CCMU1394Capture();
00086         
00087 
00088         // public methods
00089         bool OpenCamera();
00090         void CloseCamera();
00091         bool CaptureImage(CByteImage **ppImages);
00092         
00093         int GetWidth() { return width; }
00094         int GetHeight() { return height; }
00095         CByteImage::ImageType GetType() { return CByteImage::eRGB24; }
00096         int GetNumberOfCameras();
00097         
00098         // non-interface methods
00099         // nCamera = -1 sets all cameras, nCamera = 0 first camera, nCamera = 1 second camera, and so on.
00100 #ifndef CMU1394_Version_645
00101         void SetFocus(int nFocus, int nCamera = -1);
00102 #else
00103         void SetShutter(int nShutter, int nCamera = -1);
00104         void SetGain(int nGain, int nCamera = -1);
00105         void SetFeature(int nFeature, int nValue, int nCamera = -1);
00106 #endif
00107 
00108 private:
00109         // private attributes
00110         int m_nNumberOfCameras;
00111         C1394Camera **m_ppCameras;
00112 
00113         // private methods
00114         int m_nFormat;
00115         int m_nMode;
00116         int m_nRate;
00117 
00118         int width;
00119         int height;
00120 
00121         bool m_bOK;
00122 };
00123 
00124 
00125 
00126 #endif /* _CMU_1394_CAPTURE_H_ */


asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Thu Jun 6 2019 21:46:57