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 | |