1 -- Created on: 1993-01-20
2 -- Created by: Laurent PAINNOT
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
24 deferred generic class MLineTool from AppParCurves (MLine as any)
26 ---Purpose: Template which defines all the services relative to
27 -- a MultiLine for approximation algorithms.
34 Array1OfPnt from TColgp,
35 Array1OfPnt2d from TColgp,
36 Array1OfVec from TColgp,
37 Array1OfVec2d from TColgp
42 FirstPoint(myclass; ML: MLine) returns Integer;
43 ---Purpose: Returns the first index of multipoints of the MLine.
46 LastPoint(myclass; ML: MLine) returns Integer;
47 ---Purpose: Returns the last index of multipoints of the MLine.
51 NbP2d(myclass; ML: MLine) returns Integer;
52 ---Purpose: Returns the number of 2d points of a MLine.
55 NbP3d(myclass; ML: MLine) returns Integer;
56 ---Purpose: Returns the number of 3d points of a MLine.
60 Value(myclass; ML: MLine; MPointIndex: Integer; tabPt: out Array1OfPnt);
61 ---Purpose: returns the 3d points of the multipoint <MPointIndex>
62 -- when only 3d points exist.
65 Value(myclass; ML: MLine; MPointIndex: Integer;
66 tabPt2d: out Array1OfPnt2d);
67 ---Purpose: returns the 2d points of the multipoint <MPointIndex>
68 -- when only 2d points exist.
71 Value(myclass; ML: MLine; MPointIndex: Integer;
72 tabPt: out Array1OfPnt; tabPt2d: out Array1OfPnt2d);
73 ---Purpose: returns the 3d and 2d points of the multipoint
77 Tangency(myclass; ML: MLine; MPointIndex: Integer; tabV: out Array1OfVec)
79 ---Purpose: returns the 3d points of the multipoint <MPointIndex>
80 -- when only 3d points exist.
83 Tangency(myclass; ML: MLine; MPointIndex: Integer;
84 tabV2d: out Array1OfVec2d)
86 ---Purpose: returns the 2d tangency points of the multipoint
87 -- <MPointIndex> only when 2d points exist.
90 Tangency(myclass; ML: MLine; MPointIndex: Integer;
91 tabV: out Array1OfVec; tabV2d: out Array1OfVec2d)
93 ---Purpose: returns the 3d and 2d points of the multipoint