0025520: To provide info on what has been done by Shape Process and Shape Fix
[occt.git] / src / ShapeCustom / ShapeCustom_DirectModification.cdl
1 -- Created on: 1998-06-03
2 -- Created by: data exchange team
3 -- Copyright (c) 1998-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 DirectModification from ShapeCustom 
18 inherits Modification from ShapeCustom
19
20         ---Purpose: implements a modification for the BRepTools
21         --          Modifier algortihm. Will redress indirect
22         --          surfaces.
23
24 uses
25     Vertex   from TopoDS,
26     Edge     from TopoDS,
27     Face     from TopoDS,
28     Location from TopLoc,
29      
30     Shape    from GeomAbs,
31      
32     Pnt      from gp,
33     Curve    from Geom,
34     Curve    from Geom2d,
35     Surface  from Geom
36
37 is
38
39     Create returns DirectModification from ShapeCustom;
40
41     NewSurface(me: mutable; F  :     Face     from TopoDS;
42                             S  : out Surface  from Geom;
43                             L  : out Location from TopLoc;
44                             Tol: out Real     from Standard;
45                             RevWires : out Boolean from Standard;
46                             RevFace  : out Boolean from Standard)
47     returns Boolean from Standard;
48         ---Purpose: Returns Standard_True if the face <F> has  been
49         --          modified. In this case, <S> is the new geometric
50         --          support of the face, <L> the new location,  <Tol>
51         --          the new tolerance.  Otherwise, returns
52         --          Standard_False, and <S>, <L>, <Tol> are  not
53         --          significant.
54         
55     NewCurve(me: mutable; E  :     Edge     from TopoDS;
56                           C  : out Curve    from Geom;
57                           L  : out Location from TopLoc;
58                           Tol: out Real     from Standard)
59     returns Boolean from Standard;
60         ---Purpose: Returns Standard_True  if  the edge  <E> has  been
61         --          modified.  In this case,  <C> is the new geometric
62         --          support of the  edge, <L> the  new location, <Tol>
63         --          the         new    tolerance.   Otherwise, returns
64         --          Standard_False,    and  <C>,  <L>,   <Tol> are not
65         --          significant.
66
67     NewPoint(me: mutable; V  :     Vertex   from TopoDS;
68                           P  : out Pnt      from gp;
69                           Tol: out Real     from Standard)
70     returns Boolean from Standard;
71         ---Purpose: Returns  Standard_True if the  vertex <V> has been
72         --          modified.  In this  case, <P> is the new geometric
73         --          support of the vertex,   <Tol> the new  tolerance.
74         --          Otherwise, returns Standard_False, and <P>,  <Tol>
75         --          are not significant.
76
77     NewCurve2d(me: mutable; E    :     Edge     from TopoDS;
78                             F    :     Face     from TopoDS;
79                             NewE :     Edge     from TopoDS;
80                             NewF :     Face     from TopoDS;
81                             C    : out Curve    from Geom2d;
82                             Tol  : out Real     from Standard)
83     returns Boolean from Standard;
84         ---Purpose: Returns Standard_True if  the edge  <E> has a  new
85         --          curve on surface on the face <F>.In this case, <C>
86         --          is the new geometric support of  the edge, <L> the
87         --          new location, <Tol> the new tolerance.
88         --          
89         --          Otherwise, returns  Standard_False, and <C>,  <L>,
90         --          <Tol> are not significant.
91         --          
92         --          <NewE> is the new  edge created from  <E>.  <NewF>
93         --          is the new face created from <F>. They may be usefull.
94
95     NewParameter(me: mutable; V  :     Vertex from TopoDS;
96                               E  :     Edge   from TopoDS;
97                               P  : out Real   from Standard;
98                               Tol: out Real   from Standard)
99     returns Boolean from Standard;
100         ---Purpose: Returns Standard_True if the Vertex  <V> has a new
101         --          parameter on the  edge <E>. In  this case,  <P> is
102         --          the parameter,    <Tol>  the     new    tolerance.
103         --          Otherwise, returns Standard_False, and <P>,  <Tol>
104         --          are not significant.
105
106     Continuity(me: mutable; E          : Edge from TopoDS;
107                             F1,F2      : Face from TopoDS;
108                             NewE       : Edge from TopoDS;
109                             NewF1,NewF2: Face from TopoDS)
110     returns Shape from GeomAbs;
111         ---Purpose: Returns the  continuity of  <NewE> between <NewF1>
112         --          and <NewF2>.
113         --          
114         --          <NewE> is the new  edge created from <E>.  <NewF1>
115         --          (resp. <NewF2>) is the new  face created from <F1>
116         --          (resp. <F2>).
117
118 end DirectModification;