0022792: Globally defined symbol PI conflicts with VTK definition (Intel compiler)
[occt.git] / src / IntImpParGen / IntImpParGen_Intersector.cdl
1 -- File:        Intersector.cdl
2 -- Created:     Mon Mar  2 10:41:48 1992
3 -- Author:      Laurent BUCHARD
4 --              <lbr@phobox>
5 ---Copyright:    Matra Datavision 1992
6
7
8 generic class Intersector from IntImpParGen ( 
9          ImpTool             as any; -- as ImpTool from IntImpParGen
10          ParCurve            as any;
11          ParTool             as any; -- as ParTool from IntImpParGen(ParCurve)   
12          ProjectOnPCurveTool as any) -- as ProjectOnPCurveToolGen from IntCurve
13
14 inherits Intersection from IntRes2d
15
16         ---Purpose: Calculates all the IntersectionPoints 
17         --          and IntersectionSegments between an implicit curve
18         --          (see class ImpTool) and a parametrised curve (see class
19         --          ParTool) on their domains.
20         --          The results of the intersection are stored in the 
21         --          Intersection class from IntRes2d.
22         --          The parametrised curve has to be bounded (the domain
23         --          of this curve must verify HasFirstPoint returns True
24         --          and HasLastPoint returns True).
25
26
27
28 uses IntersectionPoint             from IntRes2d,
29      IntersectionSegment           from IntRes2d,
30      SequenceOfIntersectionPoint   from IntRes2d,
31      SequenceOfIntersectionSegment from IntRes2d,
32      Domain                        from IntRes2d, 
33      Pnt2d                         from gp,
34      Array1OfReal                  from TColStd  
35
36
37 raises ConstructionError from Standard
38  
39
40     class MyImpParTool instantiates ImpParTool from IntImpParGen(
41                    ImpTool,
42                    ParCurve,    
43                    ParTool);
44
45
46
47 is
48
49     Create
50
51         ---Purpose: Empty constructor.
52
53         returns Intersector from IntImpParGen;
54
55
56     Create ( ITool      : ImpTool;        
57              Dom1       : Domain from IntRes2d;         
58              PCurve     : ParCurve;        
59              Dom2       : Domain from IntRes2d;
60              TolConf,Tol: Real from Standard)
61     
62         ---Purpose: Intersection between an implicit curve and
63         --          a parametrised curve.
64         --          The exception ConstructionError is raised if the domain
65         --          of the parametrised curve does not verify HasFirstPoint
66         --          and HasLastPoint return True.
67     
68         returns Intersector       from IntImpParGen
69         raises  ConstructionError from Standard;
70
71
72     Perform (me: in out;
73              ITool      : ImpTool;        
74              Dom1       : Domain from IntRes2d;         
75              PCurve     : ParCurve;        
76              Dom2       : Domain from IntRes2d;
77              TolConf,Tol: Real from Standard)
78     
79         ---Purpose: Intersection between an implicit curve and
80         --          a parametrised curve.
81         --          The exception ConstructionError is raised if the domain
82         --          of the parametrised curve does not verify HasFirstPoint
83         --          and HasLastPoint return True.
84     
85     
86         raises ConstructionError from Standard
87         is static;      
88
89          FindU  (   me   ; 
90                     parameter    :            Real  from  Standard  ;
91                     point        :  in  out   Pnt2d from  gp; 
92                     TheParCurev  :            ParCurve; 
93                     TheImpTool   :            ImpTool)
94             returns  Real  from  Standard
95             is static ; 
96                         
97             
98          FindV  (  me ;   
99                    parameter          :           Real      from  Standard ; 
100                    point              :  in  out  Pnt2d     from  gp  ; 
101                    TheImpTool         :           ImpTool   ;
102                    ParCurve           :           ParCurve  ; 
103                    TheParCurveDomain  :           Domain    from  IntRes2d  ; 
104                    V0                 :           Real      from  Standard ; 
105                    V1                 :           Real      from  Standard ; 
106                    Tolerance          :           Real      from  Standard )
107             returns  Real  from  Standard 
108             is static; 
109
110           And_Domaine_Objet1_Intersections  (  me  ; 
111                    TheImpTool         :           ImpTool   ; 
112                    TheParCurve        :           ParCurve  ; 
113                    TheImpCurveDomain  :           Domain    from  IntRes2d  ;  
114                    TheParCurveDomain  :           Domain    from  IntRes2d  ;  
115                    NbResultats        :  in  out  Integer  from  Standard  ; 
116                    Inter2_And_Domain2 :  in  out  Array1OfReal  from  TColStd  ;
117                    Inter1             :  in  out  Array1OfReal  from  TColStd  ; 
118                    Resultat1          :  in  out  Array1OfReal  from  TColStd  ; 
119                    Resultat2          :  in  out  Array1OfReal  from  TColStd  ;  
120                    EpsNul             :           Real  from  Standard ) 
121             is static; 
122                    
123                    
124 end Intersector;
125
126
127
128
129
130