/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>
/// 	Values that represent runtime features.
/// </summary>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifdef RX_MANAGED_ENUM

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>
/// 	Values that represent runtime features.
/// </summary>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	enum class ERuntimeFeature
#else
	namespace ERuntimeFeature
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>
		/// 	\copybrief Rx::Dongle::ERuntimeFeature
		/// </summary>
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		enum ID
#endif
{
	/// <summary> No feature. </summary>
	None =                              0,
	/// <summary> Test whether a dongle is present. Check with RxHasFeature(). </summary>
	Standard =                          0x00000001,
	/// <summary> Not used anymore (Former Multiview feature). </summary>
	Depricated1 =                       0x00000002,
	/// <summary> Not used anymore (Former Focus on surface). </summary>
	Depricated2 =                       0x00000004,
	/// <summary> Not used anymore (Former Calculate 3D depth). </summary>
	Depricated3 =                       0x00000008,
	/// <summary> Calibration. All functions that modify the calibration of a light field or a Raytrix camera are only available if this feature is enabled. </summary>
	Calibrate =                         0x00000010,
	/// <summary> SDK feature. This feature must be enabled to allow SDK usage. </summary>
	SDK =                               0x00000020,
	/// <summary> Save images. All functions that save a light field image are only available if this feature is enabled. </summary>
	Save =                              0x00000040,
	/// <summary> Distributor demo. </summary>
	DistributorDemo =                   0x00000080,
	/// <summary> Flow feature. All functions that a required for evaluating optical flow. </summary>
	Flow =                              0x00000100,
	/// <summary> Metric Calibration feature. </summary>
	MetricCalibration =                 0x00000200,
	/// <summary> RxLive feature </summary>
	RxLive =                            0x00000400,
	/// <summary> Double Shot feature, required for PIV Shots. </summary>
	DoubleShotMode =                    0x00000800,
	/// <summary> Master feature.	</summary>
	Master =                            0x00010000,
	/// <summary> Super resolution feature.	</summary>
	SuperResolution =                   0x00020000,
	/// <summary> High resolution particle detector feature.	</summary>
	HighResolutionParticleDetector =    0x00040000,
	/// <summary> Halcon feature. </summary>
	Halcon =                            0x01000000,
};
#ifndef RX_MANAGED_ENUM
	}	// namespace
#endif
