Subversion Repositories seema-scanner

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#pragma once
#pragma warning(disable:4996)
#ifndef CAMERAIDSIMAGING_H
#define CAMERAIDSIMAGING_H

// IDS specific type
#ifdef WIN32
    typedef unsigned long HIDS;
    typedef void * HANDLE;
#else
    typedef unsigned int HIDS;
#endif

#include "Camera.h"

class CameraIDSImaging : public Camera {
    public:
        // Static methods
        static std::vector<CameraInfo> getCameraList();
        // Interface function
        CameraIDSImaging(unsigned int camNum);
        CameraSettings getCameraSettings();
        void setCameraSettings(CameraSettings);
        void startCapture();
        void stopCapture();
        CameraFrame lockFrame();
        void unlockFrame();
        CameraFrame getSingleFrame();
        size_t getFrameSizeBytes();
        void getFrameWidthHeight(unsigned int *width, unsigned int *height);
        ~CameraIDSImaging();
    private:
        HIDS camera;
        unsigned int frameWidth, frameHeight;
        char* frameMemory; // 10 char pointers
        int memoryID;
        #ifdef WIN32
            HANDLE hEvent;
        #endif
};

#endif