0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / Interface / Interface_HGraph.cdl
1 -- Created on: 1993-04-22
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1993-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 HGraph  from Interface  inherits TShared
18
19     ---Purpose : This class allows to store a redefinable Graph, via a Handle
20     --           (usefull for an Object which can work on several successive
21     --           Models, with the same general conditions)
22
23 uses Graph, InterfaceModel, GeneralLib, Protocol, GTool
24
25 raises DomainError
26
27 is
28
29     Create (agraph : Graph) returns HGraph;
30     ---Purpose : Creates an HGraph directly from a Graph.
31     --           Remark that the starting Graph is duplicated
32     
33     Create (amodel : InterfaceModel; lib : GeneralLib;
34      theModeStats : Boolean = Standard_True) returns HGraph;
35     ---Purpose : Creates an HGraph with a Graph created from <amodel> and <lib>
36
37     Create (amodel : InterfaceModel; protocol : Protocol from Interface;
38      theModeStats : Boolean = Standard_True)
39         returns HGraph;
40     ---Purpose : Creates an HGraph with a graph itself created from <amodel>
41     --           and <protocol>
42
43     Create (amodel : InterfaceModel; gtool : GTool from Interface;
44      theModeStats : Boolean = Standard_True)
45         returns HGraph;
46     ---Purpose : Creates an HGraph with a graph itself created from <amodel>
47     --           and <protocol>
48
49     Create (amodel : InterfaceModel;
50      theModeStats : Boolean = Standard_True) returns HGraph
51     ---Purpose : Same a above, but works with the GTool in the model
52         raises DomainError;
53     --           Error if no Active Protocol is defined
54
55     Graph (me) returns Graph;
56     ---Purpose : Returns the Graph contained in <me>, for Read Only Operations
57     --           Remark that it is returns as "const &"
58     --           Getting it in a new variable instead of a reference would be
59     --           a pitty, because all the graph's content would be duplicated
60     ---C++ : return const &
61
62     CGraph (me : mutable) returns Graph;
63     ---Purpose : Same as above, but for Read-Write Operations
64     --           Then, The Graph will be modified in the HGraph itself
65     ---C++ : return &
66
67 fields
68
69     thegraph : Graph;
70
71 end HGraph;