blob: 9cbb62a669da0964868a8cab92c5ba78ebd3af12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
-- File: SectionLine.cdl
-- Created: Tue Jun 18 10:04:18 1991
-- Author: Didier PIFFAULT
-- <dpf@phobox>
---Copyright: Matra Datavision 1991, 1992
class SectionLine from Intf
---Purpose: Describe a polyline of intersection between two
-- polyhedra as a sequence of points of intersection.
uses SectionPoint from Intf,
SeqOfSectionPoint from Intf
raises OutOfRange from Standard
is
-- User Interface :
NumberOfPoints (me)
returns Integer is static;
---Purpose: Returns number of points in this SectionLine.
---C++: inline
GetPoint (me;
Index : in Integer)
returns SectionPoint from Intf
raises OutOfRange from Standard
is static;
---Purpose: Gives the point of intersection of address <Index> in the
-- SectionLine.
--
---C++: return const &
IsClosed (me)
returns Boolean is static;
---Purpose: Returns True if the SectionLine is closed.
Contains (me;
ThePI : in SectionPoint from Intf)
returns Boolean is static;
---Purpose: Returns True if ThePI is in the SectionLine <me>.
IsEnd (me;
ThePI : in SectionPoint from Intf)
returns Integer is static;
---Purpose: Checks if <ThePI> is an end of the SectionLine. Returns 1
-- for the beginning, 2 for the end, otherwise 0.
IsEqual (me;
Other : in SectionLine from Intf) -- in like me);
returns Boolean is static;
---Purpose: Compares two SectionLines.
--
---C++: alias operator ==
-- Builder :
Create returns SectionLine;
---Purpose: Constructs an empty SectionLine.
Create (Other : SectionLine)
returns SectionLine;
---Purpose: Copies a SectionLine.
Append (me : in out;
Pi : in SectionPoint from Intf)
is static;
---Purpose: Adds a point at the end of the SectionLine.
Append (me : in out;
LS : in out SectionLine from Intf)
is static;
---Purpose: Concatenates the SectionLine <LS> at the end of the
-- SectionLine <me>.
Prepend (me : in out;
Pi : in SectionPoint from Intf)
is static;
---Purpose: Adds a point to the beginning of the SectionLine <me>.
Prepend (me : in out;
LS : in out SectionLine from Intf)
is static;
---Purpose: Concatenates a SectionLine <LS> at the beginning of the
-- SectionLine <me>.
Reverse (me : in out)
is static;
---Purpose: Reverses the order of the elements of the SectionLine.
Close (me : in out)
is static;
---Purpose: Closes the SectionLine.
Dump (me;
Indent : in Integer) is static;
fields
myPoints : SeqOfSectionPoint from Intf;
closed : Boolean;
end SectionLine;
|