0024624: Lost word in license statement in source files
[occt.git] / src / TopExp / TopExp.cdl
1 -- Created on: 1990-12-20
2 -- Created by: Remi Lequette
3 -- Copyright (c) 1990-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 package TopExp 
18
19     ---Purpose: This package   provides  basic tools  to   explore the
20     --          topological data structures.
21     --          
22     --          * Explorer : A tool to find all sub-shapes of  a given
23     --          type. e.g. all faces of a solid.
24     --          
25     --          * Package methods to map sub-shapes of a shape.
26     --          
27     -- Level : Public  
28     --  All methods of all  classes will be public.
29
30
31 uses
32
33     TCollection,
34     TopLoc,
35     TopAbs,    
36     TopoDS,
37     TopTools
38
39 is
40
41     private class StackOfIterator instantiates 
42         Stack from TCollection (Iterator from TopoDS);
43
44     pointer Stack to Iterator from TopoDS;
45     
46     class Explorer;
47         ---Purpose: Tool to explore a topological data structure.
48
49     --
50     --      Package methods
51     --      
52     
53     
54     MapShapes(S    : Shape from TopoDS;
55               T    : ShapeEnum from TopAbs;
56               M    : in out IndexedMapOfShape from TopTools);
57           ---Purpose: Stores in the map <M> all  the sub-shapes of <S>
58           --          of type <T>.
59           --          
60           --  Warning: The map is not cleared at first.
61
62     MapShapes(S    : Shape from TopoDS;
63               M    : in out IndexedMapOfShape from TopTools);
64           ---Purpose: Stores in the map <M> all  the sub-shapes of <S>.
65
66     MapShapesAndAncestors
67         (S  : Shape from TopoDS;
68          TS : ShapeEnum from TopAbs;
69          TA : ShapeEnum from TopAbs;
70          M  : in out IndexedDataMapOfShapeListOfShape from TopTools);  
71  ---Purpose: Stores in the map <M> all the subshape of <S> of
72  --          type <TS>  for each one append  to  the list all
73  --          the ancestors of type <TA>.  For example map all
74           --          the edges and bind the list of faces.
75           --  Warning: The map is not cleared at first.
76
77     FirstVertex(E : Edge from TopoDS;
78                 CumOri : Boolean from Standard = Standard_False)
79     returns Vertex from TopoDS;
80         ---Purpose: Returns the Vertex of orientation FORWARD in E. If
81         --          there is none returns a Null Shape.
82         --          CumOri = True : taking account the edge orientation
83     
84     LastVertex(E : Edge from TopoDS;
85                CumOri : Boolean from Standard = Standard_False)
86     returns Vertex from TopoDS;
87         ---Purpose: Returns the Vertex of orientation REVERSED in E. If
88         --          there is none returns a Null Shape.
89         --          CumOri = True : taking account the edge orientation
90     
91     Vertices(E : Edge from TopoDS; Vfirst, Vlast : out Vertex from TopoDS;
92              CumOri : Boolean from Standard = Standard_False);
93         ---Purpose: Returns in Vfirst, Vlast the  FORWARD and REVERSED
94         --          vertices of the edge <E>. May be null shapes.
95         --          CumOri = True : taking account the edge orientation
96              
97     Vertices(W : Wire from TopoDS; Vfirst, Vlast : out Vertex from TopoDS);
98         ---Purpose: Returns  in  Vfirst,  Vlast   the first   and last 
99         --          vertices of the open wire <W>. May be null shapes.
100         --          if   <W>  is closed Vfirst and Vlast  are a same
101         --          vertex on <W>.
102         --          if <W> is no manifold. VFirst and VLast are null 
103         --          shapes.
104
105     CommonVertex( E1, E2 :     Edge   from TopoDS;
106                   V      : out Vertex from TopoDS)
107     returns Boolean;
108         ---Purpose: Finds   the  vertex <V> common   to  the two edges
109         --          <E1,E2>, returns True if this vertex exists.
110         --          
111         --  Warning: <V> has sense only if the value <True> is returned    
112
113 end TopExp;
114
115
116