0025021: New option of BRepOffsetAPI_MakeOffset algorithm: open result for open wire
[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(IsOpenResult : Boolean from Standard = Standard_False)
45     returns Circuit from MAT2d;
46
47 ---Category:  Computation
48
49     Perform(me          : mutable ; 
50             aFigure     : in out SequenceOfSequenceOfGeometry; 
51             IsClosed    :        SequenceOfBoolean from TColStd;
52             IndRefLine  :        Integer;
53             Trigo       :        Boolean)
54     is static;      
55     
56     PassByLast(me ; C1,C2 : Connexion from MAT2d) 
57     returns Boolean
58     is static private;
59     
60     Side (me ; C : Connexion from MAT2d; Line : SequenceOfGeometry)
61     returns Real 
62     is static private;
63
64     UpDateLink(me : mutable ; 
65                IFirst,ILine,ICurveFirst,ICurveLast: Integer)
66     is static private;
67     
68     SortRefToEqui(me : mutable ; aBiInt : BiInt from MAT2d)
69     is static private;
70
71     InitOpen(me ; Line : in out SequenceOfGeometry)
72     is static private;
73     
74     InsertCorner(me ; Line : in out SequenceOfGeometry)
75     is static private;
76     
77     DoubleLine(me ; 
78                Line       : in out  SequenceOfGeometry;
79                Connexions : in out  SequenceOfConnexion from MAT2d; 
80                Father     : Connexion from MAT2d;
81                Side       : Real)
82     is static private;
83     
84     ConstructCircuit(me          : mutable ;
85                      aFigure     : SequenceOfSequenceOfGeometry;
86                      IndRefLine  : Integer;
87                      aPath       : MiniPath from MAT2d)
88     is static private;               
89
90  ---Category: Querying
91
92     NumberOfItems(me) 
93        ---Purpose: Returns the Number of Items .
94     returns Integer is static;
95     
96     Value(me ; Index : Integer)
97        ---Purpose: Returns the item at position <Index> in <me>. 
98     returns Geometry from Geom2d
99     is static;
100
101     LineLength(me ; IndexLine : Integer)
102        ---Purpose: Returns the number of items on the line <IndexLine>.
103     returns Integer from Standard
104     is static;
105
106     RefToEqui(me ; IndLine : Integer; IndCurve : Integer)
107        ---Purpose: Returns the set of index of the items in <me>corresponding 
108        --          to the curve <IndCurve> on the line <IndLine> from the 
109        --          initial figure.
110        --           
111        ---C++: return const&
112     returns SequenceOfInteger from TColStd
113     is static;
114     
115     Connexion(me ; Index : Integer)
116         ---Purpose:  Returns the Connexion on the item <Index> in me. 
117     returns Connexion from MAT2d
118     is static;
119     
120     ConnexionOn(me ; Index : Integer)
121        ---Purpose: Returns <True> is there is a connexion on the item <Index>
122        --          in <me>.
123     returns Boolean from Standard
124     is static;
125     
126 fields
127     
128     direction    : Real;
129     geomElements : SequenceOfGeometry              from TColGeom2d;    
130     connexionMap : DataMapOfIntegerConnexion       from MAT2d;
131     linkRefEqui  : DataMapOfBiIntSequenceOfInteger from MAT2d;
132     linesLength  : SequenceOfInteger               from TColStd; 
133     myIsOpenResult : Boolean from Standard;
134     
135 end Circuit;
136
137