PylonCameraLinkCamera.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //-----------------------------------------------------------------------------
  2. // Basler pylon SDK
  3. // Copyright (c) 2007-2021 Basler AG
  4. // http://www.baslerweb.com
  5. //-----------------------------------------------------------------------------
  6. /*!
  7. \file
  8. \brief Low Level API: Generic pylon CameraLink camera interface
  9. */
  10. #ifndef PYLON_CAMERALINK_CAMERA_H
  11. #define PYLON_CAMERALINK_CAMERA_H
  12. #if _MSC_VER > 1000
  13. #pragma once
  14. #endif //_MSC_VER > 1000
  15. #include <pylon/Platform.h>
  16. #ifdef _MSC_VER
  17. # pragma pack(push, PYLON_PACKING)
  18. #endif /* _MSC_VER */
  19. #include "../DeviceClass.h"
  20. #include "../NodeMapProxy.h"
  21. #include "../StreamGrabberProxy.h"
  22. #include "../EventGrabberProxy.h"
  23. #include "../PylonDeviceProxy.h"
  24. namespace Pylon
  25. {
  26. //**************************************************************************************************
  27. //! Low Level API: pylon CameraLink cameras doesn't support TL Params.
  28. /**
  29. \see \ref configuringcameras
  30. \ingroup Pylon_LowLevelApi
  31. */
  32. //**************************************************************************************************
  33. //PYLON_DEFINE_NODEMAP(CPylonCameraLinkTLParams, CNodeMapProxyT<>);
  34. typedef void CPylonCameraLinkTLParams;
  35. //**************************************************************************************************
  36. //! Low Level API: pylon CameraLink cameras doesn't support stream grabber related methods and parameters.
  37. /**
  38. \see \ref configuringcameras
  39. \ingroup Pylon_LowLevelApi
  40. */
  41. //**************************************************************************************************
  42. //PYLON_DEFINE_STREAMGRABBER(CPylonCameraLinkStreamGrabber, CStreamGrabberProxyT<>);
  43. typedef void CPylonCameraLinkStreamGrabber;
  44. //**************************************************************************************************
  45. //! Low Level API: pylon CameraLink cameras doesn't support event grabber related methods and parameters.
  46. /**
  47. \see \ref configuringcameras
  48. \ingroup Pylon_LowLevelApi
  49. */
  50. //**************************************************************************************************
  51. //PYLON_DEFINE_EVENTGRABBER(CPylonCameraLinkEventGrabber, CEventGrabberProxyT<>);
  52. typedef void CPylonCameraLinkEventGrabber;
  53. //**************************************************************************************************
  54. //! Low Level API: The camera class for pylon CameraLink camera devices
  55. /**
  56. This is the base class for pylon CameraLink cameras providing access to camera parameters.
  57. \see \ref configuringcameras
  58. \tparam TCameraParams The camera specific parameter class (auto generated from camera xml file)
  59. \ingroup Pylon_LowLevelApi
  60. \deprecated This class is deprecated in pylon 6.0. Please consider using CBaslerUniversalInstantCamera instead.
  61. */
  62. //**************************************************************************************************
  63. template<class TCameraParams>
  64. class CPylonCameraLinkCameraT : public CPylonDeviceProxyT<TCameraParams>
  65. {
  66. public:
  67. typedef void DeviceInfo_t;
  68. typedef Pylon::CPylonCameraLinkTLParams TlParams_t; //!< \copybrief Pylon::CPylonCameraLinkTLParams
  69. typedef Pylon::CPylonCameraLinkStreamGrabber StreamGrabber_t; //!< \copybrief Pylon::CPylonCameraLinkStreamGrabber
  70. typedef Pylon::CPylonCameraLinkEventGrabber EventGrabber_t; //!< \copybrief Pylon::CPylonCameraLinkEventGrabber
  71. //! The name of this device class, use this for enumeration
  72. static String_t DeviceClass()
  73. {
  74. return BaslerCameraLinkDeviceClass;
  75. }
  76. public:
  77. //! \name Construction
  78. // \{
  79. /** \brief \copybrief Pylon::CPylonDeviceProxyT::CPylonDeviceProxyT()
  80. \copydetails Pylon::CPylonDeviceProxyT::CPylonDeviceProxyT()
  81. */
  82. CPylonCameraLinkCameraT()
  83. {
  84. };
  85. /** \brief \copybrief Pylon::CPylonDeviceProxyT::CPylonDeviceProxyT(IPylonDevice*,bool)
  86. \copydetails Pylon::CPylonDeviceProxyT::CPylonDeviceProxyT(IPylonDevice*,bool)
  87. */
  88. CPylonCameraLinkCameraT( IPylonDevice* pDevice, bool takeOwnership = true )
  89. : CPylonDeviceProxyT<TCameraParams>( pDevice, takeOwnership )
  90. {
  91. }
  92. /** \brief \copybrief Pylon::CPylonDeviceProxyT::~CPylonDeviceProxyT()
  93. \copydetails Pylon::CPylonDeviceProxyT::~CPylonDeviceProxyT()
  94. */
  95. virtual ~CPylonCameraLinkCameraT()
  96. {
  97. }
  98. //\}
  99. };
  100. } // namespace Pylon
  101. #ifdef _MSC_VER
  102. # pragma pack(pop)
  103. #endif /* _MSC_VER */
  104. #endif // PYLON_CAMERALINK_CAMERA_H