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

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

#include <TopoDS_Shape.hxx>
#include <Standard_Boolean.hxx>
#include <BRepCheck_DataMapOfShapeListOfStatus.hxx>
#include <BRepCheck_DataMapIteratorOfDataMapOfShapeListOfStatus.hxx>
#include <MMgt_TShared.hxx>
class Standard_NoSuchObject;
class TopoDS_Shape;
class BRepCheck_ListOfStatus;



class BRepCheck_Result : public MMgt_TShared
{

public:

  
  Standard_EXPORT   void Init (const TopoDS_Shape& S) ;
  
  Standard_EXPORT virtual   void InContext (const TopoDS_Shape& ContextShape)  = 0;
  
  Standard_EXPORT virtual   void Minimum()  = 0;
  
  Standard_EXPORT virtual   void Blind()  = 0;
  
  Standard_EXPORT   void SetFailStatus (const TopoDS_Shape& S) ;
  
     const  BRepCheck_ListOfStatus& Status()  const;
  
      Standard_Boolean IsMinimum()  const;
  
      Standard_Boolean IsBlind()  const;
  
  //! If  not  already   done,  performs the   InContext
  //! control and returns the list of status.
  Standard_EXPORT  const  BRepCheck_ListOfStatus& StatusOnShape (const TopoDS_Shape& S) ;
  
  Standard_EXPORT   void InitContextIterator() ;
  
      Standard_Boolean MoreShapeInContext()  const;
  
     const  TopoDS_Shape& ContextualShape()  const;
  
     const  BRepCheck_ListOfStatus& StatusOnShape()  const;
  
  Standard_EXPORT   void NextShapeInContext() ;




  DEFINE_STANDARD_RTTI(BRepCheck_Result)

protected:

  
  Standard_EXPORT BRepCheck_Result();

  TopoDS_Shape myShape;
  Standard_Boolean myMin;
  Standard_Boolean myBlind;
  BRepCheck_DataMapOfShapeListOfStatus myMap;


private: 


  BRepCheck_DataMapIteratorOfDataMapOfShapeListOfStatus myIter;


};


#include <BRepCheck_Result.lxx>





#endif // _BRepCheck_Result_HeaderFile
