// 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 _STEPEdit_HeaderFile
#define _STEPEdit_HeaderFile

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

#include <Handle_Interface_Protocol.hxx>
#include <Handle_StepData_StepModel.hxx>
#include <Handle_IFSelect_Signature.hxx>
#include <Handle_IFSelect_SelectSignature.hxx>
class Interface_Protocol;
class StepData_StepModel;
class IFSelect_Signature;
class IFSelect_SelectSignature;
class STEPEdit_EditContext;
class STEPEdit_EditSDR;


//! Provides tools to exploit and edit a set of STEP data :
//! editors, selections ..
class STEPEdit 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! Returns a Protocol fit for STEP (creates the first time)
  Standard_EXPORT static   Handle(Interface_Protocol) Protocol() ;
  
  //! Returns a new empty StepModel fit for STEP
  //! i.e. with its header determined from Protocol
  Standard_EXPORT static   Handle(StepData_StepModel) NewModel() ;
  
  //! Returns a SignType fit for STEP (creates the first time)
  Standard_EXPORT static   Handle(IFSelect_Signature) SignType() ;
  
  //! Creates a Selection for ShapeDefinitionRepresentation
  //! By default searches among root entities
  Standard_EXPORT static   Handle(IFSelect_SelectSignature) NewSelectSDR() ;
  
  //! Creates a Selection for Placed Items, i.e. MappedItem or
  //! ContextDependentShapeRepresentation, which itself refers to a
  //! RepresentationRelationship with possible subtypes (Shape...
  //! and/or ...WithTransformation)
  //! By default in the whole StepModel
  Standard_EXPORT static   Handle(IFSelect_SelectSignature) NewSelectPlacedItem() ;
  
  //! Creates a Selection for ShapeRepresentation and its sub-types,
  //! plus ContextDependentShapeRepresentation (which is not a
  //! sub-type of ShapeRepresentation)
  //! By default in the whole StepModel
  Standard_EXPORT static   Handle(IFSelect_SelectSignature) NewSelectShapeRepr() ;




protected:





private:




friend class STEPEdit_EditContext;
friend class STEPEdit_EditSDR;

};







#endif // _STEPEdit_HeaderFile
