0025133: TKOpenGl - Crash on closing a view containing presentations with capping
[occt.git] / src / TransferBRep / TransferBRep_ShapeListBinder.cdl
1 -- Created on: 1994-10-03
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1994-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 ShapeListBinder  from TransferBRep  inherits Binder from Transfer
18
19     ---Purpose : This binder binds several (a list of) shapes with a starting
20     --           entity, when this entity itself corresponds to a simple list
21     --           of shapes. Each part is not seen as a sub-result of an
22     --           independant componant, but as an item of a built-in list
23
24 uses CString, Type,
25      ShapeEnum from TopAbs,  Shape from TopoDS ,
26       Vertex from TopoDS,  Edge  from TopoDS,  Wire  from TopoDS,
27       Face   from TopoDS,  Shell from TopoDS,  Solid from TopoDS,
28       CompSolid from TopoDS,    Compound from TopoDS ,
29       HSequenceOfShape from TopTools
30
31 raises TypeMismatch, OutOfRange
32
33 is
34
35     Create returns ShapeListBinder;
36
37     Create (list : HSequenceOfShape from TopTools)
38          returns ShapeListBinder;
39
40     IsMultiple (me) returns Boolean  is redefined;
41     -- returns True if more than one result
42
43     ResultType (me) returns Type;
44     -- returns TopoDS_Shape
45
46     ResultTypeName (me) returns CString;
47     -- returns list(TopoDS_Shape)
48
49     AddResult (me : mutable; res : Shape);
50     ---Purpose : Adds an item to the result list
51
52     Result (me) returns HSequenceOfShape from TopTools;
53
54     SetResult (me : mutable; num : Integer; res : Shape);
55     ---Purpose : Changes an already defined sub-result
56
57     NbShapes (me) returns Integer;
58
59     Shape (me; num : Integer) returns Shape
60         raises OutOfRange;
61     ---C++ : return const &
62
63     ShapeType (me; num : Integer) returns ShapeEnum;
64
65     -- different sub-types for the Result. Shape(num) returns a Shape
66
67     Vertex    (me; num : Integer) returns Vertex    raises TypeMismatch, OutOfRange;
68     Edge      (me; num : Integer) returns Edge      raises TypeMismatch, OutOfRange;
69     Wire      (me; num : Integer) returns Wire      raises TypeMismatch, OutOfRange;
70     Face      (me; num : Integer) returns Face      raises TypeMismatch, OutOfRange;
71     Shell     (me; num : Integer) returns Shell     raises TypeMismatch, OutOfRange;
72     Solid     (me; num : Integer) returns Solid     raises TypeMismatch, OutOfRange;
73     CompSolid (me; num : Integer) returns CompSolid raises TypeMismatch, OutOfRange;
74     Compound  (me; num : Integer) returns Compound  raises TypeMismatch, OutOfRange;
75
76 fields
77
78     theres :  HSequenceOfShape from TopTools;
79
80 end ShapeListBinder;