#pragma once
|
|
#include "CHCameraControls/CameraControl.h"
|
#include <pylon/PylonIncludes.h>
|
#include <pylon/gige/BaslerGigEInstantCamera.h>
|
#include <pylon/gige/PylonGigEIncludes.h>
|
|
using namespace Pylon;
|
typedef Pylon::CBaslerGigEInstantCamera Camera_t;
|
|
class AFX_EXT_CLASS CCameraControl_Pylon : public CCameraControl,
|
public CImageEventHandler,
|
public CConfigurationEventHandler
|
{
|
public:
|
CCameraControl_Pylon(int nViewIndex=-1);
|
virtual ~CCameraControl_Pylon(void);
|
|
// camera control
|
virtual int Connect(const CCameraControlInfo& controlInfo);
|
virtual int Grab();
|
virtual int Snap();
|
virtual int Snap(int nCount);
|
virtual int Snap(int nCount, UINT nWaitTime);
|
virtual int Freeze();
|
virtual int Abort();
|
virtual int Disconnect();
|
|
|
virtual BOOL SetExposureTime(double dValue);
|
virtual BOOL GetExposureTime(double& dValue);
|
virtual BOOL SetExposureAuto(BOOL bAuto);
|
virtual BOOL SetFrameRate(double dRate) { return TRUE; }
|
|
virtual void SetTriggerMode(int nMode, int nCount=1);
|
|
virtual BOOL GetConnected() const;
|
virtual BOOL GetGrabbing() const;
|
|
protected:
|
void ImageCallbackFunc(const CGrabResultPtr& ptrGrabResult);
|
static void SetHeartbeatTimeout(UINT nTimeout);
|
virtual void OnImageGrabbed(CInstantCamera& camera, const CGrabResultPtr& ptrGrabResult);
|
|
protected:
|
int m_nSnapFrameCount;
|
Camera_t* m_pCamera;
|
CImageFormatConverter m_Converter;
|
};
|