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

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_IFSelect_SelectModelRoots.hxx>

#include <IFSelect_SelectBase.hxx>
class Interface_EntityIterator;
class Interface_Graph;
class TCollection_AsciiString;


//! A SelectModelRoots gets all the Root Entities of an
//! InterfaceModel. Remember that a "Root Entity" is defined as
//! having no Sharing Entity (if there is a Loop between Entities,
//! none of them can be a "Root").
class IFSelect_SelectModelRoots : public IFSelect_SelectBase
{

public:

  
  //! Creates a SelectModelRoot
  Standard_EXPORT IFSelect_SelectModelRoots();
  
  //! Returns the list of selected entities : the Roots of the Model
  //! (note that this result assures naturally uniqueness)
  Standard_EXPORT   Interface_EntityIterator RootResult (const Interface_Graph& G)  const;
  
  //! Returns a text defining the criterium : "Model Roots"
  Standard_EXPORT   TCollection_AsciiString Label()  const;




  DEFINE_STANDARD_RTTI(IFSelect_SelectModelRoots)

protected:




private: 




};







#endif // _IFSelect_SelectModelRoots_HeaderFile
