Test for 0022778: Bug in BRepMesh
[occt.git] / src / IntWalk / IntWalk_PathPointTool.cdl
1 -- Created on: 1992-03-09
2 -- Created by: Isabelle GRIGNON
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 deferred generic class PathPointTool from IntWalk 
24     (PathPoint as any)
25
26         ---Purpose: Template class to describe the necessary ressources 
27         --          for a point used as a starting point for a marching
28         --          algorithm.
29         --          The 'marching algorithm' determines the intersection 
30         --          between an implicit surface and a parametrized surface.
31         --          these points are necessary on an arc of the surface
32
33 uses Pnt from gp,
34      Vec from gp,
35      Dir2d from gp
36
37 raises OutOfRange from Standard,
38        UndefinedDerivative from StdFail
39
40 is
41
42     Value3d(myclass; PStart: PathPoint)
43     
44         ---Purpose: Returns the 3d coordinates of the starting point.
45
46         returns Pnt from gp;
47
48
49     Value2d(myclass; PStart: PathPoint; U, V: out Real from Standard);
50     
51         ---Purpose: Returns the <U, V> parameters which are associated 
52         --          with <P>
53         --          it's the parameters which start the marching algorithm
54
55
56     IsPassingPnt(myclass; PStart: PathPoint)
57     
58         ---Purpose: Returns True if the point is a point on a non-oriented
59         --          arc, which means that the intersection line does not
60         --          stop at such a point but just go through such a point.
61         --          IsPassingPnt is True when IsOnArc is True 
62
63         returns Boolean from Standard;
64
65
66     IsTangent(myclass; PStart: PathPoint )
67     
68         ---Purpose: Returns True if the surfaces are tangent at this point.
69         --          IsTangent can be True when IsOnArc is True
70         --          if IsPassingPnt is True and IsTangent is True,this point
71         --          is a stopped point.
72
73         returns Boolean from Standard;
74
75
76     Direction3d(myclass; PStart: PathPoint)
77     
78         ---Purpose: returns the tangent at the intersection in 3d space
79         --          associated to <P>
80         --         an exception is raised if IsTangent is true.
81
82         returns Vec from gp
83
84         raises UndefinedDerivative from StdFail;
85
86
87     Direction2d(myclass; PStart: PathPoint)
88     
89         ---Purpose: returns the tangent at the intersection in the
90         --          parametric space of the parametrized surface.This tangent
91         --          is associated to the value2d
92         --          la tangente a un sens signifiant (indique le sens de chemin
93         --          ement)
94         --          an exception is raised if IsTangent is true.
95
96         returns Dir2d from gp
97
98         raises UndefinedDerivative from StdFail;
99
100
101     Multiplicity(myclass; PStart: PathPoint)
102     
103         ---Purpose: Returns the multiplicity of the point i-e 
104         --          the number of auxillar parameters associated to the
105         --          point which the principal parameters are given by Value2d 
106
107         returns Integer from Standard;
108
109
110     Parameters(myclass; PStart: PathPoint;
111                Mult: Integer from Standard;
112                U, V: out Real from Standard) 
113                
114         ---Purpose: Parametric coordinates associated to the multiplicity.
115         --          An exception is raised if Mult<=0 or Mult>multiplicity.
116
117         raises OutOfRange from Standard;
118
119
120 end PathPointTool;
121