1 -- Created on: 1993-03-26
2 -- Created by: Laurent BUCHARD
3 -- Copyright (c) 1993-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 under
9 -- the terms of the GNU Lesser General Public License 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 generic class MultiLineTool from ApproxInt (TheMultiLine as any;
18 TheMultiMPoint as any)
23 Array1OfPnt from TColgp,
24 Array1OfPnt2d from TColgp,
25 Array1OfVec from TColgp,
26 Array1OfVec2d from TColgp
31 FirstPoint(myclass; ML: TheMultiLine) returns Integer;
33 ---Purpose: Returns the number of multipoints of the TheMultiLine.
35 LastPoint(myclass; ML: TheMultiLine) returns Integer;
37 ---Purpose: Returns the number of multipoints of the TheMultiLine.
39 NbP2d(myclass; ML: TheMultiLine) returns Integer;
41 ---Purpose: Returns the number of 2d points of a TheMultiLine.
44 NbP3d(myclass; ML: TheMultiLine) returns Integer;
46 ---Purpose: Returns the number of 3d points of a TheMultiLine.
49 Value(myclass; ML: TheMultiLine; MPointIndex: Integer; tabPt: out Array1OfPnt);
51 ---Purpose: returns the 3d points of the multipoint <MPointIndex>
52 -- when only 3d points exist.
55 Value(myclass; ML: TheMultiLine; MPointIndex: Integer;
56 tabPt2d: out Array1OfPnt2d from TColgp);
58 ---Purpose: returns the 2d points of the multipoint <MPointIndex>
59 -- when only 2d points exist.
62 Value(myclass; ML: TheMultiLine; MPointIndex: Integer;
63 tabPt: out Array1OfPnt from TColgp; tabPt2d: out Array1OfPnt2d);
65 ---Purpose: returns the 3d and 2d points of the multipoint
68 Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer; tabV: out Array1OfVec from TColgp)
71 ---Purpose: returns the 3d points of the multipoint <MPointIndex>
72 -- when only 3d points exist.
75 Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer;
76 tabV2d: out Array1OfVec2d from TColgp)
79 ---Purpose: returns the 2d tangency points of the multipoint
80 -- <MPointIndex> only when 2d points exist.
83 Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer;
84 tabV: out Array1OfVec from TColgp; tabV2d: out Array1OfVec2d from TColgp)
87 ---Purpose: returns the 3d and 2d points of the multipoint
91 --- methods not used but necessary
94 Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
95 tabV: out Array1OfVec from TColgp)
98 ---Purpose: returns the 3d curvature of the multipoint <MPointIndex>
99 -- when only 3d points exist.
102 Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
103 tabV2d: out Array1OfVec2d from TColgp)
106 ---Purpose: returns the 2d curvature points of the multipoint
107 -- <MPointIndex> only when 2d points exist.
110 Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
111 tabV: out Array1OfVec from TColgp;
112 tabV2d: out Array1OfVec2d from TColgp)
115 ---Purpose: returns the 3d and 2d curvature of the multipoint
120 MakeMLBetween(myclass; ML: TheMultiLine; I1, I2: Integer;
122 returns TheMultiLine;
124 ---Purpose: Is called if WhatStatus returned "PointsAdded".
126 WhatStatus(myclass; ML: TheMultiLine; I1, I2: Integer)
128 returns Status from Approx;
130 Dump(myclass; ML: TheMultiLine);
131 ---Purpose: Dump of the current multi-line.