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

b311480e | 1 | -- Created on: 1992-08-26 |

2 | -- Created by: Jean Louis FRENKEL | |

3 | -- Copyright (c) 1992-1999 Matra Datavision | |

4 | -- Copyright (c) 1999-2012 OPEN CASCADE SAS | |

5 | -- | |

6 | -- The content of this file is subject to the Open CASCADE Technology Public | |

7 | -- License Version 6.5 (the "License"). You may not use the content of this file | |

8 | -- except in compliance with the License. Please obtain a copy of the License | |

9 | -- at http://www.opencascade.org and read it completely before using this file. | |

10 | -- | |

11 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its | |

12 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. | |

13 | -- | |

14 | -- The Original Code and all software distributed under the License is | |

15 | -- distributed on an "AS IS" basis, without warranty of any kind, and the | |

16 | -- Initial Developer hereby disclaims all such warranties, including without | |

17 | -- limitation, any warranties of merchantability, fitness for a particular | |

18 | -- purpose or non-infringement. Please see the License for the specific terms | |

19 | -- and conditions governing the rights and limitations under the License. | |

20 | ||

7fd59977 | 21 | |

22 | package Prs3d | |

23 | ||

24 | ---Purpose: The Prs3d package provides the following services | |

25 | -- - a presentation object (the context for all | |

26 | -- modifications to the display, its presentation will be | |

27 | -- displayed in every view of an active viewer) | |

28 | -- - an attribute manager governing how objects such | |

29 | -- as color, width, and type of line are displayed; | |

30 | -- these are generic objects, whereas those in | |

31 | -- StdPrs are specific geometries and topologies. | |

32 | -- - generic algorithms providing default settings for | |

33 | -- objects such as points, curves, surfaces and shapes | |

34 | -- - a root object which provides the abstract | |

35 | -- framework for the DsgPrs definitions at work in | |

36 | -- display of dimensions, relations and trihedra. | |

37 | ||

38 | uses | |

39 | Graphic3d, | |

40 | Aspect, | |

41 | Quantity, | |

42 | MMgt, | |

43 | Standard, | |

44 | Adaptor3d, | |

45 | BRepAdaptor, | |

46 | Geom, | |

47 | CPnts, | |

48 | GCPnts, | |

49 | TopAbs, | |

50 | TopLoc, | |

51 | TopoDS, | |

52 | TopTools, | |

53 | TopExp, | |

54 | HLRAlgo, | |

55 | TCollection, | |

56 | TColgp, | |

57 | Bnd, | |

58 | gp, | |

59 | Poly, | |

60 | TColStd | |

61 | is | |

62 | exception InvalidAngle inherits RangeError from Standard; | |

63 | ||

64 | enumeration TypeOfLinePicking is TOLP_Point, | |

65 | TOLP_Segment | |

66 | end TypeOfLinePicking; | |

67 | ||

68 | class Presentation; | |

69 | ---Purpose: defines the presentation object. This object can be | |

70 | -- displayed, highlighted, erased, etc... The output | |

71 | -- of the presentation algorithms are sent in a | |

72 | -- presentation object. A presentation object is attached | |

73 | -- to a given Viewer. | |

74 | ||

75 | ---Category: Aspect classes. | |

76 | ---Purpose: The aspect classes qualifies how to represent | |

77 | -- a given kind of object. | |

78 | -- | |

79 | ||

80 | ||

81 | deferred class BasicAspect; | |

82 | class PointAspect; | |

83 | class LineAspect; | |

84 | class ShadingAspect; | |

85 | class TextAspect; | |

86 | deferred class CompositeAspect; | |

87 | class IsoAspect; | |

88 | class PlaneAspect; | |

89 | class ArrowAspect; | |

90 | class LengthAspect; | |

91 | class AngleAspect; | |

92 | class RadiusAspect; | |

93 | class DatumAspect; | |

94 | ||

95 | class Drawer; | |

96 | ---Purpose: qualifies how the presentation algorithms compute | |

97 | -- the presentation of a specific kind of object. | |

98 | -- This includes for example color, width and type | |

99 | -- of lines, maximal chordial deviation, etc... | |

100 | -- A drawer includes an instance of the Aspect classes | |

101 | -- with particular default values. | |

102 | ||

103 | class Projector; | |

104 | ---Purpose: defines the projection parameters for the hidden | |

105 | -- lines removal algorithm. | |

106 | ||

107 | class PlaneSet; | |

108 | ---Purpose: defines a set of planes used for a presentation | |

109 | -- by sections. | |

110 | -- | |

111 | ||

112 | deferred class Root; | |

113 | ---Purpose: defines the root of the presentation algorithms. | |

114 | ||

115 | generic class Point; | |

116 | ---Purpose: computes the presentation of objects to be | |

117 | -- seen as points. | |

118 | ||

119 | generic class Line; | |

120 | ---Purpose: computes the presentation of objects to be | |

121 | -- seen as broken lines. | |

122 | ||

123 | --generic class WFSectionShape; | |

124 | ---Purpose: computes the wireframe presentation of surfaces | |

125 | -- by displaying planar sections. | |

126 | ||

127 | generic class WFDeflectionRestrictedFace; | |

128 | ---Purpose: computes the wireframe presentation of faces with | |

129 | -- restrictions by displaying a given number of U and/or | |

130 | -- V isoparametric curves. The isoparametric curves are | |

131 | -- drawn with respect to a maximal chordial deviation. | |

132 | -- The presentation includes the restriction curves. | |

133 | ||

134 | ||

135 | generic class WFRestrictedFace; | |

136 | ---Purpose: computes the wireframe presentation of faces with | |

137 | -- restrictions by displaying a given number of U and/or | |

138 | -- V isoparametric curves. The isoparametric curves are | |

139 | -- drawn with a fixed number of points. | |

140 | -- The presentation includes the restriction curves. | |

141 | ||

142 | ||

143 | generic class WFShape; | |

144 | ---Purpose: computes the wireframe presentation of compound set | |

145 | -- of faces, edges and vertices by displaying a given | |

146 | -- number of U and/or V isoparametric curves. | |

147 | ||

148 | ||

149 | ||

150 | ||

151 | ---Category: Hidden lines removal algorithms. | |

152 | ||

153 | generic class HLRShape; | |

154 | ---Purpose: computes the presentation of objects with | |

155 | -- removal of their hidden lines for a specific | |

156 | -- projector. | |

157 | -- | |

158 | ||

159 | ---Category: Shading algorithms. | |

160 | ||

161 | generic class SectionShapeTool; | |

162 | ||

7fd59977 | 163 | ---Category: Basis construction elements. |

164 | generic class Vector; | |

165 | generic class Datum; | |

166 | ||

167 | class LengthPresentation; | |

168 | ||

169 | class AnglePresentation; | |

170 | ||

171 | class Text; | |

172 | ||

173 | ||

174 | ---Category: Class signatures. | |

175 | -- | |

176 | generic class PointTool; | |

177 | ---Purpose: describes the behaviour requested for a point presentation | |

178 | ||

179 | generic class LineTool; | |

180 | ---Purpose: describes the behaviour requested for a line presentation | |

181 | ||

182 | ||

183 | generic class CurvePresentation; | |

184 | ||

185 | generic class RestrictionTool; | |

186 | ---Purpose: describes the behaviour requested for a restricted | |

187 | -- face presentation. | |

188 | ||

189 | class ShapeTool; | |

190 | ---Purpose: describes the behaviour requested for a wireframe | |

191 | -- shape presentation. | |

192 | ||

193 | generic class HLRShapeTool; | |

194 | ---Purpose: describes the behaviour requested for a shape | |

195 | -- presentation with hidden lines removal. | |

196 | ||

197 | deferred generic class VectorTool; | |

198 | ---Purpose: describes the behaviour requested for a vector | |

199 | -- presentation. | |

200 | ||

201 | deferred generic class DatumTool; | |

202 | ---Purpose: describes the behaviour requested for a datum | |

203 | -- presentation. | |

204 | ||

205 | class Arrow; | |

206 | ---Purpose: draws an arrow at a given location, with respect | |

207 | -- to a given direction. | |

208 | ||

209 | imported NListOfSequenceOfPnt; | |

210 | imported NListIteratorListOfSequenceOfPnt; | |

211 | ||

212 | MatchSegment(X,Y,Z: Length from Quantity; | |

213 | aDistance: Length from Quantity; | |

214 | p1,p2: Pnt from gp; | |

215 | dist: out Length from Quantity) | |

216 | returns Boolean from Standard; | |

217 | end Prs3d; | |

218 | ||

219 |