4b015d039a7b622a134b7f754e0f393f323a15cf
[occt.git] / src / Materials / Materials_MaterialsDictionary.cdl
1 -- Created on: 1993-01-18
2 -- Created by: Gilles DEBARBOUILLE
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 class MaterialsDictionary from Materials 
24
25         ---Purpose: This class creates  a dictionary of materials.
26
27 inherits
28
29     Transient
30     
31 uses
32     OStream           from  Standard,
33     HAsciiString      from TCollection,
34     MaterialsSequence from Materials,
35     Material          from Materials
36
37 raises
38
39     NoSuchObject from Standard
40
41 is
42
43     Create returns mutable MaterialsDictionary from Materials;
44     ---Level: Internal    
45     ---Purpose: Returns a  MaterialsDictionary  object which  contains
46     --          the sequence of all the   materials the user wants  to
47     --          consider.
48     
49     Material(me ; amaterial : CString from Standard) returns Material from Materials    
50     raises NoSuchObject from Standard   
51     ---Level: Internal   
52     ---Purpose: Retrieves from the dictionary the object material with
53     --          <amaterial> as name.  If <amaterial> does not exist in
54     --          the dictionary an exeption is raised.
55     is static;
56     
57     ExistMaterial(me ; aName : CString from Standard) returns Boolean from Standard;
58     ---Purpose: True if the materialofname aName exists ...
59     
60     NumberOfMaterials(me) returns Integer from Standard  
61     ---Level: Internal 
62     ---Purpose: Returns  the number of  materials previously stored in
63     --          the dictionary.
64     is static;
65     
66     Material(me ; anindex : Integer from Standard) returns Material from Materials
67     ---Level: Internal
68     ---Purpose: This method used  with  the  previous one, allow   the
69     --          exploration  of   all  the  dictionary.  It  returns a
70     --          Material instance.
71     is static;
72     
73     UpToDate(me) returns Boolean from Standard
74     ---Level: Internal
75     ---Purpose: Returns true if there has been no  modification of the
76     --          file Materials.dat  since the   creation of the dictionary
77     --          object, false otherwise.  
78     is static;
79     
80     Dump(me ; astream : in out OStream from Standard )
81     ---Level: Internal
82     ---Purpose: Useful for debugging.
83     is static;
84     
85 fields
86
87     thefilename          : HAsciiString from TCollection;
88     thetime              : Integer from Standard;
89     thematerialssequence : MaterialsSequence from Materials;
90
91 end MaterialsDictionary;