0024727: Convertation of the generic classes to the non-generic. Part 3
[occt.git] / src / TransferBRep / TransferBRep_BinderOfShape.cdl
1 -- Created on: 1992-02-17
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1992-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 BinderOfShape from TransferBRep inherits Binder from Transfer
18
19     ---Purpose : Allows direct binding between a starting Object and the Result
20     --           of its transfer when it is Unique.
21     --           The Result itself is defined as a formal parameter <Shape from TopoDS>           
22     --  Warning : While it is possible to instantiate BinderOfShape with any Type
23     --           for the Result, it is not advisable to instantiate it with
24     --           Transient Classes, because such Results are directly known and
25     --           managed by TransferProcess & Co, through
26     --           SimpleBinderOfTransient : this class looks like instantiation
27     --           of BinderOfShape, but its method ResultType
28     --           is adapted (reads DynamicType of the Result)
29
30 uses CString,
31      Type,
32      Shape     from TopoDS,
33      ShapeInfo from TransferBRep
34
35 raises TransferFailure
36
37 is
38
39     Create returns mutable BinderOfShape;
40     ---Purpose : normal standard constructor, creates an empty BinderOfShape
41
42     Create (res : any Shape from TopoDS) returns mutable BinderOfShape;
43     ---Purpose : constructor which in the same time defines the result
44
45 --    IsMultiple (me) returns Boolean;
46     ---Purpose : Returns True if a starting object is bound with SEVERAL
47     --           results : Here, returns allways False
48     --           But it can have next results
49
50     ResultType (me) returns Type;
51     ---Purpose : Returns the Type permitted for the Result, i.e. the Type
52     --           of the Parameter Class <Shape from TopoDS> (statically defined)
53
54     ResultTypeName (me) returns CString;
55     ---Purpose : Returns the Type Name computed for the Result (dynamic)
56
57     SetResult (me : mutable; res : any Shape from TopoDS)
58     ---Purpose : Defines the Result
59         raises TransferFailure;
60     --           Error if the Result is already used (see class Binder)
61
62     Result (me) returns any Shape from TopoDS
63     ---Purpose : Returns the defined Result, if there is one
64         raises TransferFailure;
65     --           Error if the Result is not defined (see class Binder)
66     ---C++ : return const &
67
68     CResult (me : mutable) returns any Shape from TopoDS;
69     ---Purpose : Returns the defined Result, if there is one, and allows to
70     --           change it (avoids Result + SetResult).
71     --           Admits that Result can be not yet defined
72     --  Warning : a call to CResult causes Result to be known as defined
73     ---C++ : return &
74
75 fields
76
77     theres : Shape from TopoDS;
78
79 end BinderOfShape;