0025074: Intf_Polygon2d - add virtual destructor
[occt.git] / src / Intf / Intf_SectionLine.cdl
1 -- Created on: 1991-06-18
2 -- Created by: Didier PIFFAULT
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class SectionLine from Intf
18
19         ---Purpose: Describe    a  polyline  of   intersection  between two
20         --          polyhedra as a sequence of points of intersection.
21
22
23 uses    SectionPoint from Intf,
24         SeqOfSectionPoint from Intf
25
26
27 raises  OutOfRange from Standard
28
29
30 is
31
32 -- User Interface :
33
34     NumberOfPoints (me)
35                     returns Integer is static;
36     ---Purpose: Returns number of points in this SectionLine.
37     ---C++: inline
38
39     GetPoint       (me;
40                     Index    : in Integer)
41                     returns SectionPoint from Intf
42                     raises OutOfRange from Standard
43                     is static;
44     ---Purpose: Gives the point of intersection of  address <Index>  in the
45     --          SectionLine.
46     --          
47     ---C++: return const &
48
49
50     IsClosed       (me)
51                     returns Boolean is static;
52     ---Purpose: Returns True if the SectionLine is closed.
53
54
55     Contains       (me;
56                     ThePI    : in SectionPoint from Intf)
57                     returns Boolean is static;
58     ---Purpose: Returns True if ThePI is in the SectionLine <me>.
59
60
61     IsEnd          (me;
62                     ThePI    : in SectionPoint from Intf)
63                     returns Integer is static;
64     ---Purpose: Checks if <ThePI>  is an end of  the SectionLine. Returns 1
65     --          for the beginning, 2 for the end, otherwise 0.
66
67
68     IsEqual        (me;
69                     Other    : in SectionLine from Intf)  -- in like me);
70                     returns Boolean is static;
71     ---Purpose: Compares two SectionLines.
72     --         
73     ---C++: alias operator ==
74
75 -- Builder :
76
77     Create          returns SectionLine;
78     ---Purpose: Constructs an empty SectionLine.
79
80     Create         (Other : SectionLine)
81                     returns SectionLine;
82     ---Purpose: Copies a SectionLine.
83
84
85     Append         (me       : in out;
86                     Pi       : in SectionPoint from Intf)
87                     is static;
88     ---Purpose: Adds a point at the end of the SectionLine.
89
90
91     Append         (me       : in out;
92                     LS       : in out SectionLine from Intf)
93                     is static;
94     ---Purpose: Concatenates   the SectionLine  <LS>  at  the  end  of  the
95     --          SectionLine <me>.
96
97
98     Prepend        (me       : in out;
99                     Pi       : in SectionPoint from Intf)
100                     is static;
101     ---Purpose: Adds a point to the beginning of the SectionLine <me>.
102
103
104     Prepend        (me       : in out;
105                     LS       : in out SectionLine from Intf)
106                     is static;
107     ---Purpose: Concatenates a SectionLine  <LS>  at the  beginning  of the
108     --          SectionLine <me>.
109
110
111     Reverse        (me       : in out)
112                     is static;
113     ---Purpose: Reverses the order of the elements of the SectionLine.
114
115
116     Close          (me       : in out)
117                     is static;
118     ---Purpose: Closes the SectionLine.
119
120
121     Dump           (me;
122                     Indent   : in Integer) is static;
123
124 fields
125
126     myPoints  : SeqOfSectionPoint from Intf;
127     closed    : Boolean;
128
129 end SectionLine;