7481eba816d9e25491d685dbca3cf6bf58c462a5
[occt.git] / src / MAT / MAT_Arc.cdl
1 -- Created on: 1993-04-30
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
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.
10 --
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.
13 --
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.
20
21
22
23 class Arc from MAT
24
25 inherits  
26
27     TShared from MMgt 
28         ---Purpose: An Arc is associated to each Bisecting of the mat. 
29
30 uses
31     
32     BasicElt       from MAT,
33     Node           from MAT,
34     Side           from MAT,
35     Address        from Standard
36
37     
38 raises
39
40     DomainError from Standard    
41
42 is
43
44
45     Create ( ArcIndex        : Integer;
46              GeomIndex       : Integer;
47              FirstElement    : BasicElt from MAT;
48              SecondElement   : BasicElt from MAT )
49         --- Purpose :
50     returns mutable Arc;
51
52     Index (me) 
53         --- Purpose : Returns the index of <me> in Graph.theArcs.
54     returns Integer
55     is static;
56             
57     GeomIndex(me) 
58         --- Purpose : Returns  the index associated  of the  geometric
59         --            representation of <me>.
60     returns Integer
61     is static;
62     
63     FirstElement(me) 
64         --- Purpose : Returns one of the BasicElt equidistant from <me>.
65     returns BasicElt from MAT
66     is static;
67     
68     SecondElement(me) 
69         --- Purpose : Returns the other BasicElt equidistant from <me>.
70     returns BasicElt from MAT
71     is static;
72     
73     FirstNode (me)  
74         --- Purpose : Returns one Node extremity of <me>.
75     returns mutable Node from MAT
76     is static;
77     
78     SecondNode (me) 
79         --- Purpose : Returns the other Node extremity of <me>.   
80     returns mutable Node from MAT
81     is static;    
82     
83     TheOtherNode (me ; aNode : Node) 
84     returns Node from MAT
85         --- Purpose : an Arc has two Node, if <aNode> egal one
86         --            Returns the other.
87         --            
88     raises
89         DomainError from Standard
90         ---Purpose: if <aNode> is not oh <me>
91     is static;
92
93     HasNeighbour(me ; aNode : Node ; aSide : Side) 
94         --- Purpose : Returnst True is there is an arc linked to 
95         --            the Node <aNode> located on the side <aSide> of <me>;  
96     returns Boolean from Standard
97     raises
98         DomainError from Standard
99         ---Purpose: if <aNode> is not on <me>
100     is static;
101     
102     Neighbour(me ; aNode : Node ; aSide : Side) 
103         --- Purpose : Returns the first arc linked to the Node <aNode>
104         --            located on the side <aSide> of <me>;  
105     returns Arc from MAT 
106     raises
107         DomainError from Standard
108         ---Purpose: if HasNeighbour() returns FALSE. 
109     is static;
110
111     SetIndex (me : mutable ; anInteger : Integer)
112     is static;
113     
114     SetGeomIndex(me : mutable ; anInteger : Integer)
115     is static;
116     
117     SetFirstElement  (me : mutable ; aBasicElt : BasicElt from MAT)
118     is static;
119     
120     SetSecondElement (me : mutable ; aBasicElt : BasicElt from MAT)
121     is static;
122     
123     SetFirstNode  (me : mutable ; aNode : Node from MAT)
124     is static;
125
126     SetSecondNode (me : mutable ; aNode : Node from MAT)
127     is static;
128     
129     SetFirstArc  (me : mutable ; aSide : Side ; anArc : Arc)
130     is static;
131
132     SetSecondArc (me : mutable ; aSide : Side ; anArc : Arc)
133     is static;
134
135     SetNeighbour (me : mutable ; aSide : Side ; aNode : Node ; anArc : Arc) 
136     is static;
137     
138 fields
139
140     arcIndex        : Integer;
141     geomIndex       : Integer;
142     firstElement    : BasicElt from MAT;
143     secondElement   : BasicElt from MAT;
144     firstNode       : Node     from MAT;
145     secondNode      : Node     from MAT;
146     firstArcLeft    : Address  from Standard;
147     firstArcRight   : Address  from Standard;
148     secondArcRight  : Address  from Standard;
149     secondArcLeft   : Address  from Standard;
150     firstParameter  : Real;
151     secondParameter : Real;
152     
153 end Arc;
154
155