0023982: Wire explorer raises exception
[occt.git] / src / BRepTools / BRepTools_TrsfModification.cdl
1 -- Created on: 1994-08-25
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 class TrsfModification from BRepTools inherits Modification from BRepTools
24
25 ---Purpose: Describes a modification that uses a gp_Trsf to
26 -- change the geometry of a shape. All functions return
27 -- true and transform the geometry of the shape.
28         
29 uses Face     from TopoDS,
30      Edge     from TopoDS,
31      Vertex   from TopoDS,
32      Location from TopLoc,
33      Shape    from GeomAbs,
34      
35      Surface  from Geom,
36      Curve    from Geom,
37      Curve    from Geom2d,
38      
39      Trsf     from gp,
40      Pnt      from gp
41      
42 is
43
44     Create (T : Trsf from gp) returns mutable TrsfModification from BRepTools; 
45     
46     Trsf(me: mutable)
47         ---Purpose: Provides access to the gp_Trsf associated with this
48         -- modification. The transformation can be changed.
49                 ---C++: return &
50         returns Trsf from gp
51         is static;
52
53
54     NewSurface(me: mutable; F       :     Face     from TopoDS;
55                             S       : out Surface  from Geom;
56                             L       : out Location from TopLoc;
57                             Tol     : out Real     from Standard;
58                             RevWires : out Boolean from Standard;
59                             RevFace  : out Boolean from Standard)
60     
61         ---Purpose: Returns true if the face F has been modified.
62 -- If the face has been modified:
63 -- - S is the new geometry of the face,
64 -- - L is its new location, and
65 -- - Tol is the new tolerance.
66 -- RevWires is set to true when the modification
67 -- reverses the normal of the surface (the wires have to be reversed).
68 -- RevFace is set to true if the orientation of the
69 -- modified face changes in the shells which contain it.
70 -- For this class, RevFace returns true if the gp_Trsf
71 -- associated with this modification is negative.
72     
73     
74         returns Boolean from Standard
75         ;
76         
77
78     NewCurve(me: mutable; E  :     Edge     from TopoDS;
79                           C  : out Curve    from Geom;
80                           L  : out Location from TopLoc;
81                           Tol: out Real     from Standard)
82     
83         returns Boolean from Standard
84         ;
85         
86         ---Purpose: Returns true if the edge E has been modified.
87 -- If the edge has been modified:
88 -- - C is the new geometric support of the edge,
89 -- - L is the new location, and
90 -- - Tol is the new tolerance.
91 --   If the edge has not been modified, this function
92 -- returns false, and the values of C, L and Tol are not significant.
93     
94
95     NewPoint(me: mutable; V  :     Vertex   from TopoDS;
96                           P  : out Pnt      from gp;
97                           Tol: out Real     from Standard)
98     
99         returns Boolean from Standard
100         ;
101         
102         ---Purpose: Returns true if the vertex V has been modified.
103 -- If the vertex has been modified:
104 -- - P is the new geometry of the vertex, and
105 -- - Tol is the new tolerance.
106 --   If the vertex has not been modified this function
107 -- returns false, and the values of P and Tol are not significant.
108     
109
110     NewCurve2d(me: mutable;  E    :     Edge     from TopoDS;
111                              F    :     Face     from TopoDS;
112                              NewE :     Edge     from TopoDS;
113                              NewF :     Face     from TopoDS;
114                              C    : out Curve    from Geom2d;
115                              Tol  : out Real     from Standard)
116     
117         returns Boolean from Standard
118         ;
119         
120         ---Purpose: Returns true if the edge E has a new curve on surface on the face F.
121 -- If a new curve exists:
122 -- - C is the new geometric support of the edge,
123 -- - L is the new location, and
124 -- - Tol the new tolerance.
125 --   If no new curve exists, this function returns false, and
126 -- the values of C, L and Tol are not significant.
127     
128
129     NewParameter(me: mutable; V  :     Vertex   from TopoDS;
130                               E  :     Edge     from TopoDS;
131                               P  : out Real     from Standard;
132                               Tol: out Real     from Standard)
133     
134         returns Boolean from Standard
135         ;
136         
137         ---Purpose: Returns true if the Vertex V has a new parameter on the edge E.
138 -- If a new parameter exists:
139 -- - P is the parameter, and
140 -- - Tol is the new tolerance.
141 --   If no new parameter exists, this function returns false,
142 -- and the values of P and Tol are not significant.
143     
144
145
146     
147
148     Continuity(me: mutable; E          : Edge from TopoDS;
149                             F1,F2      : Face from TopoDS;
150                             NewE       : Edge from TopoDS;
151                             NewF1,NewF2: Face from TopoDS)
152     
153         returns Shape from GeomAbs
154         
155         ---Purpose: Returns the  continuity of  <NewE> between <NewF1>
156         --          and <NewF2>.
157         --          
158         --          <NewE> is the new  edge created from <E>.  <NewF1>
159         --          (resp. <NewF2>) is the new  face created from <F1>
160         --          (resp. <F2>).
161
162         ;
163
164
165
166 fields
167
168     myTrsf : Trsf from gp;
169
170 end TrsfModification;