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

b311480e | 1 | -- Created on: 1991-12-02 |

2 | -- Created by: Laurent PAINNOT | |

3 | -- Copyright (c) 1991-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 | class MultiPoint from AppParCurves | |

18 | ---Purpose: This class describes Points composing a MultiPoint. | |

19 | -- These points can be 2D or 3D. The user must first give the | |

20 | -- 3D Points and then the 2D Points. | |

21 | -- They are Poles of a Bezier Curve. | |

22 | -- This class is used either to define data input or | |

23 | -- results when performing the approximation of several lines in parallel. | |

24 | ||

25 | ||

26 | uses Pnt from gp, | |

27 | Pnt2d from gp, | |

28 | Vec from gp, | |

29 | Vec2d from gp, | |

30 | Array1OfPnt from TColgp, | |

31 | Array1OfPnt2d from TColgp, | |

32 | HArray1OfPnt from TColgp, | |

33 | HArray1OfPnt2d from TColgp, | |

34 | OStream from Standard, | |

35 | TShared from MMgt | |

36 | ||

37 | raises OutOfRange from Standard, | |

38 | DimensionError from Standard | |

39 | ||

40 | is | |

41 | ||

42 | Create returns MultiPoint; | |

43 | ---Purpose: creates an indefinite MultiPoint. | |

44 | ||

45 | ||

46 | Create(NbPoints, NbPoints2d: Integer) | |

47 | ---Purpose: constructs a set of Points used to approximate a | |

48 | -- Multiline. | |

49 | -- These Points can be of 2 or 3 dimensions. | |

50 | -- Points will be initialized with SetPoint and SetPoint2d. | |

51 | -- NbPoints is the number of 3D Points. | |

52 | -- NbPoints2d is the number of 2D Points. | |

53 | ||

54 | returns MultiPoint from AppParCurves; | |

55 | ||

56 | ||

57 | Create(tabP: Array1OfPnt) | |

58 | ---Purpose: creates a MultiPoint only composed of 3D points. | |

59 | ||

60 | returns MultiPoint from AppParCurves; | |

61 | ||

62 | ||

63 | Create(tabP2d: Array1OfPnt2d) | |

64 | ---Purpose: creates a MultiPoint only composed of 2D points. | |

65 | ||

66 | returns MultiPoint from AppParCurves; | |

67 | ||

68 | ||

69 | Create(tabP: Array1OfPnt; tabP2d: Array1OfPnt2d) | |

70 | ---Purpose: constructs a set of Points used to approximate a | |

71 | -- Multiline. | |

72 | -- These Points can be of 2 or 3 dimensions. | |

73 | -- Points will be initialized with SetPoint and SetPoint2d. | |

74 | -- NbPoints is the total number of Points. | |

75 | ||

76 | returns MultiPoint from AppParCurves; | |

77 | ||

78 | ||

79 | Delete(me:out) is virtual; | |

80 | ---C++: alias "Standard_EXPORT virtual ~AppParCurves_MultiPoint(){Delete();}" | |

81 | ||

82 | SetPoint(me: in out; Index: Integer; Point: Pnt) | |

83 | ---Purpose: the 3d Point of range Index of this MultiPoint is | |

84 | -- set to <Point>. | |

85 | -- An exception is raised if Index < 0 or | |

86 | -- Index > number of 3d Points. | |

87 | ||

88 | raises OutOfRange from Standard | |

89 | is static; | |

90 | ||

91 | ||

92 | ||

93 | Point(me; Index: Integer) | |

94 | ---Purpose: returns the 3d Point of range Index. | |

95 | -- An exception is raised if Index < 0 or | |

96 | -- Index < number of 3d Points. | |

97 | ---C++: return const& | |

98 | ||

99 | returns Pnt from gp | |

100 | raises OutOfRange from Standard | |

101 | is static; | |

102 | ||

103 | ||

104 | SetPoint2d(me: in out; Index: Integer; Point: Pnt2d) | |

105 | ---Purpose: The 2d Point of range Index is set to <Point>. | |

106 | -- An exception is raised if Index > 3d Points or | |

107 | -- Index > total number of Points. | |

108 | ||

109 | raises OutOfRange from Standard, | |

110 | DimensionError from Standard | |

111 | is static; | |

112 | ||

113 | ||

114 | Point2d(me; Index: Integer) | |

115 | ---Purpose: returns the 2d Point of range Index. | |

116 | -- An exception is raised if index <= number of | |

117 | -- 3d Points or Index > total number of Points. | |

118 | ---C++: return const& | |

119 | ||

120 | returns Pnt2d from gp | |

121 | raises OutOfRange from Standard | |

122 | is static; | |

123 | ||

124 | ||

125 | ||

126 | Dimension(me; Index: Integer) | |

127 | ---Purpose: returns the dimension of the point of range Index. | |

128 | -- An exception is raised if Index <0 or Index > NbCurves. | |

129 | ---C++: inline | |

130 | ||

131 | returns Integer | |

132 | raises OutOfRange from Standard | |

133 | is static; | |

134 | ||

135 | ||

136 | NbPoints(me) | |

137 | ---Purpose: returns the number of points of dimension 3D. | |

138 | ---C++: inline | |

139 | ||

140 | returns Integer | |

141 | is static; | |

142 | ||

143 | ||

144 | NbPoints2d(me) | |

145 | ---Purpose: returns the number of points of dimension 2D. | |

146 | ---C++: inline | |

147 | ||

148 | returns Integer | |

149 | is static; | |

150 | ||

151 | ||

152 | Transform(me: in out; CuIndex: Integer; x, dx, y, dy, z, dz: Real) | |

153 | ---Purpose: Applies a transformation to the curve of range | |

154 | -- <CuIndex>. | |

155 | -- newx = x + dx*oldx | |

156 | -- newy = y + dy*oldy for all points of the curve. | |

157 | -- newz = z + dz*oldz | |

158 | ||

159 | raises OutOfRange from Standard | |

160 | is static; | |

161 | ||

162 | ||

163 | Transform2d(me: in out; CuIndex: Integer; x, dx, y, dy: Real) | |

164 | ---Purpose: Applies a transformation to the Curve of range | |

165 | -- <CuIndex>. | |

166 | -- newx = x + dx*oldx | |

167 | -- newy = y + dy*oldy for all points of the curve. | |

168 | ||

169 | raises OutOfRange from Standard | |

170 | is static; | |

171 | ||

172 | ||

173 | Dump(me; o: in out OStream) | |

174 | ---Purpose: Prints on the stream o information on the current | |

175 | -- state of the object. | |

176 | -- Is used to redefine the operator <<. | |

177 | is virtual; | |

178 | ||

179 | fields | |

180 | ||

181 | ttabPoint : TShared from MMgt is protected; | |

182 | ttabPoint2d: TShared from MMgt is protected; | |

183 | nbP : Integer is protected; | |

184 | nbP2d : Integer is protected; | |

185 | ||

186 | end MultiPoint; | |

187 |