/****************************************************************************************

		LightConeControl.h

		Copyright: (c) 2001 Eovia Corp. All rights reserved.

		Author:	Lionel
		Date:	10/14/04

		Revision History


*****************************************************************************************/


#ifndef __LightConeControl__
#define __LightConeControl__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "BasicDataComponent.h"
#include "lcPMAP.h"


// ***********************************************************************
//				TLightConeControl PMAP
// ***********************************************************************

struct LightConeControlPMAP
{
	boolean			fEnable;   // use light cone on this light or not

	LightConeInfo	fLightConeInfo;
};

// ***********************************************************************
//						class   TLightConeControl
// ***********************************************************************


class TLightConeControl : public TBasicDataComponent
{
public:
	TLightConeControl();
	~TLightConeControl();
	
	// IUnknown methods
	STANDARD_RELEASE;

	// IExDataExchanger methods
	virtual void*    MCCOMAPI GetExtensionDataBuffer();
	virtual int32	 MCCOMAPI GetParamsBufferSize		() const	{ return sizeof(fPmap);}

	boolean  MCCOMAPI IsActive(I3DShTreeElement *tree);
	void	 MCCOMAPI GetVolumetricList(TMCArray<IDType>& idArray);

	static const MCGUID			sClassId;

protected:
	LightConeControlPMAP		fPmap;
};

#endif