6052458ef7079da93a7272f7aa046e74c535c767
[occt.git] / src / MAT2d / MAT2d_Circuit.cdl
1 -- Created on: 1993-11-18
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1993-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 Circuit from MAT2d 
18
19 inherits 
20
21     TShared from MMgt
22     
23         ---Purpose: Constructs a circuit on a set of lines.
24         --          EquiCircuit gives a Circuit passing by all the lines
25         --          in a set and all the connexions of the minipath associated.
26         --           
27
28 uses
29
30     SequenceOfInteger                from TColStd,
31     Geometry                         from Geom2d,
32     SequenceOfGeometry               from TColGeom2d,
33     SequenceOfBoolean                from TColStd,
34     SequenceOfConnexion              from MAT2d,
35     BiInt                            from MAT2d,
36     Connexion                        from MAT2d,
37     SequenceOfSequenceOfGeometry     from MAT2d,
38     DataMapOfIntegerConnexion        from MAT2d,    
39     MiniPath                         from MAT2d,
40     DataMapOfBiIntSequenceOfInteger  from MAT2d
41
42 is
43
44     Create returns Circuit from MAT2d;
45
46 ---Category:  Computation
47
48     Perform(me          : mutable ; 
49             aFigure     : in out SequenceOfSequenceOfGeometry; 
50             IsClosed    :        SequenceOfBoolean from TColStd;
51             IndRefLine  :        Integer;
52             Trigo       :        Boolean)
53     is static;      
54     
55     PassByLast(me ; C1,C2 : Connexion from MAT2d) 
56     returns Boolean
57     is static private;
58     
59     Side (me ; C : Connexion from MAT2d; Line : SequenceOfGeometry)
60     returns Real 
61     is static private;
62
63     UpDateLink(me : mutable ; 
64                IFirst,ILine,ICurveFirst,ICurveLast: Integer)
65     is static private;
66     
67     SortRefToEqui(me : mutable ; aBiInt : BiInt from MAT2d)
68     is static private;
69
70     InitOpen(me ; Line : in out SequenceOfGeometry)
71     is static private;
72     
73     InsertCorner(me ; Line : in out SequenceOfGeometry)
74     is static private;
75     
76     DoubleLine(me ; 
77                Line       : in out  SequenceOfGeometry;
78                Connexions : in out  SequenceOfConnexion from MAT2d; 
79                Father     : Connexion from MAT2d;
80                Side       : Real)
81     is static private;
82     
83     ConstructCircuit(me          : mutable ;
84                      aFigure     : SequenceOfSequenceOfGeometry;
85                      IndRefLine  : Integer;
86                      aPath       : MiniPath from MAT2d)
87     is static private;               
88
89  ---Category: Querying
90
91     NumberOfItems(me) 
92        ---Purpose: Returns the Number of Items .
93     returns Integer is static;
94     
95     Value(me ; Index : Integer)
96        ---Purpose: Returns the item at position <Index> in <me>. 
97     returns Geometry from Geom2d
98     is static;
99
100     LineLength(me ; IndexLine : Integer)
101        ---Purpose: Returns the number of items on the line <IndexLine>.
102     returns Integer from Standard
103     is static;
104
105     RefToEqui(me ; IndLine : Integer; IndCurve : Integer)
106        ---Purpose: Returns the set of index of the items in <me>corresponding 
107        --          to the curve <IndCurve> on the line <IndLine> from the 
108        --          initial figure.
109        --           
110        ---C++: return const&
111     returns SequenceOfInteger from TColStd
112     is static;
113     
114     Connexion(me ; Index : Integer)
115         ---Purpose:  Returns the Connexion on the item <Index> in me. 
116     returns Connexion from MAT2d
117     is static;
118     
119     ConnexionOn(me ; Index : Integer)
120        ---Purpose: Returns <True> is there is a connexion on the item <Index>
121        --          in <me>.
122     returns Boolean from Standard
123     is static;
124     
125 fields
126     
127     direction    : Real;
128     geomElements : SequenceOfGeometry              from TColGeom2d;    
129     connexionMap : DataMapOfIntegerConnexion       from MAT2d;
130     linkRefEqui  : DataMapOfBiIntSequenceOfInteger from MAT2d;
131     linesLength  : SequenceOfInteger               from TColStd; 
132     
133 end Circuit;
134
135