0023952: Improving thread-safety of intersections, approximations and other modeling...
[occt.git] / src / IntWalk / IntWalk_Iterator.cdl
1 -- Created on: 1992-03-06
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 generic class Iterator from IntWalk (Point as any)
24                        
25
26         ---Purpose: Template class to describe the exploration argument of the
27         --          generic class IWalking 
28
29
30 raises OutOfRange from Standard
31
32 is
33
34     Create
35     
36         returns Iterator from IntWalk;
37
38
39     Length(me)
40     
41         ---Purpose: returns the dimension of the exploration
42
43         returns Integer from Standard
44
45         is static;
46
47
48     Value(me; Index : Integer)
49     
50         ---Purpose: returns the current point
51         --          an exception is raised if i>NbPoints
52
53         returns  Point
54
55         raises OutOfRange from Standard
56
57         is static;
58
59
60     Append(me: in out; P: Point)
61     
62         ---Purpose: Adds a point in the iterator.
63     
64         is static;
65         
66         
67 end Iterator;