Salome HOME
PR: distributed geom and smesh scripts: first step
[modules/geom.git] / src / GEOMAlgo / BlockFix_SphereSpaceModifier.cdl
1 -- Copyright (C) 2007-2012  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 --
22
23 --  File:       BlockFix_SphereSpaceModifier.cdl
24 --  Created:    Tue Dec  7 12:01:49 2004
25 --  Author:     Pavel Durandin
26 --
27 class SphereSpaceModifier from BlockFix inherits Modification from BRepTools
28
29         ---Purpose: Rotation of the parametric space of the sphere in order
30         --          to avoid the seam and degenerared edge within it
31
32 uses
33     Vertex   from TopoDS,
34     Edge     from TopoDS,
35     Face     from TopoDS,
36     Location from TopLoc,
37     Shape    from GeomAbs,
38     Pnt      from gp,
39     Curve    from Geom,
40     Curve    from Geom2d,
41     Surface  from Geom,
42     IndexedMapOfTransient from TColStd,
43     DataMapOfShapeInteger from TopTools
44
45 is
46
47     Create returns mutable SphereSpaceModifier from BlockFix;
48
49     SetTolerance(me: mutable; Toler: Real);
50         ---Purpose: Sets the tolerance for recognition of geometry
51
52     NewSurface(me: mutable; F  :     Face     from TopoDS;
53                             S  : out Surface  from Geom;
54                             L  : out Location from TopLoc;
55                             Tol: out Real     from Standard;
56                             RevWires : out Boolean from Standard;
57                             RevFace  : out Boolean from Standard)
58     returns Boolean from Standard;
59         ---Purpose: Returns Standard_True if the face <F> has  been
60         --          modified. In this case, <S> is the new geometric
61         --          support of the face, <L> the new location,  <Tol>
62         --          the new tolerance.  Otherwise, returns
63         --          Standard_False, and <S>, <L>, <Tol> are  not
64         --          significant.
65
66     NewCurve(me: mutable; E  :     Edge     from TopoDS;
67                           C  : out Curve    from Geom;
68                           L  : out Location from TopLoc;
69                           Tol: out Real     from Standard)
70     returns Boolean from Standard;
71         ---Purpose: Returns Standard_True  if  the edge  <E> has  been
72         --          modified.  In this case,  <C> is the new geometric
73         --          support of the  edge, <L> the  new location, <Tol>
74         --          the         new    tolerance.   Otherwise, returns
75         --          Standard_False,    and  <C>,  <L>,   <Tol> are not
76         --          significant.
77
78     NewPoint(me: mutable; V  :     Vertex   from TopoDS;
79                           P  : out Pnt      from gp;
80                           Tol: out Real     from Standard)
81     returns Boolean from Standard;
82         ---Purpose: Returns  Standard_True if the  vertex <V> has been
83         --          modified.  In this  case, <P> is the new geometric
84         --          support of the vertex,   <Tol> the new  tolerance.
85         --          Otherwise, returns Standard_False, and <P>,  <Tol>
86         --          are not significant.
87
88     NewCurve2d(me: mutable; E    :     Edge     from TopoDS;
89                             F    :     Face     from TopoDS;
90                             NewE :     Edge     from TopoDS;
91                             NewF :     Face     from TopoDS;
92                             C    : out Curve    from Geom2d;
93                             Tol  : out Real     from Standard)
94     returns Boolean from Standard;
95         ---Purpose: Returns Standard_True if  the edge  <E> has a  new
96         --          curve on surface on the face <F>.In this case, <C>
97         --          is the new geometric support of  the edge, <L> the
98         --          new location, <Tol> the new tolerance.
99         --
100         --          Otherwise, returns  Standard_False, and <C>,  <L>,
101         --          <Tol> are not significant.
102         --
103         --          <NewE> is the new  edge created from  <E>.  <NewF>
104         --          is the new face created from <F>. They may be usefull.
105
106     NewParameter(me: mutable; V  :     Vertex from TopoDS;
107                               E  :     Edge   from TopoDS;
108                               P  : out Real   from Standard;
109                               Tol: out Real   from Standard)
110     returns Boolean from Standard;
111         ---Purpose: Returns Standard_True if the Vertex  <V> has a new
112         --          parameter on the  edge <E>. In  this case,  <P> is
113         --          the parameter,    <Tol>  the     new    tolerance.
114         --          Otherwise, returns Standard_False, and <P>,  <Tol>
115         --          are not significant.
116
117     Continuity(me: mutable; E          : Edge from TopoDS;
118                             F1,F2      : Face from TopoDS;
119                             NewE       : Edge from TopoDS;
120                             NewF1,NewF2: Face from TopoDS)
121     returns Shape from GeomAbs;
122         ---Purpose: Returns the  continuity of  <NewE> between <NewF1>
123         --          and <NewF2>.
124         --
125         --          <NewE> is the new  edge created from <E>.  <NewF1>
126         --          (resp. <NewF2>) is the new  face created from <F1>
127         --          (resp. <F2>).
128
129     ForRotation(me: mutable; F: Face from TopoDS) returns Boolean;
130
131 fields
132
133     myTolerance   : Real;
134     myMapOfFaces  : DataMapOfShapeInteger from TopTools;
135     myMapOfSpheres: IndexedMapOfTransient from TColStd;
136     --myMapOfGeom: MapOfShapeTransient from TColStd;
137
138 end SphereSpaceModifier;
139