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

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

		Author:	pascalc
		Date:	11/8/2005

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

#ifndef __I3DExMultiModelerManager__
#define __I3DExMultiModelerManager__

//****** Globally Unique Ids *************************************************

MCDEFINE_GUID_H(IID_IMultiModelerManager);

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

#if CP_PRAGMA_ONCE
#pragma once
#endif

struct IMultiModelerManager : public IMCUnknown
{
	// ****************************************************************************
	//								ConvertToOtherModeler
	// 
	/// Call this function to ask for convert to other modeler dialog
	/// 
	/// \param sourceModule  the module of the primitive to convert
	/// 
	virtual void MCCOMAPI ConvertToOtherModeler(I3DShModule* sourceModule) = 0;
	// ****************************************************************************
	//								ResolveMasterAmbiguity
	// 
	/// Resolve possible master editing ambiguity
	/// 
	/// \param treeElement The element to be edited.
    /// \return true iff no problem exists after a possible solution (flase if the user canceled the dialog and there was a problem).
	/// 
    virtual boolean MCCOMAPI ResolveMasterAmbiguity(I3DShTreeElement* treeElement) = 0;
};

#endif
