0024428: Implementation of LGPL license
[occt.git] / src / TopExp / TopExp.cdl
CommitLineData
b311480e 1-- Created on: 1990-12-20
2-- Created by: Remi Lequette
3-- Copyright (c) 1990-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 8-- This library is free software; you can redistribute it and / or modify it
9-- under the terms of the GNU Lesser General Public 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17package 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
31uses
32
33 TCollection,
34 TopLoc,
35 TopAbs,
36 TopoDS,
37 TopTools
38
39is
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
113end TopExp;
114
115
116