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; |
6da30ff1 |
77 | |
78 | ---C++: alias " Standard_EXPORT virtual ~AppParCurves_MultiPoint();" |
7fd59977 |
79 | |
80 | SetPoint(me: in out; Index: Integer; Point: Pnt) |
81 | ---Purpose: the 3d Point of range Index of this MultiPoint is |
82 | -- set to <Point>. |
83 | -- An exception is raised if Index < 0 or |
84 | -- Index > number of 3d Points. |
85 | |
86 | raises OutOfRange from Standard |
87 | is static; |
88 | |
89 | |
90 | |
91 | Point(me; Index: Integer) |
92 | ---Purpose: returns the 3d Point of range Index. |
93 | -- An exception is raised if Index < 0 or |
94 | -- Index < number of 3d Points. |
95 | ---C++: return const& |
96 | |
97 | returns Pnt from gp |
98 | raises OutOfRange from Standard |
99 | is static; |
100 | |
101 | |
102 | SetPoint2d(me: in out; Index: Integer; Point: Pnt2d) |
103 | ---Purpose: The 2d Point of range Index is set to <Point>. |
104 | -- An exception is raised if Index > 3d Points or |
105 | -- Index > total number of Points. |
106 | |
107 | raises OutOfRange from Standard, |
108 | DimensionError from Standard |
109 | is static; |
110 | |
111 | |
112 | Point2d(me; Index: Integer) |
113 | ---Purpose: returns the 2d Point of range Index. |
114 | -- An exception is raised if index <= number of |
115 | -- 3d Points or Index > total number of Points. |
116 | ---C++: return const& |
117 | |
118 | returns Pnt2d from gp |
119 | raises OutOfRange from Standard |
120 | is static; |
121 | |
122 | |
123 | |
124 | Dimension(me; Index: Integer) |
125 | ---Purpose: returns the dimension of the point of range Index. |
126 | -- An exception is raised if Index <0 or Index > NbCurves. |
127 | ---C++: inline |
128 | |
129 | returns Integer |
130 | raises OutOfRange from Standard |
131 | is static; |
132 | |
133 | |
134 | NbPoints(me) |
135 | ---Purpose: returns the number of points of dimension 3D. |
136 | ---C++: inline |
137 | |
138 | returns Integer |
139 | is static; |
140 | |
141 | |
142 | NbPoints2d(me) |
143 | ---Purpose: returns the number of points of dimension 2D. |
144 | ---C++: inline |
145 | |
146 | returns Integer |
147 | is static; |
148 | |
149 | |
150 | Transform(me: in out; CuIndex: Integer; x, dx, y, dy, z, dz: Real) |
151 | ---Purpose: Applies a transformation to the curve of range |
152 | -- <CuIndex>. |
153 | -- newx = x + dx*oldx |
154 | -- newy = y + dy*oldy for all points of the curve. |
155 | -- newz = z + dz*oldz |
156 | |
157 | raises OutOfRange from Standard |
158 | is static; |
159 | |
160 | |
161 | Transform2d(me: in out; CuIndex: Integer; x, dx, y, dy: Real) |
162 | ---Purpose: Applies a transformation to the Curve of range |
163 | -- <CuIndex>. |
164 | -- newx = x + dx*oldx |
165 | -- newy = y + dy*oldy for all points of the curve. |
166 | |
167 | raises OutOfRange from Standard |
168 | is static; |
169 | |
170 | |
171 | Dump(me; o: in out OStream) |
172 | ---Purpose: Prints on the stream o information on the current |
173 | -- state of the object. |
174 | -- Is used to redefine the operator <<. |
175 | is virtual; |
176 | |
177 | fields |
178 | |
179 | ttabPoint : TShared from MMgt is protected; |
180 | ttabPoint2d: TShared from MMgt is protected; |
181 | nbP : Integer is protected; |
182 | nbP2d : Integer is protected; |
183 | |
184 | end MultiPoint; |
185 | |