0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / TNaming / TNaming_NewShapeIterator.cdl
1 -- Created on: 1996-12-17
2 -- Created by: Remi Lequette
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class NewShapeIterator from TNaming 
18
19         ---Purpose: Iterates on all the descendants of a shape
20
21 uses
22     Shape       from TopoDS,
23     UsedShapes  from TNaming,
24     NamedShape  from TNaming,
25     Iterator    from TNaming,
26     Label       from TDF,
27     PtrNode     from TNaming    
28
29 raises
30      NoMoreObject from Standard,
31      NoSuchObject from Standard 
32
33 is
34
35     Create (aShape      : Shape     from TopoDS; 
36             Transaction : Integer    from Standard;
37             Shapes      : UsedShapes from TNaming)
38     returns NewShapeIterator from TNaming
39     is private;
40
41     Create (aShape      : Shape     from TopoDS; 
42             Shapes      : UsedShapes from TNaming)
43     returns NewShapeIterator from TNaming 
44     is private;  
45
46     Create (aShape      : Shape     from TopoDS; 
47             Transaction : Integer    from Standard;
48             access      : Label from TDF)
49     returns NewShapeIterator from TNaming;
50
51     Create (aShape : Shape     from TopoDS; 
52             access : Label from TDF)
53     returns NewShapeIterator from TNaming;
54     
55     Create (anIterator : NewShapeIterator from TNaming)
56     returns NewShapeIterator from TNaming;
57         ---Purpose: Iterates from the current Shape in <anIterator>
58
59     Create (anIterator  : Iterator from TNaming)
60     returns NewShapeIterator from TNaming;
61         ---Purpose: Iterates from the current Shape in <anIterator>
62         
63     More(me) returns Boolean;
64         ---C++: inline
65     
66     Next(me : in out)
67     raises
68        NoMoreObject from Standard;
69        
70     Label(me) returns Label from TDF
71     raises
72         NoSuchObject from Standard;
73
74     NamedShape(me) returns NamedShape from TNaming
75     raises
76         NoSuchObject from Standard;
77                 
78     Shape(me) returns Shape from TopoDS
79         ---C++: return const&
80         ---Purpose:  Warning! Can be a Null Shape if a descendant is deleted.
81     raises
82         NoSuchObject from Standard;
83         
84     IsModification(me) returns Boolean;
85         ---Purpose: True if the new  shape is a modification  (split,
86         --          fuse,etc...) of the old shape.
87     
88 fields
89     
90     myNode  : PtrNode from TNaming;     
91     myTrans : Integer from Standard; -- is < 0 means in Current Transaction.
92
93 friends
94
95     class Tool   from TNaming,
96     class Name   from TNaming,
97     class Naming from TNaming  
98     
99 end NewShapeIterator;
100
101
102