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

	Imp.h

	Copyright (c)1990 - 1999 MetaCreations. All rights reserved.

	Author:	Pierre-E & Mael

	Date:	7/13/99

	Revision History

	when		who			what & why
	=========== ===========	=============================================================

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

#ifndef __Imp__
#define __Imp__

#include "ImpDef.h"
#include "APITypes.h"
#include "COMUtilities.h"
#include "I3DShGroup.h"
#include "I3DShScene.h"
#include "I3DShObject.h"
#include "I3DShTreeElement.h"
#include "MCCompObj.h"
#include "MCBasicTypes.h"

#include "Basic3DImportExport.h"
#include "BasicCOMExtImplementations.h"
#include "BasicEnvironment.h"

struct IShFileStream;
struct I3DShScene;
struct I3DShTreeElement;
struct I3DShObject;

extern const MCGUID CLSID_Imp;


struct I3DShMasterGroup;

#define kEasyMaxLineChar 20
typedef char EasyString[kEasyMaxLineChar];

class Imp : public TBasic3DImportFilter 
{
public:
	STANDARD_RELEASE;

	Imp();

	virtual int32			MCCOMAPI	GetParamsBufferSize		() const	{ return 0;}
	virtual MCCOMErr	MCCOMAPI DoImport(IMCFile * file, I3DShScene* scene, I3DShTreeElement* fatherTree);	


protected:
	void DoReadEasyFile(TMCfstream* stream, I3DShScene* scene, I3DShTreeElement* topTree);

	I3DShMasterGroup*		fMasterGroup;	
};

#endif