0028187: Add possibility to avoid creation of Internal parts in the result of Volume...
[occt.git] / src / BOPAlgo / BOPAlgo_MakerVolume.lxx
CommitLineData
92ae0f2f 1// Created by: Eugeny MALTCHIKOV
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//=======================================================================
16//function : BOPAlgo_MakerVolume
17//purpose :
18//=======================================================================
19inline BOPAlgo_MakerVolume::BOPAlgo_MakerVolume()
20:
21 BOPAlgo_Builder(),
291fced1 22 myIntersect(Standard_True),
23 myAvoidInternalShapes(Standard_False)
92ae0f2f 24{
25}
26
27//=======================================================================
28//function : BOPAlgo_MakerVolume
29//purpose :
30//=======================================================================
31inline BOPAlgo_MakerVolume::BOPAlgo_MakerVolume
32 (const Handle(NCollection_BaseAllocator)& theAllocator)
33:
34 BOPAlgo_Builder(theAllocator),
291fced1 35 myIntersect(Standard_True),
36 myAvoidInternalShapes(Standard_False)
92ae0f2f 37{
38}
39
40//=======================================================================
41//function : ~BOPAlgo_MakerVolume
42//purpose :
43//=======================================================================
44inline BOPAlgo_MakerVolume::~BOPAlgo_MakerVolume()
45{
46 Clear();
47}
48
49//=======================================================================
50//function : Clear
51//purpose :
52//=======================================================================
53inline void BOPAlgo_MakerVolume::Clear()
54{
55 BOPAlgo_Builder::Clear();
56 myIntersect = Standard_True;
57 myBBox = Bnd_Box();
58 mySBox.Nullify();
59 myFaces.Clear();
291fced1 60 myAvoidInternalShapes = Standard_False;
92ae0f2f 61}
62
63//=======================================================================
64//function : SetIntersect
65//purpose :
66//=======================================================================
67inline void BOPAlgo_MakerVolume::SetIntersect(const Standard_Boolean bIntersect)
68{
69 myIntersect = bIntersect;
70}
71
72//=======================================================================
73//function : IsIntersect
74//purpose :
75//=======================================================================
76inline Standard_Boolean BOPAlgo_MakerVolume::IsIntersect()const
77{
78 return myIntersect;
79}
80
81//=======================================================================
82//function : Box
83//purpose :
84//=======================================================================
85inline const TopoDS_Solid& BOPAlgo_MakerVolume::Box()const
86{
87 return mySBox;
88}
89
90//=======================================================================
91//function : Faces
92//purpose :
93//=======================================================================
94inline const BOPCol_ListOfShape& BOPAlgo_MakerVolume::Faces()const
95{
96 return myFaces;
97}