// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _MDF_Tool_HeaderFile
#define _MDF_Tool_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Handle_TDF_Data.hxx>
#include <Handle_PDF_Data.hxx>
#include <Handle_MDF_SRelocationTable.hxx>
#include <Handle_PColStd_HArray1OfInteger.hxx>
#include <Handle_PDF_HAttributeArray1.hxx>
#include <Standard_Integer.hxx>
#include <Handle_MDF_RRelocationTable.hxx>
class TDF_Data;
class PDF_Data;
class MDF_TypeASDriverMap;
class MDF_SRelocationTable;
class TDF_Label;
class PColStd_HArray1OfInteger;
class PDF_HAttributeArray1;
class MDF_TypeARDriverMap;
class MDF_RRelocationTable;


//! A tool to translate...
class MDF_Tool 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! Writes the labels with empty attributes.
  Standard_EXPORT static   void WriteLabels (const Handle(TDF_Data)& aSource, const Handle(PDF_Data)& aTarget, const MDF_TypeASDriverMap& aDriverMap, const Handle(MDF_SRelocationTable)& aReloc) ;
  
  //! Used for recursivity.
  Standard_EXPORT static   void WriteLabels (const TDF_Label& aSourceLab, const Handle(PColStd_HArray1OfInteger)& theLabels, const Handle(PDF_HAttributeArray1)& theAttributes, const MDF_TypeASDriverMap& aDriverMap, const Handle(MDF_SRelocationTable)& aReloc, Standard_Integer& labAlloc, Standard_Integer& attAlloc) ;
  
  //! Writes attributes content.
  Standard_EXPORT static   void WriteAttributes (const MDF_TypeASDriverMap& aDriverMap, const Handle(MDF_SRelocationTable)& aReloc) ;
  
  //! Reads the labels abd adds empty attributes to them.
  Standard_EXPORT static   void ReadLabels (const Handle(PDF_Data)& aSource, const Handle(TDF_Data)& aTarget, const MDF_TypeARDriverMap& aDriverMap, const Handle(MDF_RRelocationTable)& aReloc) ;
  
  //! Used for recursivity.
  Standard_EXPORT static   void ReadLabels (TDF_Label& anIns, const Handle(PColStd_HArray1OfInteger)& theLabels, const Handle(PDF_HAttributeArray1)& theAttributes, const MDF_TypeARDriverMap& aDriverMap, const Handle(MDF_RRelocationTable)& aReloc, Standard_Integer& labRead, Standard_Integer& attRead) ;
  
  //! Reads attributes content and paste them.
  Standard_EXPORT static   void ReadAttributes (const MDF_TypeARDriverMap& aDriverMap, const Handle(MDF_RRelocationTable)& aReloc) ;




protected:





private:





};







#endif // _MDF_Tool_HeaderFile
