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