1 -- File: Intersector.cdl
2 -- Created: Mon Mar 2 10:41:48 1992
3 -- Author: Laurent BUCHARD
5 ---Copyright: Matra Datavision 1992
8 generic class Intersector from IntImpParGen (
9 ImpTool as any; -- as ImpTool from IntImpParGen
11 ParTool as any; -- as ParTool from IntImpParGen(ParCurve)
12 ProjectOnPCurveTool as any) -- as ProjectOnPCurveToolGen from IntCurve
14 inherits Intersection from IntRes2d
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).
28 uses IntersectionPoint from IntRes2d,
29 IntersectionSegment from IntRes2d,
30 SequenceOfIntersectionPoint from IntRes2d,
31 SequenceOfIntersectionSegment from IntRes2d,
34 Array1OfReal from TColStd
37 raises ConstructionError from Standard
40 class MyImpParTool instantiates ImpParTool from IntImpParGen(
51 ---Purpose: Empty constructor.
53 returns Intersector from IntImpParGen;
56 Create ( ITool : ImpTool;
57 Dom1 : Domain from IntRes2d;
59 Dom2 : Domain from IntRes2d;
60 TolConf,Tol: Real from Standard)
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.
68 returns Intersector from IntImpParGen
69 raises ConstructionError from Standard;
74 Dom1 : Domain from IntRes2d;
76 Dom2 : Domain from IntRes2d;
77 TolConf,Tol: Real from Standard)
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.
86 raises ConstructionError from Standard
90 parameter : Real from Standard ;
91 point : in out Pnt2d from gp;
92 TheParCurev : ParCurve;
94 returns Real from Standard
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
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 )