Integration of OCCT 6.5.0 from SVN
[occt.git] / src / BRepBuilderAPI / BRepBuilderAPI_ModifyShape.cdl
1 -- File:        BRepBuilderAPI_ModifyShape.cdl
2 -- Created:     Fri Dec  2 09:02:29 1994
3 -- Author:      Jacques GOUSSARD
4 --              <jag@topsn2>
5 ---Copyright:    Matra Datavision 1994
6
7
8 deferred class ModifyShape from BRepBuilderAPI inherits MakeShape from BRepBuilderAPI
9
10         ---Purpose: Implements   the  methods   of MakeShape for   the
11         --          constant  topology modifications.  The methods are
12         --          implemented  when the modification uses a Modifier
13         --          from BRepTools. Some of  them have to be redefined
14         --          if  the  modification is  implemented with another
15         --          tool (see Transform from BRepBuilderAPI for example).
16         -- The BRepBuilderAPI package provides the following
17         -- frameworks to perform modifications of this sort:
18         -- -   BRepBuilderAPI_Copy to produce the copy of a shape,
19         -- -   BRepBuilderAPI_Transform and
20         --   BRepBuilderAPI_GTransform to apply a geometric
21         --   transformation to a shape,
22         -- -   BRepBuilderAPI_NurbsConvert to convert the
23         --   whole geometry of a shape into NURBS geometry,
24         -- -   BRepOffsetAPI_DraftAngle to build a tapered shape.
25
26 uses
27     Shape             from TopoDS,
28     Face              from TopoDS,
29     Edge              from TopoDS,
30     ShapeModification from BRepBuilderAPI,
31     ListOfShape       from TopTools,
32     
33     Modifier          from BRepTools,
34     Modification      from BRepTools
35
36 raises
37     NullObject   from Standard,
38     NoSuchObject from Standard
39 is
40
41     Initialize;
42         ---Purpose: Empty constructor.
43     
44
45     Initialize(S:Shape from TopoDS);
46         ---Purpose: Initializes the modifier with  the Shape  <S>, and
47         --          set the field <myInitialShape> to <S>.
48
49
50     Initialize(M: Modification from BRepTools);
51         ---Purpose: Set the field <myModification> with <M>.
52
53
54     Initialize(S: Shape from TopoDS; M: Modification from BRepTools);
55         ---Purpose: Initializes the modifier with  the Shape  <S>, and
56         --          set the field <myInitialShape> to <S>, and set the
57         --          field <myModification> with  <M>, the performs the
58         --          modification.
59
60
61     DoModif(me: in out; S: Shape from TopoDS)
62         ---Purpose: Performs the previously  given modification on the
63         --          shape <S>.
64     
65         raises NullObject from Standard
66         --- The  exception is raised if no modification has been given.
67         is static protected;
68
69
70     DoModif(me: in out; M: Modification from BRepTools)
71         ---Purpose: Performs the  modification   <M> on a   previously
72         --          given shape.
73     
74         raises NullObject from Standard
75         --- The  exception is raised if no shape has been given.
76         is static protected;
77
78
79     DoModif(me: in out; S: Shape from TopoDS;
80                         M: Modification from BRepTools)
81         ---Purpose: Performs the  modification <M> on the shape <S>.
82     
83         is static protected;
84
85
86 --- Private implementation method
87
88     DoModif(me: in out)
89     
90         is static private;
91
92 ---Category: Querying isg-attention il faudrait passer en modified que
93 --            les faces  dont les  bornes  sont modifiees et les faces
94 --           inclinees en generated (pas disponible aujourd 'hui dans BRepTools_modifier
95 --           a reprendre
96 --           
97     Modified (me: in out; S : Shape from TopoDS)
98         ---Purpose: Returns the list  of shapes modified from the shape
99         --          <S>. 
100         ---C++: return const & 
101         ---Level: Public
102     returns ListOfShape from TopTools
103     is redefined virtual;
104
105  
106     ModifiedShape(me; S: Shape from TopoDS)
107         returns Shape from TopoDS
108         ---Purpose: Returns the modified shape corresponding to <S>.
109         -- S can correspond to the entire initial shape or to its subshape.
110         -- Exceptions
111         -- Standard_NoSuchObject if S is not the initial shape or
112         -- a subshape of the initial shape to which the
113         -- transformation has been applied. Raises NoSuchObject from Standard
114         -- if S is not the initial shape or a sub-shape
115         -- of the initial shape.
116         ---C++: return const&
117         raises NoSuchObject from Standard
118              
119     is virtual;
120
121 fields
122
123     myModifier     : Modifier     from BRepTools is protected;
124     myInitialShape : Shape        from TopoDS    is protected;
125     myModification : Modification from BRepTools is protected;
126     
127 end ModifyShape;