0024428: Implementation of LGPL license
[occt.git] / src / BOPDS / BOPDS_ShapeInfo.lxx
CommitLineData
4e57c75e 1// Created by: Peter KURNEV
973c2be1 2// Copyright (c) 1999-2014 OPEN CASCADE SAS
4e57c75e 3//
973c2be1 4// This file is part of Open CASCADE Technology software library.
4e57c75e 5//
973c2be1 6// This library is free software; you can redistribute it and / or modify it
7// under the terms of the GNU Lesser General Public 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.
4e57c75e 11//
973c2be1 12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
4e57c75e 14
15//=======================================================================
16//function :
17//purpose :
18//=======================================================================
19 inline BOPDS_ShapeInfo::BOPDS_ShapeInfo()
20:
21
22 myType(TopAbs_SHAPE),
23 myReference(-1),
24 myFlag(-1)
25{
26}
27//=======================================================================
28//function :
29//purpose :
30//=======================================================================
31 inline BOPDS_ShapeInfo::BOPDS_ShapeInfo(const Handle(NCollection_BaseAllocator)& theAllocator)
32:
4e57c75e 33 myType(TopAbs_SHAPE),
258ff83b 34 mySubShapes(theAllocator),
4e57c75e 35 myReference(-1),
36 myFlag(-1)
37{
38}
39//=======================================================================
40//function : ~
41//purpose :
42//=======================================================================
43 inline BOPDS_ShapeInfo::~BOPDS_ShapeInfo()
44{
45}
46//=======================================================================
47//function : SetShape
48//purpose :
49//=======================================================================
50 inline void BOPDS_ShapeInfo::SetShape(const TopoDS_Shape& theS)
51{
52 myShape=theS;
53}
54//=======================================================================
55//function : Shape
56//purpose :
57//=======================================================================
58 inline const TopoDS_Shape& BOPDS_ShapeInfo::Shape()const
59{
60 return myShape;
61}
62//=======================================================================
63//function : SetShapeType
64//purpose :
65//=======================================================================
66 inline void BOPDS_ShapeInfo::SetShapeType(const TopAbs_ShapeEnum theType)
67{
68 myType=theType;
69}
70//=======================================================================
71//function : ShapeType
72//purpose :
73//=======================================================================
74 inline TopAbs_ShapeEnum BOPDS_ShapeInfo::ShapeType()const
75{
76 return myType;
77}
78//=======================================================================
79//function : SetBox
80//purpose :
81//=======================================================================
82 inline void BOPDS_ShapeInfo::SetBox(const Bnd_Box& theBox)
83{
84 myBox=theBox;
85}
86//=======================================================================
87//function : Box
88//purpose :
89//=======================================================================
90 inline const Bnd_Box& BOPDS_ShapeInfo::Box()const
91{
92 return myBox;
93}
94//=======================================================================
95//function : ChangeBox
96//purpose :
97//=======================================================================
98 inline Bnd_Box& BOPDS_ShapeInfo::ChangeBox()
99{
100 return myBox;
101}
102
103//=======================================================================
104//function : SubShapes
105//purpose :
106//=======================================================================
107 inline const BOPCol_ListOfInteger& BOPDS_ShapeInfo::SubShapes()const
108{
109 return mySubShapes;
110}
111//=======================================================================
112//function : ChangeSubShapes
113//purpose :
114//=======================================================================
115 inline BOPCol_ListOfInteger& BOPDS_ShapeInfo::ChangeSubShapes()
116{
117 return mySubShapes;
118}
119//=======================================================================
120//function : HasSubShape
121//purpose :
122//=======================================================================
123 inline Standard_Boolean BOPDS_ShapeInfo::HasSubShape(const Standard_Integer theI)const
124{
125 Standard_Boolean bRet;
126 BOPCol_ListIteratorOfListOfInteger aIt;
127 //
128 bRet=Standard_False;
129 aIt.Initialize(mySubShapes);
130 for (; aIt.More(); aIt.Next()) {
131 bRet=(theI==aIt.Value());
132 if (bRet) {
133 return bRet;
134 }
135 }
136 return bRet;
137}
138//=======================================================================
139//function : HasReference
140//purpose :
141//=======================================================================
142 inline Standard_Boolean BOPDS_ShapeInfo::HasReference()const
143{
144 return (myReference>=0);
145}
146//=======================================================================
147//function : SetReference
148//purpose :
149//=======================================================================
150 inline void BOPDS_ShapeInfo::SetReference(const Standard_Integer theI)
151{
152 myReference=theI;
153}
154//=======================================================================
155//function : Reference
156//purpose :
157//=======================================================================
158 inline Standard_Integer BOPDS_ShapeInfo::Reference()const
159{
160 return myReference;
161}
162//=======================================================================
163//function : HasBRep
164//purpose :
165//=======================================================================
166 inline Standard_Boolean BOPDS_ShapeInfo::HasBRep()const
167{
168 return (myType==TopAbs_VERTEX ||
169 myType==TopAbs_EDGE ||
170 myType==TopAbs_FACE);
171}
172//=======================================================================
173//function : HasFlag
174//purpose :
175//=======================================================================
176 inline Standard_Boolean BOPDS_ShapeInfo::HasFlag()const
177{
178 return (myFlag>=0);
179}
180//=======================================================================
181//function : HasFlag
182//purpose :
183//=======================================================================
184 inline Standard_Boolean BOPDS_ShapeInfo::HasFlag(Standard_Integer& theFlag)const
185{
186 theFlag=myFlag;
187 return (myFlag>=0);
188}
189//=======================================================================
190//function : SetFlag
191//purpose :
192//=======================================================================
193 inline void BOPDS_ShapeInfo::SetFlag(const Standard_Integer theFlag)
194{
195 myFlag=theFlag;
196}
197//=======================================================================
198//function : Flag
199//purpose :
200//=======================================================================
201 inline Standard_Integer BOPDS_ShapeInfo::Flag()const
202{
203 return myFlag;
204}