Commit | Line | Data |
---|---|---|

7fd59977 | 1 | -- File: BRepFill.cdl |

2 | -- Created: Thu Mar 3 10:02:58 1994 | |

3 | -- Author: Bruno DUMORTIER | |

4 | -- <dub@fuegox> | |

5 | -- Modified: Mon Nov 3 10:24:07 1997 | |

6 | -- Author: Joelle CHAUVET | |

7 | -- new class CurveConstraint | |

8 | -- Modified: Mon Jan 12 10:46:37 1998 | |

9 | -- Author: Joelle CHAUVET | |

10 | -- new method Organize | |

11 | -- Modified: Mon Feb 23 09:28:33 1998 | |

12 | -- Author: Joelle CHAUVET | |

13 | -- new methods SameNumber, ComputeACR, InsertACR | |

14 | -- for sections with different number of elements | |

15 | -- Modified: Thu Apr 30 15:27:04 1998 | |

16 | -- Author: Joelle CHAUVET | |

17 | -- <jct@sgi64> | |

18 | -- methods Organize and SameNumber are dispatched in | |

19 | -- new methods SearchOrigin and SameNumberByACR for open wires | |

20 | -- and SameNumberByPolarMethod and ComputeOrigin for closed wires | |

21 | -- Modified: Tue Nov 3 10:41:06 1998 | |

22 | -- Author: Joelle CHAUVET | |

23 | -- <jct@sgi64> | |

24 | -- add classe CompatibleWires | |

25 | ---Copyright: Matra Datavision 1994 | |

26 | ||

27 | ||

28 | package BRepFill | |

29 | ||

30 | ||

31 | uses | |

32 | MMgt, | |

33 | TCollection, | |

34 | TColStd, | |

35 | GeomAbs, | |

36 | gp, | |

37 | Bnd, | |

38 | TopLoc, | |

39 | TColgp, | |

40 | MAT, | |

41 | Geom2d, | |

42 | TColGeom2d, | |

43 | TopAbs, | |

44 | TopoDS, | |

45 | TopTools, | |

46 | Geom, | |

47 | TColGeom, | |

48 | Geom2dAdaptor, | |

49 | Approx, | |

50 | Bisector, | |

51 | BRep, | |

52 | BRepTools, | |

53 | BRepAlgo, | |

54 | BRepSweep, | |

55 | GeomFill, | |

56 | BRepMAT2d, | |

57 | StdFail, | |

58 | GeomPlate, | |

59 | Adaptor3d, | |

60 | Law, | |

61 | GeomLProp | |

62 | ||

63 | is | |

64 | enumeration TransitionStyle | |

65 | is Modified, Right, Round end; | |

66 | ||

67 | -- private class FilledPair; | |

68 | ---Purpose: A pair of bound shapes with the result. | |

69 | ||

70 | ||

71 | class Generator; | |

72 | ---Purpose: Compute a topological surface ( a shell) using | |

73 | -- generating wires. The face of the shell will be | |

74 | -- ruled surfaces through the wires. | |

75 | -- The wires must have the same number of edges. | |

76 | ||

77 | deferred class SectionLaw; | |

78 | class ShapeLaw; | |

79 | class NSections; | |

80 | ||

81 | class Draft; | |

82 | ||

83 | deferred class LocationLaw; | |

84 | class DraftLaw; | |

85 | class Edge3DLaw; | |

86 | class EdgeOnSurfLaw; | |

87 | class ACRLaw; | |

88 | ||

89 | class Pipe; | |

90 | ---Purpose: Computes a topological shape using a wire | |

91 | -- (spine) and a shape (profile). | |

92 | class PipeShell; | |

93 | ---Purpose: Computes a topological shell using some wires -- | |

94 | -- (spines and profiles) and diplacement option | |

95 | ||

96 | ||

97 | class Evolved; | |

98 | ---Purpose: Computes an evolved volum using a generating | |

99 | -- wire and a profile. | |

100 | ||

101 | class Sweep; | |

102 | ---Purpose: Computes an Sweep shell using a generating | |

103 | -- wire, an SectionLaw and an LocationLaw. | |

104 | ||

105 | ||

106 | class CompatibleWires; | |

107 | ---Purpose: Computes Wires with good orientation and origin in order | |

108 | -- to generate a shell not twisted. | |

109 | ||

110 | ||

111 | class OffsetWire; | |

112 | ---Purpose: Computes the offset of a Wire or the Wires contained | |

113 | -- in a Face. | |

114 | -- The Wire or the Face must be planar. | |

115 | ||

116 | class OffsetAncestors; | |

117 | ||

118 | ||

119 | class ListOfOffsetWire instantiates | |

120 | List from TCollection (OffsetWire from BRepFill); | |

121 | private class ApproxSeewing; | |

122 | ||

123 | private class MultiLine; | |

124 | ||

125 | private class MultiLineTool; | |

126 | ||

127 | private class ComputeCLine instantiates | |

128 | ComputeCLine from Approx ( MultiLine, MultiLineTool); | |

129 | ||

130 | ||

131 | private class TrimSurfaceTool; | |

132 | ---Purpose: Compute the Pcurves and the 3d curves resulting | |

133 | -- of the trimming of a face by an extruded surface. | |

134 | ||

135 | private class TrimEdgeTool; | |

136 | ---Purpose: Geometric Tool using to construct Offset Wires. | |

137 | ||

138 | private class SectionPlacement; | |

139 | ||

140 | private class Section; | |

141 | ||

142 | --class TrimCorner; | |

143 | ||

144 | --modified by NIZHNY-MKK Tue Oct 21 17:43:15 2003 | |

145 | class TrimShellCorner; | |

146 | ||

147 | private class SequenceOfSection instantiates | |

148 | Sequence from TCollection (Section); | |

149 | ||

150 | class DataMapOfNodeDataMapOfShapeShape instantiates | |

151 | DataMap from TCollection (Node from MAT, | |

152 | DataMapOfShapeShape from TopTools, MapTransientHasher from TColStd ); | |

153 | ||

154 | class DataMapOfNodeShape instantiates | |

155 | DataMap from TCollection (Node from MAT, | |

156 | Shape from TopoDS, | |

157 | MapTransientHasher from TColStd ); | |

158 | ||

159 | class DataMapOfShapeDataMapOfShapeListOfShape instantiates | |

160 | DataMap from TCollection (Shape from TopoDS, | |

161 | DataMapOfShapeListOfShape from TopTools, | |

162 | ShapeMapHasher from TopTools ); | |

163 | ||

164 | class DataMapOfShapeSequenceOfReal instantiates | |

165 | DataMap from TCollection (Shape from TopoDS, | |

166 | SequenceOfReal from TColStd, | |

167 | ShapeMapHasher from TopTools ); | |

168 | ||

169 | class DataMapOfShapeSequenceOfPnt instantiates | |

170 | DataMap from TCollection (Shape from TopoDS, | |

171 | SequenceOfPnt from TColgp, | |

172 | ShapeMapHasher from TopTools ); | |

173 | ||

174 | class DataMapOfOrientedShapeListOfShape instantiates | |

175 | DataMap from TCollection (Shape from TopoDS, | |

176 | ListOfShape from TopTools, | |

177 | OrientedShapeMapHasher from TopTools); | |

178 | ||

179 | class CurveConstraint ; | |

180 | ---Purpose: same as CurveConstraint from GeomPlate | |

181 | -- with BRepAdaptor_Surface instead of | |

182 | -- GeomAdaptor_Surface | |

183 | -- inherits CurveConstraint from GeomPlate | |

184 | ||

185 | class Filling; | |

186 | ---Purpose: N-Side Filling | |

187 | -- This algorithm avoids to build a face from: | |

188 | -- * a set of edges defining the bounds of the face and some | |

189 | -- constraints the surface of the face has to satisfy | |

190 | -- * a set of edges and points defining some constraints | |

191 | -- the support surface has to satisfy | |

192 | -- * an initial surface to deform for satisfying the constraints | |

193 | -- * a set of parameters to control the constraints. | |

194 | ||

195 | private class FaceAndOrder; | |

196 | ||

197 | private class EdgeFaceAndOrder; | |

198 | ||

199 | private class SequenceOfFaceAndOrder instantiates | |

200 | Sequence from TCollection (FaceAndOrder from BRepFill); | |

201 | ||

202 | private class SequenceOfEdgeFaceAndOrder instantiates | |

203 | Sequence from TCollection (EdgeFaceAndOrder from BRepFill); | |

204 | ||

205 | Face( Edge1 : Edge from TopoDS; | |

206 | Edge2 : Edge from TopoDS ) | |

207 | ---Purpose: Computes a ruled surface between two edges. | |

208 | returns Face from TopoDS; | |

209 | ||

210 | Shell( Wire1 : Wire from TopoDS; | |

211 | Wire2 : Wire from TopoDS ) | |

212 | ---Purpose: Computes a ruled surface between two wires. | |

213 | -- The wires must have the same number of edges. | |

214 | returns Shell from TopoDS; | |

215 | ||

216 | Axe (Spine : Shape from TopoDS; | |

217 | Profile : Wire from TopoDS; | |

218 | AxeProf : in out Ax3 from gp; | |

219 | ProfOnSpine : in out Boolean from Standard; | |

220 | Tol : Real from Standard); | |

221 | ---Purpose: Computes <AxeProf> as Follow. <Location> is | |

222 | -- the Position of the nearest vertex V of <Profile> | |

223 | -- to <Spine>.<XDirection> is confused with the tangent | |

224 | -- to <Spine> at the projected point of V on the Spine. | |

225 | -- <Direction> is normal to <Spine>. | |

226 | -- <Spine> is a plane wire or a plane face. | |

227 | ||

228 | -- <ProfOnSpine> is <False> if the distance | |

229 | -- between <Profile> and <Spine> is high to <Tol>. | |

230 | ||

231 | ||

232 | SearchOrigin( W : in out Wire from TopoDS; | |

233 | P : Pnt from gp; | |

234 | V : Vec from gp; | |

235 | Tol : Real) is private; | |

236 | ---Purpose: Computes origins and orientation on a closed wire | |

237 | ||

238 | ||

239 | ComputeACR( wire : Wire from TopoDS; | |

240 | ACR : out Array1OfReal from TColStd ); | |

241 | ---Purpose: Compute ACR on a wire | |

242 | ||

243 | InsertACR( wire : Wire from TopoDS; | |

244 | ACRcuts : Array1OfReal from TColStd; | |

245 | prec : Real from Standard ) | |

246 | ---Purpose: Insert ACR on a wire | |

247 | returns Wire from TopoDS; | |

248 | ||

249 | ||

250 | end BRepFill; | |

251 | ||

252 | ||

253 | ||

254 | ||

255 | ||

256 | ||

257 |