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

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

		Author:	pascalc
		Date:	11/3/2005

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

#ifndef __INeedAllInstances__
#define __INeedAllInstances__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "COMTypes.h"
#include "MCClassArray.h"

//****** Globally Unique Ids *************************************************
MCDEFINE_GUID_H(IID_INeedAllInstances);

struct INeedAllInstances : public IMCUnknown
{
	// ****************************************************************************
	//								IsInstanciated
	// 
	/// is called when a new instance is created
	/// 
	/// \param instance      the instance that is created (can exist already with generator for example)
	/// \param transform     the global transform in the instanciator coordinates
	/// \param id            a unique id of this instanciation with this instanciator
	/// \param instanciator  the object that is instanciating
	/// 
	virtual void	MCCOMAPI IsInstanciated(I3DShInstance* instance, const TTransform3D& transform, uint32 id, IMCUnknown* instanciator) = 0;
};

#endif
