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

b311480e | 1 | -- Created on: 1992-06-29 |

2 | -- Created by: Remi GILET | |

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

973c2be1 | 4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |

b311480e | 5 | -- |

973c2be1 | 6 | -- This file is part of Open CASCADE Technology software library. |

b311480e | 7 | -- |

d5f74e42 | 8 | -- This library is free software; you can redistribute it and/or modify it under |

9 | -- the terms of the GNU Lesser General Public License version 2.1 as published | |

973c2be1 | 10 | -- by the Free Software Foundation, with special exception defined in the file |

11 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT | |

12 | -- distribution for complete text of the license and disclaimer of any warranty. | |

b311480e | 13 | -- |

973c2be1 | 14 | -- Alternatively, this file may be used under the terms of Open CASCADE |

15 | -- commercial license or contractual agreement. | |

7fd59977 | 16 | |

17 | package Geom2dGcc | |

18 | ||

19 | --- Purpose: The Geom2dGcc package describes qualified 2D | |

20 | -- curves used in the construction of constrained geometric | |

21 | -- objects by an algorithm provided by the Geom2dGcc package. | |

22 | -- A qualified 2D curve is a curve with a qualifier which | |

23 | -- specifies whether the solution of a construction | |

24 | -- algorithm using the qualified curve (as an argument): | |

25 | -- - encloses the curve, or | |

26 | -- - is enclosed by the curve, or | |

27 | -- - is built so that both the curve and this solution are external to one another, or | |

28 | -- - is undefined (all solutions apply). | |

29 | -- These package methods provide simpler functions to construct a qualified curve. | |

30 | -- Note: the interior of a curve is defined as the left-hand | |

31 | -- side of the curve in relation to its orientation. | |

32 | ||

33 | ||

34 | uses GccEnt, | |

7fd59977 | 35 | GccAna, |

36 | GccIter, | |

37 | StdFail, | |

38 | Geom2dInt, | |

39 | Geom2d, | |

578ce4be | 40 | GeomAbs, |

7fd59977 | 41 | TColStd, |

7fd59977 | 42 | Standard, |

43 | Geom2dAdaptor, | |

44 | Extrema, | |

45 | Adaptor3d, | |

46 | Adaptor2d, | |

47 | TColgp, | |

48 | gp | |

49 | ||

50 | is | |

51 | ||

52 | class CurveTool; | |

53 | ||

54 | class QualifiedCurve; | |

55 | ||

56 | class Circ2d3Tan; | |

57 | ||

58 | class Circ2d2TanRad; | |

59 | ||

60 | class Circ2d2TanOn; | |

61 | ||

62 | class Circ2dTanOnRad; | |

63 | ||

64 | class Circ2dTanCen; | |

65 | ||

66 | class Lin2d2Tan; | |

67 | ||

68 | class Lin2dTanObl; | |

69 | ||

0b85f9a6 | 70 | class QCurve; |

7fd59977 | 71 | |

578ce4be | 72 | class CurveToolGeo; |

0b85f9a6 | 73 | |

578ce4be | 74 | class Circ2d2TanOnGeo; |

75 | ||

76 | class Circ2d2TanRadGeo; | |

77 | ||

78 | class Circ2dTanCenGeo; | |

0b85f9a6 | 79 | |

578ce4be | 80 | class Circ2dTanOnRadGeo; |

81 | ||

82 | class MyC2d3Tan instantiates Circ2d3Tan from GccIter | |

83 | (Curve from Geom2dAdaptor, | |

84 | CurveTool from Geom2dGcc, | |

85 | QCurve from Geom2dGcc); | |

86 | ||

0b85f9a6 | 87 | class MyC2d2TanOn instantiates Circ2d2TanOn from GccIter |

578ce4be | 88 | (Curve from Geom2dAdaptor, |

89 | CurveTool from Geom2dGcc, | |

90 | QCurve from Geom2dGcc); | |

0b85f9a6 | 91 | |

92 | class MyL2dTanObl instantiates Lin2dTanObl from GccIter | |

578ce4be | 93 | (Curve from Geom2dAdaptor, |

94 | CurveTool from Geom2dGcc, | |

95 | QCurve from Geom2dGcc); | |

96 | ||

97 | class MyL2d2Tan instantiates Lin2d2Tan from GccIter | |

0b85f9a6 | 98 | (Curve from Geom2dAdaptor, |

99 | CurveTool from Geom2dGcc, | |

100 | QCurve from Geom2dGcc); | |

7fd59977 | 101 | |

102 | Unqualified(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve; | |

103 | ---Purpose: Constructs such a qualified curve that the relative | |

104 | -- position of the solution computed by a construction | |

105 | -- algorithm using the qualified curve to the circle or line is | |

106 | -- not qualified, i.e. all solutions apply. | |

107 | -- Warning | |

108 | -- Obj is an adapted curve, i.e. an object which is an interface between: | |

109 | -- - the services provided by a 2D curve from the package Geom2d, | |

110 | -- - and those required on the curve by a computation algorithm. | |

111 | -- The adapted curve is created in the following way: | |

112 | -- Handle(Geom2d_Curve) mycurve = ... | |

113 | -- ; | |

114 | -- Geom2dAdaptor_Curve Obj ( mycurve ) | |

115 | -- ; | |

116 | -- The qualified curve is then constructed with this object: | |

117 | -- Geom2dGcc_QualifiedCurve | |

118 | -- myQCurve = Geom2dGcc::Unqualified(Obj); | |

119 | ||

120 | Enclosing(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve; | |

121 | ---Purpose: Constructs such a qualified curve that the solution | |

122 | -- computed by a construction algorithm using the qualified | |

123 | -- curve encloses the curve. | |

124 | -- Warning | |

125 | -- Obj is an adapted curve, i.e. an object which is an interface between: | |

126 | -- - the services provided by a 2D curve from the package Geom2d, | |

127 | -- - and those required on the curve by a computation algorithm. | |

128 | -- The adapted curve is created in the following way: | |

129 | -- Handle(Geom2d_Curve) mycurve = ... | |

130 | -- ; | |

131 | -- Geom2dAdaptor_Curve Obj ( mycurve ) | |

132 | -- ; | |

133 | -- The qualified curve is then constructed with this object: | |

134 | -- Geom2dGcc_QualifiedCurve | |

135 | -- myQCurve = Geom2dGcc::Enclosing(Obj); | |

136 | ||

137 | Enclosed(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve; | |

138 | ---Purpose: Constructs such a qualified curve that the solution | |

139 | -- computed by a construction algorithm using the qualified | |

140 | -- curve is enclosed by the curve. | |

141 | -- Warning | |

142 | -- Obj is an adapted curve, i.e. an object which is an interface between: | |

143 | -- - the services provided by a 2D curve from the package Geom2d, | |

144 | -- - and those required on the curve by a computation algorithm. | |

145 | -- The adapted curve is created in the following way: | |

146 | -- Handle(Geom2d_Curve) mycurve = ... | |

147 | -- ; | |

148 | -- Geom2dAdaptor_Curve Obj ( mycurve ) | |

149 | -- ; | |

150 | -- The qualified curve is then constructed with this object: | |

151 | -- Geom2dGcc_QualifiedCurve | |

152 | -- myQCurve = Geom2dGcc::Enclosed(Obj); | |

153 | ||

154 | Outside(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve; | |

155 | ---Purpose: Constructs such a qualified curve that the solution | |

156 | -- computed by a construction algorithm using the qualified | |

157 | -- curve and the curve are external to one another. | |

158 | -- Warning | |

159 | -- Obj is an adapted curve, i.e. an object which is an interface between: | |

160 | -- - the services provided by a 2D curve from the package Geom2d, | |

161 | -- - and those required on the curve by a computation algorithm. | |

162 | -- The adapted curve is created in the following way: | |

163 | -- Handle(Geom2d_Curve) mycurve = ... | |

164 | -- ; | |

165 | -- Geom2dAdaptor_Curve Obj ( mycurve ) | |

166 | -- ; | |

167 | -- The qualified curve is then constructed with this object: | |

168 | -- Geom2dGcc_QualifiedCurve | |

169 | -- myQCurve = Geom2dGcc::Outside(Obj); | |

170 | ||

171 | end Geom2dGcc; |