0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepFill / BRepFill_OffsetWire.cdl
1 -- Created on: 1995-04-19
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1995-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 OffsetWire from BRepFill
18
19         ---Purpose: Constructs a Offset Wire to a spine (wire or face) 
20         --          on the left of spine.
21         --          The Wire or the Face must be planar.
22 uses
23
24     Face        from TopoDS,
25     Shape       from TopoDS,
26     JoinType    from GeomAbs,
27     ListOfShape from TopTools,
28     SequenceOfShape from TopTools,
29     SequenceOfPnt from TColgp,
30     DataMapOfShapeShape               from TopTools,
31     IndexedDataMapOfOrientedShapeListOfShape from BRepFill,  
32     DataMapOfOrientedShapeListOfShape from BRepFill,  
33     BisectingLocus                    from BRepMAT2d, 
34     LinkTopoBilo                      from BRepMAT2d,
35     Bisec from Bisector,
36     TrimEdgeTool from BRepFill
37     
38 raises
39     ConstructionError from Standard,
40     NoSuchObject      from Standard
41
42 is
43
44     Create returns OffsetWire from BRepFill;
45
46     Create ( Spine : Face     from TopoDS; 
47              Join  : JoinType from GeomAbs  =  GeomAbs_Arc;
48              IsOpenResult : Boolean from Standard = Standard_False)
49     returns OffsetWire from BRepFill;
50
51     Init ( me    : in out;
52            Spine : Face     from TopoDS; 
53            Join  : JoinType from GeomAbs  =  GeomAbs_Arc;
54            IsOpenResult : Boolean from Standard = Standard_False)
55         ---Purpose: Initialize the evaluation of Offseting.
56     raises
57         ConstructionError from Standard
58     is static;
59     
60     Perform (me : in out; 
61              Offset : Real from Standard;
62              Alt    : Real from Standard = 0.0)
63         ---Purpose: Performs  an OffsetWire at  an altitude <Alt> from
64         --          the  face ( According  to  the orientation of  the
65         --          face)
66     raises
67         ConstructionError from Standard
68     is static;
69     
70     PerformWithBiLo (me      : in out; 
71                      WSP     :        Face            from TopoDS;
72                      Offset  :        Real            from Standard;
73                      Locus   :        BisectingLocus  from BRepMAT2d; 
74                      Link    : in out LinkTopoBilo    from BRepMAT2d; 
75                      Join    :        JoinType  from GeomAbs  =  GeomAbs_Arc; 
76                      Alt     :        Real      from Standard = 0.0)
77         ---Purpose: Performs an  OffsetWire 
78     raises
79         ConstructionError from Standard
80     is static;
81     
82     IsDone ( me) 
83     returns Boolean from Standard
84     is static;
85
86     Spine(me) 
87     returns Face from TopoDS
88         ---C++: return const &
89     is static;
90
91
92     Shape(me) returns Shape from TopoDS
93         ---Purpose: returns the generated shape.
94         ---C++ : return const &
95     is static;
96     
97     GeneratedShapes (me : in out ; SpineShape : Shape from TopoDS)
98         ---Purpose: Returns   the  shapes  created  from   a  subshape
99         --          <SpineShape> of the spine.
100         --          Returns the last computed Offset.   
101         --          
102         ---C++ : return const &          
103     returns ListOfShape from TopTools
104     is static;                   
105
106     JoinType (me) returns JoinType from GeomAbs
107     is static;
108     
109     Generated (me : in out )
110         ---C++: return &
111     returns IndexedDataMapOfOrientedShapeListOfShape from BRepFill
112     is static private;
113     
114     PrepareSpine (me : in out)
115         ---Purpose: Prepare the spine as follow
116         --          - Cut the spine-Edges at the extrema of curvature and
117         --            at the inflexion points.
118     is static private;
119
120     Add(me : in out; Other : OffsetWire from BRepFill)
121         ---Purpose: Add the OffsetWire <Other> to <me> and update <myMap>
122     is static private;
123     
124     UpdateDetromp (me; Detromp : in out DataMapOfOrientedShapeListOfShape from BRepFill;
125                        Shape1, Shape2 : Shape from TopoDS;
126                        Vertices : SequenceOfShape from TopTools;
127                        Params   : SequenceOfPnt   from TColgp;
128                        Bisec    : Bisec from Bisector;
129                        SOnE     : Boolean from Standard;
130                        EOnE     : Boolean from Standard;
131                        Trim     : TrimEdgeTool from BRepFill)
132     is static private;
133     
134     MakeWires (me : in  out)
135         ---Purpose: Constructs the wires with the trimmed offset edges.
136     is static private;
137     
138     FixHoles (me : in  out)
139         ---Purpose: Fix holes between open wires where it is possible
140     is static private; 
141     
142 fields
143
144     mySpine     : Face      from TopoDS;
145     myWorkSpine : Face      from TopoDS;
146     myOffset    : Real      from Standard; -- >0 ;
147     myIsOpenResult : Boolean from Standard;
148     myShape     : Shape     from TopoDS;
149     myIsDone    : Boolean   from Standard;
150     myJoinType  : JoinType  from GeomAbs;           
151     myMap       : IndexedDataMapOfOrientedShapeListOfShape from BRepFill; 
152     myBilo      : BisectingLocus                    from BRepMAT2d;
153     myLink      : LinkTopoBilo                      from BRepMAT2d;
154     myMapSpine  : DataMapOfShapeShape               from TopTools;
155     myCallGen   : Boolean                           from Standard;          
156
157 end OffsetWire;