0028786: Refactoring of the Warning/Error reporting system of Boolean Operations...
[occt.git] / src / BOPAlgo / BOPAlgo_Section.hxx
CommitLineData
42cf5bc1 1// Created by: Peter KURNEV
2// Copyright (c) 1999-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 _BOPAlgo_Section_HeaderFile
16#define _BOPAlgo_Section_HeaderFile
17
18#include <Standard.hxx>
19#include <Standard_DefineAlloc.hxx>
20#include <Standard_Handle.hxx>
21
22#include <BOPAlgo_Builder.hxx>
23#include <BOPCol_BaseAllocator.hxx>
24#include <TopTools_ListOfShape.hxx>
25class BOPAlgo_PaveFiller;
26class TopoDS_Shape;
27
28
29
45b9409a 30//! The algorithm to build a Section between the arguments.
42cf5bc1 31//! The Section consists of vertices and edges.
32//! The Section contains:
33//! 1. new vertices that are subjects of V/V, E/E, E/F, F/F interferences
34//! 2. vertices that are subjects of V/E, V/F interferences
35//! 3. new edges that are subjects of F/F interferences
36//! 4. edges that are Common Blocks
37class BOPAlgo_Section : public BOPAlgo_Builder
38{
39public:
40
41 DEFINE_STANDARD_ALLOC
42
42cf5bc1 43 //! Empty constructor
44 Standard_EXPORT BOPAlgo_Section();
33ba8565 45 Standard_EXPORT virtual ~BOPAlgo_Section();
42cf5bc1 46
47 //! Empty constructor
48 //!
49 //! protected methods
50 Standard_EXPORT BOPAlgo_Section(const BOPCol_BaseAllocator& theAllocator);
51
52 Standard_EXPORT virtual void BuildSection();
53
54 //! Returns the list of shapes generated from the
55 //! shape theS.
56 Standard_EXPORT virtual const TopTools_ListOfShape& Generated (const TopoDS_Shape& theS) Standard_OVERRIDE;
57
58
42cf5bc1 59protected:
60
42cf5bc1 61 Standard_EXPORT virtual void CheckData() Standard_OVERRIDE;
62
63 //! Performs calculations using prepared Filler
64 //! object <thePF>
65 Standard_EXPORT virtual void PerformInternal1 (const BOPAlgo_PaveFiller& thePF) Standard_OVERRIDE;
66
42cf5bc1 67private:
68
42cf5bc1 69};
70
42cf5bc1 71#endif // _BOPAlgo_Section_HeaderFile