4e57c75e |
1 | -- Created by: Peter KURNEV |
2 | -- Copyright (c) 1999-2012 OPEN CASCADE SAS |
3 | -- |
4 | -- The content of this file is subject to the Open CASCADE Technology Public |
5 | -- License Version 6.5 (the "License"). You may not use the content of this file |
6 | -- except in compliance with the License. Please obtain a copy of the License |
7 | -- at http://www.opencascade.org and read it completely before using this file. |
8 | -- |
9 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
10 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
11 | -- |
12 | -- The Original Code and all software distributed under the License is |
13 | -- distributed on an "AS IS" basis, without warranty of any kind, and the |
14 | -- Initial Developer hereby disclaims all such warranties, including without |
15 | -- limitation, any warranties of merchantability, fitness for a particular |
16 | -- purpose or non-infringement. Please see the License for the specific terms |
17 | -- and conditions governing the rights and limitations under the License. |
18 | |
19 | class PaveBlock from BOPDS |
20 | inherits TShared from MMgt |
21 | |
22 | ---Purpose: |
23 | -- The class BOPDS_PaveBlock is to store |
24 | -- the information about pave block on an edge. |
25 | -- Two adjacent paves on edge make up pave block. |
26 | |
27 | uses |
28 | Box from Bnd, |
29 | BaseAllocator from BOPCol, |
30 | MapOfInteger from BOPCol, |
31 | Pave from BOPDS, |
32 | ListOfPave from BOPDS, |
5a77460e |
33 | ListOfPaveBlock from BOPDS |
4e57c75e |
34 | |
35 | --raises |
36 | |
37 | is |
38 | Create |
39 | returns mutable PaveBlock from BOPDS; |
40 | ---Purpose: |
41 | --- Empty contructor |
42 | --- |
43 | Create (theAllocator: BaseAllocator from BOPCol) |
44 | returns mutable PaveBlock from BOPDS; |
45 | ---Purpose: |
46 | --- Contructor |
47 | --- <theAllocator> - the allocator to manage the memory |
48 | --- |
49 | |
50 | SetPave1(me:mutable; |
51 | thePave:Pave from BOPDS); |
52 | ---Purpose: |
53 | --- Modifier |
54 | --- Sets the first pave <thePave> |
55 | |
56 | Pave1(me) |
57 | returns Pave from BOPDS; |
58 | ---C++: return const & |
59 | ---Purpose: |
60 | --- Selector |
61 | --- Returns the first pave |
62 | |
63 | SetPave2(me:mutable; |
64 | thePave:Pave from BOPDS); |
65 | ---Purpose: |
66 | --- Modifier |
67 | --- Sets the second pave <thePave> |
68 | |
69 | Pave2(me) |
70 | returns Pave from BOPDS; |
71 | ---C++: return const & |
72 | ---Purpose: |
73 | --- Selector |
74 | --- Returns the second pave |
75 | |
76 | SetEdge(me:mutable; |
77 | theEdge:Integer from Standard); |
78 | ---Purpose: |
79 | --- Modifier |
80 | --- Sets the index of edge of pave block <theEdge> |
81 | Edge(me) |
82 | returns Integer from Standard; |
83 | ---Purpose: |
84 | --- Selector |
85 | --- Returns the index of edge of pave block |
86 | |
87 | HasEdge(me) |
88 | returns Boolean from Standard; |
89 | ---Purpose: |
90 | --- Query |
91 | --- Returns true if the pave block has edge |
92 | |
93 | HasEdge(me; |
94 | theEdge:out Integer from Standard) |
95 | returns Boolean from Standard; |
96 | ---Purpose: |
97 | --- Query |
98 | --- Returns true if the pave block has edge |
99 | --- Returns the index of edge <theEdge> |
100 | |
101 | SetOriginalEdge (me:mutable; |
102 | theEdge:Integer from Standard); |
103 | ---Purpose: |
104 | --- Modifier |
105 | --- Sets the index of original edge |
106 | --- of the pave block <theEdge> |
107 | |
108 | OriginalEdge(me) |
109 | returns Integer from Standard; |
110 | ---Purpose: |
111 | --- Selector |
112 | --- Returns the index of original edge of pave block |
113 | |
114 | IsSplitEdge(me) |
115 | returns Boolean from Standard; |
116 | ---Purpose: |
117 | --- Query |
118 | --- Returns true if the edge is equal to the original edge |
119 | --- of the pave block |
120 | |
121 | Range(me; |
122 | theT1:out Real from Standard; |
123 | theT2:out Real from Standard); |
124 | ---Purpose: |
125 | --- Selector |
126 | --- Returns the parametric range <theT1,theT2> |
127 | --- of the pave block |
128 | |
129 | HasSameBounds(me; |
130 | theOther: PaveBlock from BOPDS) |
131 | returns Boolean from Standard; |
132 | ---Purpose: |
133 | --- Query |
134 | --- Returns true if the pave block has pave indices |
135 | --- that equal to the pave indices of the pave block |
136 | --- <theOther> |
137 | |
138 | Indices(me; |
139 | theIndex1:out Integer from Standard; |
140 | theIndex2:out Integer from Standard); |
141 | ---Purpose: |
142 | --- Selector |
143 | --- Returns the pave indices <theIndex1,theIndex2> |
144 | --- of the pave block |
145 | |
146 | -- |
147 | -- extras |
148 | -- |
149 | IsToUpdate(me) |
150 | returns Boolean from Standard; |
151 | ---Purpose: |
152 | --- Query |
153 | --- Returns true if the pave block contains extra paves |
154 | |
155 | AppendExtPave(me:mutable; |
156 | theLP:Pave from BOPDS); |
157 | ---Purpose: |
158 | --- Modifier |
159 | --- Appends extra paves <theLP> |
160 | |
161 | AppendExtPave1(me:mutable; |
162 | thePave:Pave from BOPDS); |
163 | ---Purpose: |
164 | --- Modifier |
165 | --- Appends extra pave <thePave> |
166 | |
167 | ExtPaves(me) |
168 | returns ListOfPave from BOPDS; |
169 | ---C++: return const & |
170 | ---Purpose: |
171 | --- Selector |
172 | --- Returns the extra paves |
173 | |
174 | ChangeExtPaves(me:mutable) |
175 | returns ListOfPave from BOPDS; |
176 | ---C++: return & |
177 | ---Purpose: |
178 | --- Selector / Modifier |
179 | --- Returns the extra paves |
180 | |
181 | Update(me:mutable; |
182 | theLPB : out ListOfPaveBlock from BOPDS; |
183 | theFlag : Boolean from Standard=Standard_True); |
184 | ---Purpose: |
185 | --- Modifier |
186 | --- Updates the pave block. The extra paves are used |
187 | --- to create new pave blocks <theLPB>. |
188 | --- <theFlag> - if true, the first pave and the second |
189 | --- pave are used to produce new pave blocks. |
190 | |
191 | ContainsParameter(me; |
192 | thePrm:Real from Standard; |
193 | theTol:Real from Standard) |
194 | returns Boolean from Standard; |
195 | ---Purpose: |
196 | --- Query |
197 | --- Returns true if the extra paves contain the pave |
198 | --- with given value of the parameter <thePrm> |
199 | --- <theTol> - the value of the tolerance to compare |
5a77460e |
200 | |
4e57c75e |
201 | -- |
202 | -- shrunk data |
203 | -- |
204 | SetShrunkData(me:mutable; |
205 | theTS1:Real from Standard; |
206 | theTS2:Real from Standard; |
207 | theBox:Box from Bnd); |
208 | ---Purpose: |
209 | --- Modifier |
210 | --- Sets the shrunk data for the pave block |
211 | --- <theTS1>, <theTS2> - shrunk range |
212 | --- <theBox> - the bounding box |
213 | |
214 | ShrunkData(me; |
215 | theTS1:out Real from Standard; |
216 | theTS2:out Real from Standard; |
217 | theBox:out Box from Bnd); |
218 | ---Purpose: |
219 | --- Selector |
220 | --- Returns the shrunk data for the pave block |
221 | --- <theTS1>, <theTS2> - shrunk range |
222 | --- <theBox> - the bounding box |
223 | |
224 | HasShrunkData(me) |
225 | returns Boolean from Standard; |
226 | ---Purpose: |
227 | --- Query |
228 | --- Returns true if the pave block contains |
229 | --- the shrunk data |
230 | |
231 | Dump(me); |
232 | |
233 | |
234 | fields |
235 | --general |
236 | myAllocator : BaseAllocator from BOPCol is protected; |
237 | myEdge : Integer from Standard is protected; |
238 | myOriginalEdge : Integer from Standard is protected; |
239 | myPave1 : Pave from BOPDS is protected; |
240 | myPave2 : Pave from BOPDS is protected; |
241 | --extras |
242 | myExtPaves : ListOfPave from BOPDS is protected; |
4e57c75e |
243 | --shrunk data |
244 | myTS1 : Real from Standard is protected; |
245 | myTS2 : Real from Standard is protected; |
246 | myShrunkBox : Box from Bnd is protected; |
247 | --dummies |
4e57c75e |
248 | myMFence : MapOfInteger from BOPCol is protected; |
249 | |
250 | end PaveBlock; |
251 | |