/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2012 Raytrix GmbH. All rights reserved.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma once

#include "RxCore.h"
#include "RxString.h"

namespace Rx
{
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	/// <summary>
	/// 	Raytrix Main Lens description class.
	/// </summary>
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	class RXCORE_API CRxMainLens
	{
	public:

		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>
		/// 	Initializes a new instance of the CRxMainLens class.
		/// </summary>
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		CRxMainLens();

		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>
		/// 	Finalizes an instance of the CRxMainLens class.
		/// </summary>
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		virtual ~CRxMainLens();

		/// <summary>	The vendor of the main lens. E.g. "Canon", "Nikon". </summary>
		CRxString Vendor;
		/// <summary>	A string describing the type of the main lens. </summary>
		CRxString Type;
		/// <summary>	The comment. </summary>
		CRxString Comment;
		/// <summary>	Minimal focal length of the main lens in millimeters. </summary>
		double MinimalFocalLengthInMM;
		/// <summary>	Maximal focal length of the main lens in millimeters. </summary>
		double MaximalFocalLengthInMM;
		/// <summary>	Minimal aperture of the main lens. </summary>
		double MinimalAperture;
		/// <summary>	Maximal aperture of the main lens. </summary>
		double MaximalAperture;
	};
}

#pragma make_public(Rx::CRxMainLens)
