File: BOPDS_PaveBlock.hxx

package info (click to toggle)
oce 0.18.2-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 301,460 kB
  • sloc: cpp: 1,190,610; ansic: 67,225; sh: 11,667; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 344; xml: 292; perl: 37
file content (219 lines) | stat: -rw-r--r-- 5,689 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BOPDS_PaveBlock_HeaderFile
#define _BOPDS_PaveBlock_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_BOPDS_PaveBlock.hxx>

#include <BOPCol_BaseAllocator.hxx>
#include <Standard_Integer.hxx>
#include <BOPDS_Pave.hxx>
#include <BOPDS_ListOfPave.hxx>
#include <Standard_Real.hxx>
#include <Bnd_Box.hxx>
#include <BOPCol_MapOfInteger.hxx>
#include <MMgt_TShared.hxx>
#include <Standard_Boolean.hxx>
#include <BOPDS_ListOfPaveBlock.hxx>
class BOPDS_Pave;
class Bnd_Box;



//! The class BOPDS_PaveBlock is to store
//! the information about pave block on an edge.
//! Two adjacent paves on edge make up pave block.
class BOPDS_PaveBlock : public MMgt_TShared
{

public:

  

  //! Empty contructor
  Standard_EXPORT BOPDS_PaveBlock();
  

  //! Contructor
  //! <theAllocator> - the allocator to manage the memory
  Standard_EXPORT BOPDS_PaveBlock(const BOPCol_BaseAllocator& theAllocator);
  

  //! Modifier
  //! Sets the first pave <thePave>
  Standard_EXPORT   void SetPave1 (const BOPDS_Pave& thePave) ;
  

  //! Selector
  //! Returns the first pave
  Standard_EXPORT  const  BOPDS_Pave& Pave1()  const;
  

  //! Modifier
  //! Sets the second pave <thePave>
  Standard_EXPORT   void SetPave2 (const BOPDS_Pave& thePave) ;
  

  //! Selector
  //! Returns the second pave
  Standard_EXPORT  const  BOPDS_Pave& Pave2()  const;
  

  //! Modifier
  //! Sets the index of edge of pave block <theEdge>
  Standard_EXPORT   void SetEdge (const Standard_Integer theEdge) ;
  

  //! Selector
  //! Returns the index of edge of pave block
  Standard_EXPORT   Standard_Integer Edge()  const;
  

  //! Query
  //! Returns true if the pave block has edge
  Standard_EXPORT   Standard_Boolean HasEdge()  const;
  

  //! Query
  //! Returns true if the pave block has edge
  //! Returns the index of edge <theEdge>
  Standard_EXPORT   Standard_Boolean HasEdge (Standard_Integer& theEdge)  const;
  

  //! Modifier
  //! Sets the index of original edge
  //! of the pave block <theEdge>
  Standard_EXPORT   void SetOriginalEdge (const Standard_Integer theEdge) ;
  

  //! Selector
  //! Returns the index of original edge of pave block
  Standard_EXPORT   Standard_Integer OriginalEdge()  const;
  

  //! Query
  //! Returns true if the edge is equal to the original edge
  //! of the pave block
  Standard_EXPORT   Standard_Boolean IsSplitEdge()  const;
  

  //! Selector
  //! Returns the parametric range <theT1,theT2>
  //! of the pave block
  Standard_EXPORT   void Range (Standard_Real& theT1, Standard_Real& theT2)  const;
  

  //! Query
  //! Returns true if the pave block has pave indices
  //! that equal to the  pave indices of the pave block
  //! <theOther>
  Standard_EXPORT   Standard_Boolean HasSameBounds (const Handle(BOPDS_PaveBlock)& theOther)  const;
  

  //! Selector
  //! Returns the pave indices  <theIndex1,theIndex2>
  //! of the pave block
  Standard_EXPORT   void Indices (Standard_Integer& theIndex1, Standard_Integer& theIndex2)  const;
  

  //! Query
  //! Returns true if the pave block contains extra paves
  Standard_EXPORT   Standard_Boolean IsToUpdate()  const;
  

  //! Modifier
  //! Appends extra paves <theLP>
  Standard_EXPORT   void AppendExtPave (const BOPDS_Pave& theLP) ;
  

  //! Modifier
  //! Appends extra pave <thePave>
  Standard_EXPORT   void AppendExtPave1 (const BOPDS_Pave& thePave) ;
  

  //! Selector
  //! Returns the  extra paves
  Standard_EXPORT  const  BOPDS_ListOfPave& ExtPaves()  const;
  

  //! Selector / Modifier
  //! Returns the extra paves
  Standard_EXPORT   BOPDS_ListOfPave& ChangeExtPaves() ;
  

  //! Modifier
  //! Updates the pave block. The extra paves are used
  //! to create new pave blocks <theLPB>.
  //! <theFlag> - if true, the first pave and the second
  //! pave are used to produce new pave blocks.
  Standard_EXPORT   void Update (BOPDS_ListOfPaveBlock& theLPB, const Standard_Boolean theFlag = Standard_True) ;
  

  //! Query
  //! Returns true if the extra paves contain the pave
  //! with given value of the parameter <thePrm>
  //! <theTol>  - the value of the tolerance to compare
  //! <theInd>  - index of the found pave
  Standard_EXPORT   Standard_Boolean ContainsParameter (const Standard_Real thePrm, const Standard_Real theTol, Standard_Integer& theInd)  const;
  

  //! Modifier
  //! Sets the shrunk data for the pave block
  //! <theTS1>,  <theTS2> - shrunk range
  //! <theBox> - the bounding box
  Standard_EXPORT   void SetShrunkData (const Standard_Real theTS1, const Standard_Real theTS2, const Bnd_Box& theBox) ;
  

  //! Selector
  //! Returns  the shrunk data for the pave block
  //! <theTS1>,  <theTS2> - shrunk range
  //! <theBox> - the bounding box
  Standard_EXPORT   void ShrunkData (Standard_Real& theTS1, Standard_Real& theTS2, Bnd_Box& theBox)  const;
  

  //! Query
  //! Returns true if the pave block contains
  //! the shrunk data
  Standard_EXPORT   Standard_Boolean HasShrunkData()  const;
  
  Standard_EXPORT   void Dump()  const;




  DEFINE_STANDARD_RTTI(BOPDS_PaveBlock)

protected:


  BOPCol_BaseAllocator myAllocator;
  Standard_Integer myEdge;
  Standard_Integer myOriginalEdge;
  BOPDS_Pave myPave1;
  BOPDS_Pave myPave2;
  BOPDS_ListOfPave myExtPaves;
  Standard_Real myTS1;
  Standard_Real myTS2;
  Bnd_Box myShrunkBox;
  BOPCol_MapOfInteger myMFence;


private: 




};







#endif // _BOPDS_PaveBlock_HeaderFile