0023625: New functionality building reflect lines on a shape
[occt.git] / src / Contap / Contap_TopolTool.cdl
1 -- Created on: 1993-05-12
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1993-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 TopolTool from Contap
24            ( TheVertex as any;
25              TheArc    as any
26            )
27
28 inherits TShared from MMgt 
29
30     ---Purpose: Template class for an iterator the restriction of
31     --          a surface.
32
33 uses Orientation from TopAbs,
34      State       from TopAbs,
35      Pnt2d       from gp
36
37
38 is
39
40 -- Arc iterator
41
42     Init(me: mutable)
43
44         ;
45
46
47     More(me: mutable)
48
49         returns Boolean from Standard
50         ;
51
52
53     Value(me: mutable)
54
55         returns any TheArc
56         ;
57
58
59     Next(me: mutable)
60
61         ;
62
63
64 -- Iterator on the vertex of an arc of restriction
65
66
67     Initialize(me: mutable; A:TheArc);
68
69
70     InitVertexIterator(me: mutable)
71
72         ;
73
74
75     MoreVertex(me: mutable)
76
77         returns Boolean from Standard
78         ;
79
80
81
82     Vertex(me: mutable)
83         returns any TheVertex
84         ;
85
86
87     NextVertex(me: mutable)
88
89         ;
90
91
92     Orientation(me: mutable; A: TheArc)
93     
94         returns Orientation from TopAbs;
95
96
97     Orientation(me: mutable; V: TheVertex)
98     
99         returns Orientation from TopAbs;
100
101
102     Identical(me: mutable; V1,V2: TheVertex)
103     
104         ---Purpose: Returns True if the vertices V1 and V2 are identical.
105         --          This method does not take the orientation of the
106         --          vertices in account.
107
108         returns Boolean from Standard;
109
110
111     Classify(me: mutable; P: Pnt2d from gp; Tol: Real from Standard)
112     
113         returns State from TopAbs;
114
115
116 end TopolTool;
117