0025748: Parallel version of progress indicator
[occt.git] / src / BRepAlgoAPI / BRepAlgoAPI_Algo.hxx
CommitLineData
42cf5bc1 1// Created by: Peter KURNEV
2// Copyright (c) 2014 OPEN CASCADE SAS
3//
4// This file is part of Open CASCADE Technology software library.
5//
6// This library is free software; you can redistribute it and/or modify it under
7// the terms of the GNU Lesser General Public License version 2.1 as published
8// by the Free Software Foundation, with special exception defined in the file
9// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10// distribution for complete text of the license and disclaimer of any warranty.
11//
12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
14
15#ifndef _BRepAlgoAPI_Algo_HeaderFile
16#define _BRepAlgoAPI_Algo_HeaderFile
17
18#include <Standard.hxx>
19#include <Standard_DefineAlloc.hxx>
20#include <Standard_Handle.hxx>
21
1155d05a 22#include <NCollection_BaseAllocator.hxx>
42cf5bc1 23#include <Standard_Integer.hxx>
24#include <Standard_Boolean.hxx>
25#include <BRepBuilderAPI_MakeShape.hxx>
33ba8565 26#include <BOPAlgo_Options.hxx>
42cf5bc1 27
7e785937 28class TopoDS_Shape;
42cf5bc1 29
33ba8565 30//! Provides the root interface for the API algorithms
31
32class BRepAlgoAPI_Algo : public BRepBuilderAPI_MakeShape,
33 protected BOPAlgo_Options
42cf5bc1 34{
35public:
36
37 DEFINE_STANDARD_ALLOC
38
ecac41a9 39 Standard_EXPORT virtual const TopoDS_Shape& Shape() Standard_OVERRIDE;
42cf5bc1 40
33ba8565 41 // Provide access to methods of protected base class BOPAlgo_Options
42 // (inherited as protected to avoid problems with SWIG wrapper)
43 using BOPAlgo_Options::Clear;
44 using BOPAlgo_Options::SetRunParallel;
45 using BOPAlgo_Options::RunParallel;
46 using BOPAlgo_Options::SetFuzzyValue;
47 using BOPAlgo_Options::FuzzyValue;
48 using BOPAlgo_Options::HasErrors;
49 using BOPAlgo_Options::HasWarnings;
50 using BOPAlgo_Options::HasError;
51 using BOPAlgo_Options::HasWarning;
52 using BOPAlgo_Options::DumpErrors;
53 using BOPAlgo_Options::DumpWarnings;
54 using BOPAlgo_Options::ClearWarnings;
55 using BOPAlgo_Options::GetReport;
56 using BOPAlgo_Options::SetProgressIndicator;
944768d2 57 using BOPAlgo_Options::SetUseOBB;
42cf5bc1 58
59protected:
60
42cf5bc1 61 //! Empty constructor
62 Standard_EXPORT BRepAlgoAPI_Algo();
42cf5bc1 63
33ba8565 64 //! Destructor
65 Standard_EXPORT virtual ~BRepAlgoAPI_Algo();
42cf5bc1 66
33ba8565 67 //! Empty constructor
1155d05a 68 Standard_EXPORT BRepAlgoAPI_Algo(const Handle(NCollection_BaseAllocator)& theAllocator);
42cf5bc1 69
70private:
71
42cf5bc1 72};
73
42cf5bc1 74#endif // _BRepAlgoAPI_Algo_HeaderFile