5cea4f6d3683000ce5f2e1c0d9f10b4044a48fef
[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     DataMapOfShapeShape               from TopTools,
29     IndexedDataMapOfOrientedShapeListOfShape from BRepFill,  
30     BisectingLocus                    from BRepMAT2d, 
31     LinkTopoBilo                      from BRepMAT2d
32     
33 raises
34     ConstructionError from Standard,
35     NoSuchObject      from Standard
36
37 is
38
39     Create returns OffsetWire from BRepFill;
40
41     Create ( Spine : Face     from TopoDS; 
42              Join  : JoinType from GeomAbs  =  GeomAbs_Arc)
43     returns OffsetWire from BRepFill;
44
45     Init ( me    : in out;
46            Spine : Face     from TopoDS; 
47            Join  : JoinType from GeomAbs  =  GeomAbs_Arc)
48         ---Purpose: Initialize the evaluation of Offseting.
49     raises
50         ConstructionError from Standard
51     is static;
52     
53     Perform (me : in out; 
54              Offset : Real from Standard;
55              Alt    : Real from Standard = 0.0)
56         ---Purpose: Performs  an OffsetWire at  an altitude <Alt> from
57         --          the  face ( According  to  the orientation of  the
58         --          face)
59     raises
60         ConstructionError from Standard
61     is static;
62     
63     PerformWithBiLo (me      : in out; 
64                      WSP     :        Face            from TopoDS;
65                      Offset  :        Real            from Standard;
66                      Locus   :        BisectingLocus  from BRepMAT2d; 
67                      Link    : in out LinkTopoBilo    from BRepMAT2d; 
68                      Join    :        JoinType  from GeomAbs  =  GeomAbs_Arc; 
69                      Alt     :        Real      from Standard = 0.0)
70         ---Purpose: Performs an  OffsetWire 
71     raises
72         ConstructionError from Standard
73     is static;
74     
75     IsDone ( me) 
76     returns Boolean from Standard
77     is static;
78
79     Spine(me) 
80     returns Face from TopoDS
81         ---C++: return const &
82     is static;
83
84
85     Shape(me) returns Shape from TopoDS
86         ---Purpose: returns the generated shape.
87         ---C++ : return const &
88     is static;
89     
90     GeneratedShapes (me : in out ; SpineShape : Shape from TopoDS)
91         ---Purpose: Returns   the  shapes  created  from   a  subshape
92         --          <SpineShape> of the spine.
93         --          Returns the last computed Offset.   
94         --          
95         ---C++ : return const &          
96     returns ListOfShape from TopTools
97     is static;                   
98
99     JoinType (me) returns JoinType from GeomAbs
100     is static;
101     
102     Generated (me : in out )
103         ---C++: return &
104     returns IndexedDataMapOfOrientedShapeListOfShape from BRepFill
105     is static private;
106     
107     PrepareSpine (me : in out)
108         ---Purpose: Prepare the spine as follow
109         --          - Cut the spine-Edges at the extrema of curvature and
110         --            at the inflexion points.
111     is static private;
112
113     Add(me : in out; Other : OffsetWire from BRepFill)
114         ---Purpose: Add the OffsetWire <Other> to <me> and update <myMap>
115     is static private;
116     
117     MakeWires (me : in  out)
118         ---Purpose: Constructs the wires with the trimmed offset edges.
119     is static private;
120     
121     FixHoles (me : in  out)
122         ---Purpose: Fix holes between open wires where it is possible
123     is static private; 
124     
125 fields
126
127     mySpine     : Face      from TopoDS;
128     myWorkSpine : Face      from TopoDS;
129     myOffset    : Real      from Standard; -- >0 ;
130     myShape     : Shape     from TopoDS;
131     myIsDone    : Boolean   from Standard;
132     myJoinType  : JoinType  from GeomAbs;           
133     myMap       : IndexedDataMapOfOrientedShapeListOfShape from BRepFill; 
134     myBilo      : BisectingLocus                    from BRepMAT2d;
135     myLink      : LinkTopoBilo                      from BRepMAT2d;
136     myMapSpine  : DataMapOfShapeShape               from TopTools;
137     myCallGen   : Boolean                           from Standard;          
138
139 end OffsetWire;