0024428: Implementation of LGPL license
[occt.git] / src / BOPDS / BOPDS_PaveBlock.cdl
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
15class PaveBlock from BOPDS
16 inherits TShared from MMgt
17
18---Purpose:
19-- The class BOPDS_PaveBlock is to store
20-- the information about pave block on an edge.
21-- Two adjacent paves on edge make up pave block.
22
23uses
24 Box from Bnd,
25 BaseAllocator from BOPCol,
26 MapOfInteger from BOPCol,
27 Pave from BOPDS,
28 ListOfPave from BOPDS,
5a77460e 29 ListOfPaveBlock from BOPDS
4e57c75e 30
31--raises
32
33is
34 Create
35 returns mutable PaveBlock from BOPDS;
36 ---Purpose:
37 --- Empty contructor
38 ---
39 Create (theAllocator: BaseAllocator from BOPCol)
40 returns mutable PaveBlock from BOPDS;
41 ---Purpose:
42 --- Contructor
43 --- <theAllocator> - the allocator to manage the memory
44 ---
45
46 SetPave1(me:mutable;
47 thePave:Pave from BOPDS);
48 ---Purpose:
49 --- Modifier
50 --- Sets the first pave <thePave>
51
52 Pave1(me)
53 returns Pave from BOPDS;
54 ---C++: return const &
55 ---Purpose:
56 --- Selector
57 --- Returns the first pave
58
59 SetPave2(me:mutable;
60 thePave:Pave from BOPDS);
61 ---Purpose:
62 --- Modifier
63 --- Sets the second pave <thePave>
64
65 Pave2(me)
66 returns Pave from BOPDS;
67 ---C++: return const &
68 ---Purpose:
69 --- Selector
70 --- Returns the second pave
71
72 SetEdge(me:mutable;
73 theEdge:Integer from Standard);
74 ---Purpose:
75 --- Modifier
76 --- Sets the index of edge of pave block <theEdge>
77 Edge(me)
78 returns Integer from Standard;
79 ---Purpose:
80 --- Selector
81 --- Returns the index of edge of pave block
82
83 HasEdge(me)
84 returns Boolean from Standard;
85 ---Purpose:
86 --- Query
87 --- Returns true if the pave block has edge
88
89 HasEdge(me;
90 theEdge:out Integer from Standard)
91 returns Boolean from Standard;
92 ---Purpose:
93 --- Query
94 --- Returns true if the pave block has edge
95 --- Returns the index of edge <theEdge>
96
97 SetOriginalEdge (me:mutable;
98 theEdge:Integer from Standard);
99 ---Purpose:
100 --- Modifier
101 --- Sets the index of original edge
102 --- of the pave block <theEdge>
103
104 OriginalEdge(me)
105 returns Integer from Standard;
106 ---Purpose:
107 --- Selector
108 --- Returns the index of original edge of pave block
109
110 IsSplitEdge(me)
111 returns Boolean from Standard;
112 ---Purpose:
113 --- Query
114 --- Returns true if the edge is equal to the original edge
115 --- of the pave block
116
117 Range(me;
118 theT1:out Real from Standard;
119 theT2:out Real from Standard);
120 ---Purpose:
121 --- Selector
122 --- Returns the parametric range <theT1,theT2>
123 --- of the pave block
124
125 HasSameBounds(me;
126 theOther: PaveBlock from BOPDS)
127 returns Boolean from Standard;
128 ---Purpose:
129 --- Query
130 --- Returns true if the pave block has pave indices
131 --- that equal to the pave indices of the pave block
132 --- <theOther>
133
134 Indices(me;
135 theIndex1:out Integer from Standard;
136 theIndex2:out Integer from Standard);
137 ---Purpose:
138 --- Selector
139 --- Returns the pave indices <theIndex1,theIndex2>
140 --- of the pave block
141
142 --
143 -- extras
144 --
145 IsToUpdate(me)
146 returns Boolean from Standard;
147 ---Purpose:
148 --- Query
149 --- Returns true if the pave block contains extra paves
150
151 AppendExtPave(me:mutable;
152 theLP:Pave from BOPDS);
153 ---Purpose:
154 --- Modifier
155 --- Appends extra paves <theLP>
156
157 AppendExtPave1(me:mutable;
158 thePave:Pave from BOPDS);
159 ---Purpose:
160 --- Modifier
161 --- Appends extra pave <thePave>
162
163 ExtPaves(me)
164 returns ListOfPave from BOPDS;
165 ---C++: return const &
166 ---Purpose:
167 --- Selector
168 --- Returns the extra paves
169
170 ChangeExtPaves(me:mutable)
171 returns ListOfPave from BOPDS;
172 ---C++: return &
173 ---Purpose:
174 --- Selector / Modifier
175 --- Returns the extra paves
176
177 Update(me:mutable;
178 theLPB : out ListOfPaveBlock from BOPDS;
179 theFlag : Boolean from Standard=Standard_True);
180 ---Purpose:
181 --- Modifier
182 --- Updates the pave block. The extra paves are used
183 --- to create new pave blocks <theLPB>.
184 --- <theFlag> - if true, the first pave and the second
185 --- pave are used to produce new pave blocks.
186
187 ContainsParameter(me;
188 thePrm:Real from Standard;
189 theTol:Real from Standard)
190 returns Boolean from Standard;
191 ---Purpose:
192 --- Query
193 --- Returns true if the extra paves contain the pave
194 --- with given value of the parameter <thePrm>
195 --- <theTol> - the value of the tolerance to compare
5a77460e 196
4e57c75e 197 --
198 -- shrunk data
199 --
200 SetShrunkData(me:mutable;
201 theTS1:Real from Standard;
202 theTS2:Real from Standard;
203 theBox:Box from Bnd);
204 ---Purpose:
205 --- Modifier
206 --- Sets the shrunk data for the pave block
207 --- <theTS1>, <theTS2> - shrunk range
208 --- <theBox> - the bounding box
209
210 ShrunkData(me;
211 theTS1:out Real from Standard;
212 theTS2:out Real from Standard;
213 theBox:out Box from Bnd);
214 ---Purpose:
215 --- Selector
216 --- Returns the shrunk data for the pave block
217 --- <theTS1>, <theTS2> - shrunk range
218 --- <theBox> - the bounding box
219
220 HasShrunkData(me)
221 returns Boolean from Standard;
222 ---Purpose:
223 --- Query
224 --- Returns true if the pave block contains
225 --- the shrunk data
226
227 Dump(me);
228
229
230fields
231 --general
232 myAllocator : BaseAllocator from BOPCol is protected;
233 myEdge : Integer from Standard is protected;
234 myOriginalEdge : Integer from Standard is protected;
235 myPave1 : Pave from BOPDS is protected;
236 myPave2 : Pave from BOPDS is protected;
237 --extras
238 myExtPaves : ListOfPave from BOPDS is protected;
4e57c75e 239 --shrunk data
240 myTS1 : Real from Standard is protected;
241 myTS2 : Real from Standard is protected;
242 myShrunkBox : Box from Bnd is protected;
243 --dummies
4e57c75e 244 myMFence : MapOfInteger from BOPCol is protected;
245
246end PaveBlock;
247