1 // Created by: Peter KURNEV
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 // This file is part of Open CASCADE Technology software library.
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.
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
15 //=======================================================================
18 //=======================================================================
19 inline BOPDS_ShapeInfo::BOPDS_ShapeInfo()
27 //=======================================================================
30 //=======================================================================
31 inline BOPDS_ShapeInfo::BOPDS_ShapeInfo(const Handle(NCollection_BaseAllocator)& theAllocator)
34 mySubShapes(theAllocator),
39 //=======================================================================
42 //=======================================================================
43 inline BOPDS_ShapeInfo::~BOPDS_ShapeInfo()
46 //=======================================================================
49 //=======================================================================
50 inline void BOPDS_ShapeInfo::SetShape(const TopoDS_Shape& theS)
54 //=======================================================================
57 //=======================================================================
58 inline const TopoDS_Shape& BOPDS_ShapeInfo::Shape()const
62 //=======================================================================
63 //function : SetShapeType
65 //=======================================================================
66 inline void BOPDS_ShapeInfo::SetShapeType(const TopAbs_ShapeEnum theType)
70 //=======================================================================
71 //function : ShapeType
73 //=======================================================================
74 inline TopAbs_ShapeEnum BOPDS_ShapeInfo::ShapeType()const
78 //=======================================================================
81 //=======================================================================
82 inline void BOPDS_ShapeInfo::SetBox(const Bnd_Box& theBox)
86 //=======================================================================
89 //=======================================================================
90 inline const Bnd_Box& BOPDS_ShapeInfo::Box()const
94 //=======================================================================
95 //function : ChangeBox
97 //=======================================================================
98 inline Bnd_Box& BOPDS_ShapeInfo::ChangeBox()
103 //=======================================================================
104 //function : SubShapes
106 //=======================================================================
107 inline const BOPCol_ListOfInteger& BOPDS_ShapeInfo::SubShapes()const
111 //=======================================================================
112 //function : ChangeSubShapes
114 //=======================================================================
115 inline BOPCol_ListOfInteger& BOPDS_ShapeInfo::ChangeSubShapes()
119 //=======================================================================
120 //function : HasSubShape
122 //=======================================================================
123 inline Standard_Boolean BOPDS_ShapeInfo::HasSubShape(const Standard_Integer theI)const
125 Standard_Boolean bRet;
126 BOPCol_ListIteratorOfListOfInteger aIt;
129 aIt.Initialize(mySubShapes);
130 for (; aIt.More(); aIt.Next()) {
131 bRet=(theI==aIt.Value());
138 //=======================================================================
139 //function : HasReference
141 //=======================================================================
142 inline Standard_Boolean BOPDS_ShapeInfo::HasReference()const
144 return (myReference>=0);
146 //=======================================================================
147 //function : SetReference
149 //=======================================================================
150 inline void BOPDS_ShapeInfo::SetReference(const Standard_Integer theI)
154 //=======================================================================
155 //function : Reference
157 //=======================================================================
158 inline Standard_Integer BOPDS_ShapeInfo::Reference()const
162 //=======================================================================
165 //=======================================================================
166 inline Standard_Boolean BOPDS_ShapeInfo::HasBRep()const
168 return (myType==TopAbs_VERTEX ||
169 myType==TopAbs_EDGE ||
170 myType==TopAbs_FACE);
172 //=======================================================================
175 //=======================================================================
176 inline Standard_Boolean BOPDS_ShapeInfo::HasFlag()const
180 //=======================================================================
183 //=======================================================================
184 inline Standard_Boolean BOPDS_ShapeInfo::HasFlag(Standard_Integer& theFlag)const
189 //=======================================================================
192 //=======================================================================
193 inline void BOPDS_ShapeInfo::SetFlag(const Standard_Integer theFlag)
197 //=======================================================================
200 //=======================================================================
201 inline Standard_Integer BOPDS_ShapeInfo::Flag()const