0024428: Implementation of LGPL license
[occt.git] / src / ApproxInt / ApproxInt_MultiLineTool.cdl
CommitLineData
b311480e 1-- Created on: 1993-03-26
2-- Created by: Laurent BUCHARD
3-- Copyright (c) 1993-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--
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17generic class MultiLineTool from ApproxInt (TheMultiLine as any;
18 TheMultiMPoint as any)
19
20
21uses
22 Status from Approx,
23 Array1OfPnt from TColgp,
24 Array1OfPnt2d from TColgp,
25 Array1OfVec from TColgp,
26 Array1OfVec2d from TColgp
27
28is
29
30
31 FirstPoint(myclass; ML: TheMultiLine) returns Integer;
32 ---C++:inline
33 ---Purpose: Returns the number of multipoints of the TheMultiLine.
34
35 LastPoint(myclass; ML: TheMultiLine) returns Integer;
36 ---C++:inline
37 ---Purpose: Returns the number of multipoints of the TheMultiLine.
38
39 NbP2d(myclass; ML: TheMultiLine) returns Integer;
40 ---C++:inline
41 ---Purpose: Returns the number of 2d points of a TheMultiLine.
42
43
44 NbP3d(myclass; ML: TheMultiLine) returns Integer;
45 ---C++:inline
46 ---Purpose: Returns the number of 3d points of a TheMultiLine.
47
48
49 Value(myclass; ML: TheMultiLine; MPointIndex: Integer; tabPt: out Array1OfPnt);
50 ---C++:inline
51 ---Purpose: returns the 3d points of the multipoint <MPointIndex>
52 -- when only 3d points exist.
53
54
55 Value(myclass; ML: TheMultiLine; MPointIndex: Integer;
56 tabPt2d: out Array1OfPnt2d from TColgp);
57 ---C++:inline
58 ---Purpose: returns the 2d points of the multipoint <MPointIndex>
59 -- when only 2d points exist.
60
61
62 Value(myclass; ML: TheMultiLine; MPointIndex: Integer;
63 tabPt: out Array1OfPnt from TColgp; tabPt2d: out Array1OfPnt2d);
64 ---C++:inline
65 ---Purpose: returns the 3d and 2d points of the multipoint
66 -- <MPointIndex>.
67
68 Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer; tabV: out Array1OfVec from TColgp)
69 returns Boolean;
70 ---C++:inline
71 ---Purpose: returns the 3d points of the multipoint <MPointIndex>
72 -- when only 3d points exist.
73
74
75 Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer;
76 tabV2d: out Array1OfVec2d from TColgp)
77 returns Boolean;
78 ---C++:inline
79 ---Purpose: returns the 2d tangency points of the multipoint
80 -- <MPointIndex> only when 2d points exist.
81
82
83 Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer;
84 tabV: out Array1OfVec from TColgp; tabV2d: out Array1OfVec2d from TColgp)
85 returns Boolean;
86 ---C++:inline
87 ---Purpose: returns the 3d and 2d points of the multipoint
88 -- <MPointIndex>.
89
90
91--- methods not used but necessary
92
93
94 Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
95 tabV: out Array1OfVec from TColgp)
96 returns Boolean;
97 ---C++:inline
98 ---Purpose: returns the 3d curvature of the multipoint <MPointIndex>
99 -- when only 3d points exist.
100
101
102 Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
103 tabV2d: out Array1OfVec2d from TColgp)
104 returns Boolean;
105 ---C++:inline
106 ---Purpose: returns the 2d curvature points of the multipoint
107 -- <MPointIndex> only when 2d points exist.
108
109
110 Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
111 tabV: out Array1OfVec from TColgp;
112 tabV2d: out Array1OfVec2d from TColgp)
113 returns Boolean;
114 ---C++:inline
115 ---Purpose: returns the 3d and 2d curvature of the multipoint
116 -- <MPointIndex>.
117
118
119
120 MakeMLBetween(myclass; ML: TheMultiLine; I1, I2: Integer;
121 NbPMin: Integer)
122 returns TheMultiLine;
123 ---C++:inline
124 ---Purpose: Is called if WhatStatus returned "PointsAdded".
125
126 WhatStatus(myclass; ML: TheMultiLine; I1, I2: Integer)
127 ---C++:inline
128 returns Status from Approx;
129
130end MultiLineTool;
131