Salome HOME
06eedfc9f6e3951c82676270d7124c7f3f2846a5
[modules/geom.git] / src / GEOMAlgo / BlockFix_PeriodicSurfaceModifier.cdl
1 --  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 --
3 --  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 --  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 --
6 --  This library is free software; you can redistribute it and/or
7 --  modify it under the terms of the GNU Lesser General Public
8 --  License as published by the Free Software Foundation; either
9 --  version 2.1 of the License.
10 --
11 --  This library is distributed in the hope that it will be useful,
12 --  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 --  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 --  Lesser General Public License for more details.
15 --
16 --  You should have received a copy of the GNU Lesser General Public
17 --  License along with this library; if not, write to the Free Software
18 --  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 --
20 --  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 --  File:       BlockFix_PeriodicSurfaceModifier.cdl
22 --  Created:    Wed Dec 15 10:03:50 2004
23 --  Author:     Sergey KUUL
24
25 class PeriodicSurfaceModifier from BlockFix inherits Modification from BRepTools 
26
27         ---Purpose: 
28
29 uses
30     Vertex   from TopoDS, 
31     Edge     from TopoDS,
32     Face     from TopoDS,
33     Location from TopLoc,
34     Shape    from GeomAbs,
35     Pnt      from gp,
36     Curve    from Geom,
37     Curve    from Geom2d,
38     Surface  from Geom,
39     IndexedMapOfTransient from TColStd,
40     DataMapOfShapeInteger from TopTools
41
42 is
43     
44     Create returns mutable PeriodicSurfaceModifier from BlockFix;
45     
46     SetTolerance(me: mutable; Toler: Real);
47         ---Purpose: Sets the tolerance for recognition of geometry
48
49     NewSurface(me: mutable; F  :     Face     from TopoDS;
50                             S  : out Surface  from Geom;
51                             L  : out Location from TopLoc;
52                             Tol: out Real     from Standard;
53                             RevWires : out Boolean from Standard;
54                             RevFace  : out Boolean from Standard)
55     returns Boolean from Standard;
56         ---Purpose: Returns Standard_True if the face <F> has  been
57         --          modified. In this case, <S> is the new geometric
58         --          support of the face, <L> the new location,  <Tol>
59         --          the new tolerance.  Otherwise, returns
60         --          Standard_False, and <S>, <L>, <Tol> are  not
61         --          significant.
62         
63     NewCurve(me: mutable; E  :     Edge     from TopoDS;
64                           C  : out Curve    from Geom;
65                           L  : out Location from TopLoc;
66                           Tol: out Real     from Standard)
67     returns Boolean from Standard;
68         ---Purpose: Returns Standard_True  if  the edge  <E> has  been
69         --          modified.  In this case,  <C> is the new geometric
70         --          support of the  edge, <L> the  new location, <Tol>
71         --          the         new    tolerance.   Otherwise, returns
72         --          Standard_False,    and  <C>,  <L>,   <Tol> are not
73         --          significant.
74
75     NewPoint(me: mutable; V  :     Vertex   from TopoDS;
76                           P  : out Pnt      from gp;
77                           Tol: out Real     from Standard)
78     returns Boolean from Standard;
79         ---Purpose: Returns  Standard_True if the  vertex <V> has been
80         --          modified.  In this  case, <P> is the new geometric
81         --          support of the vertex,   <Tol> the new  tolerance.
82         --          Otherwise, returns Standard_False, and <P>,  <Tol>
83         --          are not significant.
84
85     NewCurve2d(me: mutable; E    :     Edge     from TopoDS;
86                             F    :     Face     from TopoDS;
87                             NewE :     Edge     from TopoDS;
88                             NewF :     Face     from TopoDS;
89                             C    : out Curve    from Geom2d;
90                             Tol  : out Real     from Standard)
91     returns Boolean from Standard;
92         ---Purpose: Returns Standard_True if  the edge  <E> has a  new
93         --          curve on surface on the face <F>.In this case, <C>
94         --          is the new geometric support of  the edge, <L> the
95         --          new location, <Tol> the new tolerance.
96         --          
97         --          Otherwise, returns  Standard_False, and <C>,  <L>,
98         --          <Tol> are not significant.
99         --          
100         --          <NewE> is the new  edge created from  <E>.  <NewF>
101         --          is the new face created from <F>. They may be usefull.
102
103     NewParameter(me: mutable; V  :     Vertex from TopoDS;
104                               E  :     Edge   from TopoDS;
105                               P  : out Real   from Standard;
106                               Tol: out Real   from Standard)
107     returns Boolean from Standard;
108         ---Purpose: Returns Standard_True if the Vertex  <V> has a new
109         --          parameter on the  edge <E>. In  this case,  <P> is
110         --          the parameter,    <Tol>  the     new    tolerance.
111         --          Otherwise, returns Standard_False, and <P>,  <Tol>
112         --          are not significant.
113
114     Continuity(me: mutable; E          : Edge from TopoDS;
115                             F1,F2      : Face from TopoDS;
116                             NewE       : Edge from TopoDS;
117                             NewF1,NewF2: Face from TopoDS)
118     returns Shape from GeomAbs;
119         ---Purpose: Returns the  continuity of  <NewE> between <NewF1>
120         --          and <NewF2>.
121         --          
122         --          <NewE> is the new  edge created from <E>.  <NewF1>
123         --          (resp. <NewF2>) is the new  face created from <F1>
124         --          (resp. <F2>).
125     
126
127 fields 
128     
129     myTolerance    : Real;
130     myMapOfFaces   : DataMapOfShapeInteger from TopTools;
131     myMapOfSurfaces: IndexedMapOfTransient from TColStd;
132
133 end PeriodicSurfaceModifier;