1 -- Created on: 1991-12-02
2 -- Created by: Laurent PAINNOT
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public version 2.1 as published
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
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.
30 Array1OfPnt from TColgp,
31 Array1OfPnt2d from TColgp,
32 HArray1OfPnt from TColgp,
33 HArray1OfPnt2d from TColgp,
34 OStream from Standard,
37 raises OutOfRange from Standard,
38 DimensionError from Standard
42 Create returns MultiPoint;
43 ---Purpose: creates an indefinite MultiPoint.
46 Create(NbPoints, NbPoints2d: Integer)
47 ---Purpose: constructs a set of Points used to approximate a
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.
54 returns MultiPoint from AppParCurves;
57 Create(tabP: Array1OfPnt)
58 ---Purpose: creates a MultiPoint only composed of 3D points.
60 returns MultiPoint from AppParCurves;
63 Create(tabP2d: Array1OfPnt2d)
64 ---Purpose: creates a MultiPoint only composed of 2D points.
66 returns MultiPoint from AppParCurves;
69 Create(tabP: Array1OfPnt; tabP2d: Array1OfPnt2d)
70 ---Purpose: constructs a set of Points used to approximate a
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.
76 returns MultiPoint from AppParCurves;
79 Delete(me:out) is virtual;
80 ---C++: alias "Standard_EXPORT virtual ~AppParCurves_MultiPoint(){Delete();}"
82 SetPoint(me: in out; Index: Integer; Point: Pnt)
83 ---Purpose: the 3d Point of range Index of this MultiPoint is
85 -- An exception is raised if Index < 0 or
86 -- Index > number of 3d Points.
88 raises OutOfRange from Standard
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.
100 raises OutOfRange from Standard
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.
109 raises OutOfRange from Standard,
110 DimensionError from Standard
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&
120 returns Pnt2d from gp
121 raises OutOfRange from Standard
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.
132 raises OutOfRange from Standard
137 ---Purpose: returns the number of points of dimension 3D.
145 ---Purpose: returns the number of points of dimension 2D.
152 Transform(me: in out; CuIndex: Integer; x, dx, y, dy, z, dz: Real)
153 ---Purpose: Applies a transformation to the curve of range
155 -- newx = x + dx*oldx
156 -- newy = y + dy*oldy for all points of the curve.
157 -- newz = z + dz*oldz
159 raises OutOfRange from Standard
163 Transform2d(me: in out; CuIndex: Integer; x, dx, y, dy: Real)
164 ---Purpose: Applies a transformation to the Curve of range
166 -- newx = x + dx*oldx
167 -- newy = y + dy*oldy for all points of the curve.
169 raises OutOfRange from Standard
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 <<.
181 ttabPoint : TShared from MMgt is protected;
182 ttabPoint2d: TShared from MMgt is protected;
183 nbP : Integer is protected;
184 nbP2d : Integer is protected;