_UsbChunkData.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  1. //-----------------------------------------------------------------------------
  2. // Copyright (c) 2004-2021 Basler AG
  3. // Section: Vision Components
  4. // Project: GenApi
  5. //-----------------------------------------------------------------------------
  6. /*!
  7. \file
  8. \brief Basler USB3Vision camera interface
  9. */
  10. //-----------------------------------------------------------------------------
  11. // This file is generated automatically
  12. // Do not modify!
  13. //-----------------------------------------------------------------------------
  14. #ifndef Basler_UsbChunkData_PARAMS_H
  15. #define Basler_UsbChunkData_PARAMS_H
  16. #include <GenApi/IEnumerationT.h>
  17. #include <GenApi/NodeMapRef.h>
  18. #include <GenApi/DLLLoad.h>
  19. // common node types
  20. #include <GenApi/IBoolean.h>
  21. #include <GenApi/ICategory.h>
  22. #include <GenApi/ICommand.h>
  23. #include <GenApi/IEnumeration.h>
  24. #include <GenApi/IEnumEntry.h>
  25. #include <GenApi/IFloat.h>
  26. #include <GenApi/IInteger.h>
  27. #include <GenApi/IString.h>
  28. #include <GenApi/IRegister.h>
  29. #ifdef __GNUC__
  30. # undef GCC_VERSION
  31. # define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
  32. # undef GCC_DIAGNOSTIC_AWARE
  33. # define GCC_DIAGNOSTIC_AWARE (GCC_VERSION >= 40200)
  34. # undef GCC_DIAGNOSTIC_PUSH_POP_AWARE
  35. # define GCC_DIAGNOSTIC_PUSH_POP_AWARE (GCC_VERSION >= 40600)
  36. #else
  37. # undef GCC_DIAGNOSTIC_AWARE
  38. # define GCC_DIAGNOSTIC_AWARE 0
  39. #endif
  40. #ifdef __GNUC__
  41. // GCC_DIAGNOSTIC_AWARE ensures that the internal deprecated warnings can be ignored by gcc.
  42. // As a result older gcc will not generate warnings about really used deprecated features.
  43. # if GCC_DIAGNOSTIC_AWARE
  44. # define GENAPI_DEPRECATED_FEATURE __attribute__((deprecated))
  45. # else
  46. # define GENAPI_DEPRECATED_FEATURE
  47. # endif
  48. #elif defined(_MSC_VER)
  49. # define GENAPI_DEPRECATED_FEATURE __declspec(deprecated)
  50. #else
  51. # define GENAPI_DEPRECATED_FEATURE
  52. #endif
  53. #if GCC_DIAGNOSTIC_AWARE
  54. # if GCC_DIAGNOSTIC_PUSH_POP_AWARE
  55. # pragma GCC diagnostic push
  56. # endif
  57. # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
  58. #endif
  59. //! The namespace containing the device's control interface and related enumeration types
  60. namespace Basler_UsbChunkData
  61. {
  62. //**************************************************************************************************
  63. // Enumerations
  64. //**************************************************************************************************
  65. //! Valid values for ChunkGainSelector
  66. enum ChunkGainSelectorEnums
  67. {
  68. ChunkGainSelector_All //!<Chunk data can be retrieved from all gain channels.
  69. };
  70. //! Valid values for ChunkCounterSelector
  71. enum ChunkCounterSelectorEnums
  72. {
  73. ChunkCounterSelector_Counter1, //!<Chunk data can be retrieved from counter 1.
  74. ChunkCounterSelector_Counter2 //!<Chunk data can be retrieved from counter 2.
  75. };
  76. //**************************************************************************************************
  77. // Parameter class
  78. //**************************************************************************************************
  79. //! Basler USB3Vision camera interface
  80. class CUsbChunkData_Params
  81. {
  82. //----------------------------------------------------------------------------------------------------------------
  83. // Implementation
  84. //----------------------------------------------------------------------------------------------------------------
  85. protected:
  86. // If you want to show the following methods in the help file
  87. // add the string HIDE_CLASS_METHODS to the ENABLED_SECTIONS tag in the doxygen file
  88. //! \cond HIDE_CLASS_METHODS
  89. //! Constructor
  90. CUsbChunkData_Params( void );
  91. //! Destructor
  92. ~CUsbChunkData_Params( void );
  93. //! Initializes the references
  94. void _Initialize( GENAPI_NAMESPACE::INodeMap* );
  95. //! Return the vendor of the camera
  96. const char* _GetVendorName( void );
  97. //! Returns the camera model name
  98. const char* _GetModelName( void );
  99. //! \endcond
  100. //----------------------------------------------------------------------------------------------------------------
  101. // References to features
  102. //----------------------------------------------------------------------------------------------------------------
  103. public:
  104. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  105. //@{
  106. /*!
  107. \brief Sets which gain channel to retrieve chunk data from. Applies to: ace
  108. Sets which gain channel to retrieve chunk data from.
  109. \b Visibility = Expert
  110. */
  111. GENAPI_NAMESPACE::IEnumerationT<ChunkGainSelectorEnums >& ChunkGainSelector;
  112. //@}
  113. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  114. //@{
  115. /*!
  116. \brief Gain used to acquire the image. Applies to: ace
  117. Gain used to acquire the image.
  118. \b Visibility = Beginner
  119. \b Selected by : ChunkGainSelector
  120. */
  121. GENAPI_NAMESPACE::IFloat& ChunkGain;
  122. //@}
  123. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  124. //@{
  125. /*!
  126. \brief Exposure time used to acquire the image. Applies to: ace
  127. Exposure time used to acquire the image.
  128. \b Visibility = Beginner
  129. */
  130. GENAPI_NAMESPACE::IFloat& ChunkExposureTime;
  131. //@}
  132. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  133. //@{
  134. /*!
  135. \brief Value of the timestamp when the image was acquired. Applies to: ace
  136. Value of the timestamp when the image was acquired.
  137. \b Visibility = Beginner
  138. */
  139. GENAPI_NAMESPACE::IInteger& ChunkTimestamp;
  140. //@}
  141. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  142. //@{
  143. /*!
  144. \brief A bit field that indicates the status of all of the camera's input and output lines when the image was acquired. Applies to: ace
  145. A bit field that indicates the status of all of the camera's input and output lines when the image was acquired
  146. \b Visibility = Beginner
  147. */
  148. GENAPI_NAMESPACE::IInteger& ChunkLineStatusAll;
  149. //@}
  150. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  151. //@{
  152. /*!
  153. \brief Sets which counter to retrieve chunk data from. Applies to: ace
  154. Sets which counter to retrieve chunk data from.
  155. \b Visibility = Expert
  156. */
  157. GENAPI_NAMESPACE::IEnumerationT<ChunkCounterSelectorEnums >& ChunkCounterSelector;
  158. //@}
  159. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  160. //@{
  161. /*!
  162. \brief Value of the selected chunk counter. Applies to: ace
  163. Value of the selected chunk counter.
  164. \b Visibility = Beginner
  165. \b Selected by : ChunkCounterSelector
  166. */
  167. GENAPI_NAMESPACE::IInteger& ChunkCounterValue;
  168. //@}
  169. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  170. //@{
  171. /*!
  172. \brief Index of the active sequencer set. Applies to: ace
  173. Index of the active sequencer set.
  174. \b Visibility = Beginner
  175. */
  176. GENAPI_NAMESPACE::IInteger& ChunkSequencerSetActive;
  177. //@}
  178. //! \name ChunkData - Contains parameters to append chunk data to the image data.
  179. //@{
  180. /*!
  181. \brief CRC checksum of the acquired image. Applies to: ace
  182. CRC checksum of the acquired image. The checksum is calculated using all of the image data and all of the appended chunks except for the checksum itself.
  183. \b Visibility = Beginner
  184. */
  185. GENAPI_NAMESPACE::IInteger& ChunkPayloadCRC16;
  186. //@}
  187. private:
  188. //! \cond HIDE_CLASS_METHODS
  189. //! not implemented copy constructor
  190. CUsbChunkData_Params( CUsbChunkData_Params& );
  191. //! not implemented assignment operator
  192. CUsbChunkData_Params& operator=( CUsbChunkData_Params& );
  193. //! \endcond
  194. };
  195. //**************************************************************************************************
  196. // Parameter class implementation
  197. //**************************************************************************************************
  198. //! \cond HIDE_CLASS_METHODS
  199. inline CUsbChunkData_Params::CUsbChunkData_Params( void )
  200. : ChunkGainSelector( *new GENAPI_NAMESPACE::CEnumerationTRef<ChunkGainSelectorEnums>() )
  201. , ChunkGain( *new GENAPI_NAMESPACE::CFloatRef() )
  202. , ChunkExposureTime( *new GENAPI_NAMESPACE::CFloatRef() )
  203. , ChunkTimestamp( *new GENAPI_NAMESPACE::CIntegerRef() )
  204. , ChunkLineStatusAll( *new GENAPI_NAMESPACE::CIntegerRef() )
  205. , ChunkCounterSelector( *new GENAPI_NAMESPACE::CEnumerationTRef<ChunkCounterSelectorEnums>() )
  206. , ChunkCounterValue( *new GENAPI_NAMESPACE::CIntegerRef() )
  207. , ChunkSequencerSetActive( *new GENAPI_NAMESPACE::CIntegerRef() )
  208. , ChunkPayloadCRC16( *new GENAPI_NAMESPACE::CIntegerRef() )
  209. {
  210. }
  211. inline CUsbChunkData_Params::~CUsbChunkData_Params( void )
  212. {
  213. delete static_cast <GENAPI_NAMESPACE::CEnumerationTRef<ChunkGainSelectorEnums>*> (&ChunkGainSelector);
  214. delete static_cast <GENAPI_NAMESPACE::CFloatRef*> (&ChunkGain);
  215. delete static_cast <GENAPI_NAMESPACE::CFloatRef*> (&ChunkExposureTime);
  216. delete static_cast <GENAPI_NAMESPACE::CIntegerRef*> (&ChunkTimestamp);
  217. delete static_cast <GENAPI_NAMESPACE::CIntegerRef*> (&ChunkLineStatusAll);
  218. delete static_cast <GENAPI_NAMESPACE::CEnumerationTRef<ChunkCounterSelectorEnums>*> (&ChunkCounterSelector);
  219. delete static_cast <GENAPI_NAMESPACE::CIntegerRef*> (&ChunkCounterValue);
  220. delete static_cast <GENAPI_NAMESPACE::CIntegerRef*> (&ChunkSequencerSetActive);
  221. delete static_cast <GENAPI_NAMESPACE::CIntegerRef*> (&ChunkPayloadCRC16);
  222. }
  223. inline void CUsbChunkData_Params::_Initialize( GENAPI_NAMESPACE::INodeMap* _Ptr )
  224. {
  225. static_cast<GENAPI_NAMESPACE::CEnumerationTRef<ChunkGainSelectorEnums>*> (&ChunkGainSelector)->SetReference( _Ptr->GetNode( "ChunkGainSelector" ) );
  226. static_cast<GENAPI_NAMESPACE::CEnumerationTRef<ChunkGainSelectorEnums>*> (&ChunkGainSelector)->SetNumEnums( 1 );
  227. static_cast<GENAPI_NAMESPACE::CEnumerationTRef<ChunkGainSelectorEnums>*> (&ChunkGainSelector)->SetEnumReference( ChunkGainSelector_All, "All" ); static_cast<GENAPI_NAMESPACE::CFloatRef*> (&ChunkGain)->SetReference( _Ptr->GetNode( "ChunkGain" ) );
  228. static_cast<GENAPI_NAMESPACE::CFloatRef*> (&ChunkExposureTime)->SetReference( _Ptr->GetNode( "ChunkExposureTime" ) );
  229. static_cast<GENAPI_NAMESPACE::CIntegerRef*> (&ChunkTimestamp)->SetReference( _Ptr->GetNode( "ChunkTimestamp" ) );
  230. static_cast<GENAPI_NAMESPACE::CIntegerRef*> (&ChunkLineStatusAll)->SetReference( _Ptr->GetNode( "ChunkLineStatusAll" ) );
  231. static_cast<GENAPI_NAMESPACE::CEnumerationTRef<ChunkCounterSelectorEnums>*> (&ChunkCounterSelector)->SetReference( _Ptr->GetNode( "ChunkCounterSelector" ) );
  232. static_cast<GENAPI_NAMESPACE::CEnumerationTRef<ChunkCounterSelectorEnums>*> (&ChunkCounterSelector)->SetNumEnums( 2 );
  233. static_cast<GENAPI_NAMESPACE::CEnumerationTRef<ChunkCounterSelectorEnums>*> (&ChunkCounterSelector)->SetEnumReference( ChunkCounterSelector_Counter1, "Counter1" ); static_cast<GENAPI_NAMESPACE::CEnumerationTRef<ChunkCounterSelectorEnums>*> (&ChunkCounterSelector)->SetEnumReference( ChunkCounterSelector_Counter2, "Counter2" ); static_cast<GENAPI_NAMESPACE::CIntegerRef*> (&ChunkCounterValue)->SetReference( _Ptr->GetNode( "ChunkCounterValue" ) );
  234. static_cast<GENAPI_NAMESPACE::CIntegerRef*> (&ChunkSequencerSetActive)->SetReference( _Ptr->GetNode( "ChunkSequencerSetActive" ) );
  235. static_cast<GENAPI_NAMESPACE::CIntegerRef*> (&ChunkPayloadCRC16)->SetReference( _Ptr->GetNode( "ChunkPayloadCRC16" ) );
  236. }
  237. inline const char* CUsbChunkData_Params::_GetVendorName( void )
  238. {
  239. return "Basler";
  240. }
  241. inline const char* CUsbChunkData_Params::_GetModelName( void )
  242. {
  243. return "UsbChunkData";
  244. }
  245. //! \endcond
  246. } // namespace Basler_UsbChunkData
  247. #if GCC_DIAGNOSTIC_AWARE
  248. # if GCC_DIAGNOSTIC_PUSH_POP_AWARE
  249. # pragma GCC diagnostic pop
  250. # else
  251. # pragma GCC diagnostic warning "-Wdeprecated-declarations"
  252. # endif
  253. #endif
  254. #undef GENAPI_DEPRECATED_FEATURE
  255. #endif // Basler_UsbChunkData_PARAMS_H