0024624: Lost word in license statement in source files
[occt.git] / src / BRepOffsetAPI / BRepOffsetAPI_MakeOffset.cdl
1 -- Created on: 1995-09-18
2 -- Created by: Bruno DUMORTIER
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 MakeOffset from BRepOffsetAPI inherits MakeShape from BRepBuilderAPI
18
19         ---Purpose: Describes algorithms for offsetting wires from a set of
20         -- wires contained in a planar face.
21         -- A MakeOffset object provides a framework for:
22         -- - defining the construction of an offset,
23         -- - implementing the construction algorithm, and
24         -- - consulting the result. 
25
26 uses
27     Shape             from TopoDS,
28     Wire              from TopoDS,
29     Face              from TopoDS,
30     ListOfShape       from TopTools,
31     OffsetWire        from BRepFill, 
32     ListOfOffsetWire  from BRepFill,
33     JoinType          from GeomAbs
34     
35     
36 raises
37     NotDone from StdFail
38     
39 is
40     Create returns MakeOffset from BRepOffsetAPI;
41         ---Purpose: Constructs an algorithm for creating an empty offset
42     Create( Spine : Face from TopoDS;
43             Join  : JoinType from GeomAbs = GeomAbs_Arc)
44     returns MakeOffset from BRepOffsetAPI;
45         ---Purpose: Constructs an algorithm for creating an algorithm
46         -- to build parallels to the spine Spine   
47     Init( me    : in out;
48           Spine : Face     from TopoDS; 
49           Join  : JoinType from GeomAbs  =  GeomAbs_Arc)
50         ---Purpose: Initializes the algorithm to construct parallels to the spine Spine.
51         -- Join defines the type of parallel generated by the
52         -- salient vertices of the spine. The default type is
53         -- GeomAbs_Arc where the vertices generate sections
54         -- of a circle. At present, this is the only construction type implemented.
55     is static;
56     
57     Create( Spine : Wire from TopoDS;
58             Join  : JoinType from GeomAbs = GeomAbs_Arc)
59     returns MakeOffset from BRepOffsetAPI;
60     
61     Init( me    : in out;
62           Join  : JoinType from GeomAbs  =  GeomAbs_Arc)
63         ---Purpose: Initialize the evaluation of Offseting.
64     is static;
65
66     AddWire (me : in out;
67              Spine : Wire from TopoDS)
68         ---Purpose: Initializes the algorithm to construct parallels to the wire Spine.
69     is static;
70
71     Perform (me : in out; 
72              Offset : Real from Standard;
73              Alt    : Real from Standard = 0.0)
74         ---Purpose:  Computes a parallel to the spine at distance Offset and
75         -- at an altitude Alt from the plane of the spine in relation
76         -- to the normal to the spine.
77         -- Exceptions: StdFail_NotDone if the offset is not built.
78     raises
79         NotDone from StdFail
80     is static;
81
82         
83     Build(me : in out)
84     is redefined;
85         ---Purpose: Builds the resulting shape (redefined from MakeShape).
86         ---Level: Public    
87
88     Generated  (me: in out; S : Shape from TopoDS)
89         ---Purpose: returns a list of the created shapes
90         --          from the shape <S>.
91         ---C++:     return const &
92         ---Level: Public
93     returns ListOfShape from TopTools
94     is redefined;
95
96
97 fields
98
99     myIsInitialized : Boolean          from Standard;
100     myLastIsLeft    : Boolean          from Standard;
101     myJoin          : JoinType         from GeomAbs;    
102     myFace          : Face             from TopoDS;
103     myWires         : ListOfShape      from TopTools;   
104     myLeft          : ListOfOffsetWire from BRepFill;
105     myRight         : ListOfOffsetWire from BRepFill;
106     
107 end MakeOffset;