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
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class Circuit from MAT2d
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.
29 JoinType from GeomAbs,
30 SequenceOfInteger from TColStd,
32 SequenceOfGeometry from TColGeom2d,
33 SequenceOfBoolean from TColStd,
34 SequenceOfConnexion from MAT2d,
37 SequenceOfSequenceOfGeometry from MAT2d,
38 DataMapOfIntegerConnexion from MAT2d,
40 DataMapOfBiIntSequenceOfInteger from MAT2d
44 Create(aJoinType : JoinType from GeomAbs = GeomAbs_Arc;
45 IsOpenResult : Boolean from Standard = Standard_False)
46 returns Circuit from MAT2d;
48 ---Category: Computation
50 Perform(me : mutable ;
51 aFigure : in out SequenceOfSequenceOfGeometry;
52 IsClosed : SequenceOfBoolean from TColStd;
57 IsSharpCorner(me; Geom1, Geom2 : Geometry from Geom2d;
58 Direction : Real from Standard)
62 PassByLast(me ; C1,C2 : Connexion from MAT2d)
66 Side (me ; C : Connexion from MAT2d; Line : SequenceOfGeometry)
70 UpDateLink(me : mutable ;
71 IFirst,ILine,ICurveFirst,ICurveLast: Integer)
74 SortRefToEqui(me : mutable ; aBiInt : BiInt from MAT2d)
77 InitOpen(me ; Line : in out SequenceOfGeometry)
80 InsertCorner(me ; Line : in out SequenceOfGeometry)
84 Line : in out SequenceOfGeometry;
85 Connexions : in out SequenceOfConnexion from MAT2d;
86 Father : Connexion from MAT2d;
90 ConstructCircuit(me : mutable ;
91 aFigure : SequenceOfSequenceOfGeometry;
93 aPath : MiniPath from MAT2d)
99 ---Purpose: Returns the Number of Items .
100 returns Integer is static;
102 Value(me ; Index : Integer)
103 ---Purpose: Returns the item at position <Index> in <me>.
104 returns Geometry from Geom2d
107 LineLength(me ; IndexLine : Integer)
108 ---Purpose: Returns the number of items on the line <IndexLine>.
109 returns Integer from Standard
112 RefToEqui(me ; IndLine : Integer; IndCurve : Integer)
113 ---Purpose: Returns the set of index of the items in <me>corresponding
114 -- to the curve <IndCurve> on the line <IndLine> from the
117 ---C++: return const&
118 returns SequenceOfInteger from TColStd
121 Connexion(me ; Index : Integer)
122 ---Purpose: Returns the Connexion on the item <Index> in me.
123 returns Connexion from MAT2d
126 ConnexionOn(me ; Index : Integer)
127 ---Purpose: Returns <True> is there is a connexion on the item <Index>
129 returns Boolean from Standard
135 geomElements : SequenceOfGeometry from TColGeom2d;
136 connexionMap : DataMapOfIntegerConnexion from MAT2d;
137 linkRefEqui : DataMapOfBiIntSequenceOfInteger from MAT2d;
138 linesLength : SequenceOfInteger from TColStd;
139 myJoinType : JoinType from GeomAbs;
140 myIsOpenResult : Boolean from Standard;