Subversion Repositories seema-scanner

Rev

Rev 18 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 jakw 1
#include "Camera.h"
2
 
3
#ifdef WITH_CAMERAIIDC
4
    #include "CameraIIDC.h"
5
#endif
6
#ifdef WITH_CAMERAXIMEA
7
    #include "CameraXIMEA.h"
8
#endif
9
#ifdef WITH_CAMERAIDSIMAGING
10
    #include "CameraIDSImaging.h"
11
#endif
12
#ifdef WITH_CAMERAPOINTGREY
13
    #include "CameraPointGrey.h"
14
#endif
15
 
16
// Global camera enumerator
17
std::vector< std::vector<CameraInfo> > Camera::GetInterfaceCameraList(){
18
    std::vector< std::vector<CameraInfo> > ret;
19
 
20
#ifdef WITH_CAMERAIIDC
21
    std::vector<CameraInfo> iidccameras = CameraIIDC::getCameraList();
22
    ret.push_back(iidccameras);
23
#endif
24
#ifdef WITH_CAMERAXIMEA
25
    std::vector<CameraInfo> ximeacameras = CameraXIMEA::getCameraList();
26
    ret.push_back(ximeacameras);
27
#endif
28
#ifdef WITH_CAMERAIDSIMAGING
29
    std::vector<CameraInfo> idscameras = CameraIDSImaging::getCameraList();
30
    ret.push_back(idscameras);
31
#endif
32
#ifdef WITH_CAMERAPOINTGREY
33
    std::vector<CameraInfo> ptgreycameras = CameraPointGrey::getCameraList();
34
    ret.push_back(ptgreycameras);
35
#endif
36
 
37
    return ret;
38
}
39
 
40
// Camera factory
41
Camera* Camera::NewCamera(unsigned int interfaceNum, unsigned int camNum){
42
 
43
    interfaceNum += 1;
44
 
45
#ifdef WITH_CAMERAIIDC
46
    interfaceNum -= 1;
47
    if(interfaceNum == 0)
48
        return new CameraIIDC(camNum);
49
#endif
50
#ifdef WITH_CAMERAXIMEA
51
    interfaceNum -= 1;
52
    if(interfaceNum == 0)
53
        return new CameraXIMEA(camNum);
54
#endif
55
#ifdef WITH_CAMERAIDSIMAGING
56
    interfaceNum -= 1;
57
    if(interfaceNum == 0)
58
        return new CameraIDSImaging(camNum);
59
#endif
60
#ifdef WITH_CAMERAPOINTGREY
61
    interfaceNum -= 1;
62
    if(interfaceNum == 0)
63
        return new CameraPointGrey(camNum);
64
#endif
65
 
66
    return (Camera*)NULL;
67
}