0028599: Replacement of old Boolean operations with new ones in BRepProj_Projection...
[occt.git] / src / BOPAlgo / BOPAlgo_SectionAttribute.hxx
CommitLineData
42cf5bc1 1// Created on: 2002-03-04
2// Created by: Michael KLOKOV
3// Copyright (c) 2002-2014 OPEN CASCADE SAS
4//
5// This file is part of Open CASCADE Technology software library.
6//
7// This library is free software; you can redistribute it and/or modify it under
8// the terms of the GNU Lesser General Public License version 2.1 as published
9// by the Free Software Foundation, with special exception defined in the file
10// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11// distribution for complete text of the license and disclaimer of any warranty.
12//
13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
15
16#ifndef _BOPAlgo_SectionAttribute_HeaderFile
17#define _BOPAlgo_SectionAttribute_HeaderFile
18
42cf5bc1 19#include <Standard_Boolean.hxx>
20
03cca6f7 21//! Class is a container of the flags used
42cf5bc1 22//! by intersection algorithm
03cca6f7 23class BOPAlgo_SectionAttribute
42cf5bc1 24{
25public:
26
03cca6f7 27 //! Default constructor
28 BOPAlgo_SectionAttribute()
29 : myApproximation(Standard_True),
30 myPCurve1(Standard_True),
31 myPCurve2(Standard_True) {}
32
33 //! Constructor
34 BOPAlgo_SectionAttribute(const Standard_Boolean theAproximation,
35 const Standard_Boolean thePCurveOnS1,
36 const Standard_Boolean thePCurveOnS2)
37 : myApproximation(theAproximation),
38 myPCurve1(thePCurveOnS1),
39 myPCurve2(thePCurveOnS2) {}
40
41 //! Sets the Approximation flag
42 void Approximation(const Standard_Boolean theApprox)
43 {
44 myApproximation = theApprox;
45 }
46
47 //! Sets the PCurveOnS1 flag
48 void PCurveOnS1(const Standard_Boolean thePCurveOnS1)
49 {
50 myPCurve1 = thePCurveOnS1;
51 }
52
53 //! Sets the PCurveOnS2 flag
54 void PCurveOnS2(const Standard_Boolean thePCurveOnS2)
55 {
56 myPCurve2 = thePCurveOnS2;
57 }
58
59 //! Returns the Approximation flag
60 Standard_Boolean Approximation() const
61 {
62 return myApproximation;
63 }
64
65 //! Returns the PCurveOnS1 flag
66 Standard_Boolean PCurveOnS1() const
67 {
68 return myPCurve1;
69 }
70
71 //! Returns the PCurveOnS2 flag
72 Standard_Boolean PCurveOnS2() const
73 {
74 return myPCurve2;
75 }
42cf5bc1 76
77protected:
78
42cf5bc1 79private:
80
42cf5bc1 81 Standard_Boolean myApproximation;
82 Standard_Boolean myPCurve1;
83 Standard_Boolean myPCurve2;
84
42cf5bc1 85};
86
42cf5bc1 87#endif // _BOPAlgo_SectionAttribute_HeaderFile