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

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

2 | -- Created: Thu Mar 24 12:02:07 1994 | |

3 | -- Author: model | |

4 | -- <model@topsn2> | |

5 | ---Copyright: Matra Datavision 1994 | |

6 | ||

7 | ||

8 | class TopolTool from Adaptor3d | |

9 | ||

10 | ---Purpose: This class provides a default topological tool, | |

11 | -- based on the Umin,Vmin,Umax,Vmax of an HSurface | |

12 | -- from Adaptor3d. | |

13 | -- All methods and fields may be redefined when | |

14 | -- inheriting from this class. | |

15 | -- This class is used to instantiate algorithmes | |

16 | -- as Intersection, outlines,... | |

17 | ||

18 | ||

19 | inherits TShared from MMgt | |

20 | ||

21 | uses HSurface from Adaptor3d, | |

22 | HCurve2d from Adaptor2d, | |

23 | HVertex from Adaptor3d, | |

24 | HLine2d from Adaptor2d, | |

25 | Pnt2d from gp, | |

26 | Pnt from gp, | |

27 | State from TopAbs, | |

28 | Orientation from TopAbs, | |

29 | HArray1OfReal from TColStd, | |

30 | Array1OfReal from TColStd | |

31 | ||

32 | raises DomainError from Standard | |

33 | ||

34 | is | |

35 | ||

36 | Create | |

37 | ||

38 | returns mutable TopolTool from Adaptor3d; | |

39 | ||

40 | ||

41 | Create(Surface: HSurface from Adaptor3d) | |

42 | ||

43 | returns mutable TopolTool from Adaptor3d; | |

44 | ||

45 | ||

46 | Initialize(me: mutable) | |

47 | is virtual; | |

48 | ||

49 | Initialize(me: mutable; S: HSurface from Adaptor3d) | |

50 | is virtual; | |

51 | ||

52 | ||

53 | Initialize(me: mutable; Curve: HCurve2d from Adaptor2d) | |

54 | is virtual; | |

55 | ||

56 | ||

57 | ||

58 | --- Arc iterator | |

59 | ||

60 | ||

61 | Init(me: mutable) | |

62 | is virtual; | |

63 | ||

64 | ||

65 | More(me: mutable) | |

66 | ||

67 | returns Boolean from Standard | |

68 | is virtual; | |

69 | ||

70 | ||

71 | Value(me: mutable) | |

72 | ||

73 | returns mutable HCurve2d from Adaptor2d | |

74 | raises DomainError from Standard | |

75 | is virtual; | |

76 | ||

77 | ||

78 | Next(me: mutable) | |

79 | is virtual; | |

80 | ||

81 | ||

82 | --- Vertex iterator | |

83 | ||

84 | ||

85 | InitVertexIterator(me: mutable) | |

86 | is virtual; | |

87 | ||

88 | ||

89 | MoreVertex(me: mutable) | |

90 | ||

91 | returns Boolean from Standard | |

92 | is virtual; | |

93 | ||

94 | ||

95 | Vertex(me: mutable) | |

96 | ||

97 | returns mutable HVertex from Adaptor3d | |

98 | raises DomainError from Standard | |

99 | is virtual; | |

100 | ||

101 | ||

102 | NextVertex(me: mutable) | |

103 | is virtual; | |

104 | ||

105 | ||

106 | --- Other methods | |

107 | ||

108 | Classify(me: mutable; | |

109 | P: Pnt2d from gp; | |

110 | Tol: Real from Standard; | |

111 | ReacdreOnPeriodic: Boolean from Standard = Standard_True) | |

112 | ||

113 | returns State from TopAbs | |

114 | is virtual; | |

115 | ||

116 | IsThePointOn(me: mutable; | |

117 | P: Pnt2d from gp; | |

118 | Tol: Real from Standard; | |

119 | ReacdreOnPeriodic: Boolean from Standard = Standard_True) | |

120 | ||

121 | returns Boolean from Standard | |

122 | is virtual; | |

123 | ||

124 | ||

125 | Orientation(me: mutable; C: HCurve2d from Adaptor2d) | |

126 | ||

127 | ---Purpose: If the function returns the orientation of the arc. | |

128 | -- If the orientation is FORWARD or REVERSED, the arc is | |

129 | -- a "real" limit of the surface. | |

130 | -- If the orientation is INTERNAL or EXTERNAL, the arc is | |

131 | -- considered as an arc on the surface. | |

132 | ||

133 | returns Orientation from TopAbs | |

134 | is virtual; | |

135 | ||

136 | ||

137 | Orientation(me: mutable; V: HVertex from Adaptor3d) | |

138 | ||

139 | ---Purpose: Returns the orientation of the vertex V. | |

140 | -- The vertex has been found with an exploration on | |

141 | -- a given arc. The orientation is the orientation | |

142 | -- of the vertex on this arc. | |

143 | ||

144 | returns Orientation from TopAbs | |

145 | is virtual; | |

146 | ||

147 | ||

148 | Identical(me: mutable; V1,V2: HVertex from Adaptor3d) | |

149 | ||

150 | ---Purpose: Returns True if the vertices V1 and V2 are identical. | |

151 | -- This method does not take the orientation of the | |

152 | -- vertices in account. | |

153 | ||

154 | returns Boolean from Standard | |

155 | is virtual; | |

156 | ||

157 | ||

158 | Has3d(me) | |

159 | ---Purpose: answers if arcs and vertices may have 3d representations, | |

160 | -- so that we could use Tol3d and Pnt methods. | |

161 | returns Boolean from Standard | |

162 | is virtual; | |

163 | ||

164 | ||

165 | Tol3d(me; C: HCurve2d from Adaptor2d) | |

166 | ---Purpose: returns 3d tolerance of the arc C | |

167 | returns Real from Standard | |

168 | raises DomainError from Standard | |

169 | is virtual; | |

170 | ||

171 | ||

172 | Tol3d(me; V: HVertex from Adaptor3d) | |

173 | ---Purpose: returns 3d tolerance of the vertex V | |

174 | returns Real from Standard | |

175 | raises DomainError from Standard | |

176 | is virtual; | |

177 | ||

178 | ||

179 | Pnt(me; V: HVertex from Adaptor3d) | |

180 | ---Purpose: returns 3d point of the vertex V | |

181 | returns Pnt from gp | |

182 | raises DomainError from Standard | |

183 | is virtual; | |

184 | ||

185 | ||

186 | --- sample points tools | |

187 | ||

188 | ComputeSamplePoints(me: mutable) | |

189 | is virtual; | |

190 | ||

191 | ||

192 | NbSamplesU(me: mutable) | |

193 | ---Purpose: compute the sample-points for the intersections algorithms | |

194 | returns Integer from Standard | |

195 | is virtual; | |

196 | ||

197 | NbSamplesV(me: mutable) | |

198 | ---Purpose: compute the sample-points for the intersections algorithms | |

199 | returns Integer from Standard | |

200 | is virtual; | |

201 | ||

202 | NbSamples(me: mutable) | |

203 | ---Purpose: compute the sample-points for the intersections algorithms | |

204 | returns Integer from Standard | |

205 | is virtual; | |

206 | ||

207 | UParameters(me; theArray: out Array1OfReal from TColStd); | |

208 | ---Purpose: return the set of U parameters on the surface | |

209 | -- obtained by the method SamplePnts | |

210 | ||

211 | VParameters(me; theArray: out Array1OfReal from TColStd); | |

212 | ---Purpose: return the set of V parameters on the surface | |

213 | -- obtained by the method SamplePnts | |

214 | ||

215 | SamplePoint(me: mutable; Index: Integer from Standard; | |

216 | P2d : out Pnt2d from gp; | |

217 | P3d : out Pnt from gp) | |

218 | is virtual; | |

219 | ||

220 | DomainIsInfinite(me: mutable) | |

221 | returns Boolean from Standard | |

222 | is virtual; | |

223 | ||

224 | --modified by NIZNHY-PKV Mon Apr 23 15:54:51 2001 f | |

225 | Edge (me) | |

226 | returns Address from Standard | |

227 | is virtual; | |

228 | --modified by NIZNHY-PKV Mon Apr 23 15:54:46 2001 t | |

229 | ||

230 | --modified by NIZNHY-IFV Mon Sep 16 16:01:38 2005 f | |

231 | ||

232 | SamplePnts(me: mutable; theDefl: Real from Standard; theNUmin, theNVmin: Integer from Standard) | |

233 | ---Purpose: compute the sample-points for the intersections algorithms | |

234 | -- by adaptive algorithm for BSpline surfaces. For other surfaces algorithm | |

235 | -- is the same as in method ComputeSamplePoints(), but only fill arrays of U | |

236 | -- and V sample parameters; | |

237 | -- theDefl is a requred deflection | |

238 | -- theNUmin, theNVmin are minimal nb points for U and V. | |

239 | is virtual; | |

240 | ||

241 | BSplSamplePnts(me: mutable; theDefl: Real from Standard; theNUmin, theNVmin: Integer from Standard) | |

242 | ---Purpose: compute the sample-points for the intersections algorithms | |

243 | -- by adaptive algorithm for BSpline surfaces - is used in SamplePnts | |

244 | -- theDefl is a requred deflection | |

245 | -- theNUmin, theNVmin are minimal nb points for U and V. | |

246 | is virtual; | |

247 | ||

248 | IsUniformSampling(me) | |

249 | ---Purpose: Returns true if provide uniform sampling of points. | |

250 | returns Boolean from Standard | |

251 | is virtual; | |

252 | ||

253 | fields | |

254 | ||

255 | nbRestr : Integer from Standard; | |

256 | idRestr : Integer from Standard; | |

257 | Uinf : Real from Standard; | |

258 | Usup : Real from Standard; | |

259 | Vinf : Real from Standard; | |

260 | Vsup : Real from Standard; | |

261 | myRestr : HLine2d from Adaptor2d [4]; | |

262 | nbVtx : Integer from Standard; | |

263 | idVtx : Integer from Standard; | |

264 | myVtx : HVertex from Adaptor3d [2]; | |

265 | ||

266 | myS : HSurface from Adaptor3d is protected; | |

267 | myNbSamplesU : Integer from Standard is protected; | |

268 | myNbSamplesV : Integer from Standard is protected; | |

269 | ||

270 | myUPars : HArray1OfReal from TColStd is protected; | |

271 | myVPars : HArray1OfReal from TColStd is protected; | |

272 | ||

273 | end TopolTool; |