summaryrefslogtreecommitdiff
path: root/inc/Materials.hxx
blob: 0fc6c2b6e691bc91ffefed21d4f2459bbcc9ee10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Materials_HeaderFile
#define _Materials_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Handle_Materials_MaterialsDictionary_HeaderFile
#include <Handle_Materials_MaterialsDictionary.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Materials_Material_HeaderFile
#include <Handle_Materials_Material.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Materials_MaterialsDictionary;
class Materials_Material;
class Materials_Color;
class Materials_MaterialDefinition;
class Materials_MaterialsDictionary;
class Materials_FuzzyInstance;
class Materials_Material;
class Materials_MtsSequence;
class Materials_MaterialsSequence;
class Materials_SequenceNodeOfMtsSequence;


//! This package is useful  for creating Material objects, <br>
//!          which contain a sequence of  physical properties.  All <br>
//!          applications  which  request physical properties  on a <br>
//!          given material, should reference this package. <br>
//! <br>
//!          A predefined sequence  of materials  is given  by  the <br>
//!          dictionary of  materials, and  the sequence   of known <br>
//!          properties is given by the material definition. <br>
//! <br>
//!          Only the  package  methods   are public,   except  the <br>
//!          DictionaryOfMaterials class which   is called  by  the <br>
//!          method Material. <br>
class Materials  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  //! Sets the  location and the name  of the  file defining <br>
//!          the definition of a material, in term of properties. <br>
  Standard_EXPORT   static  void MaterialFile(const Standard_CString afile) ;
  //! Sets  the location and  the name of  the file defining <br>
//!          the dictionary of materials. <br>
  Standard_EXPORT   static  void MaterialsFile(const Standard_CString afile) ;
  //! Returns  the location and the   name of the dictionary <br>
//!          file of materials. <br>
  Standard_EXPORT   static  Standard_CString MaterialsFile() ;
  //! Returns  the dictionary of materials.The dictionary is <br>
//!          created at  the first call to this  method, or  if the <br>
//!          dictionary is not up to date  with respect to the file <br>
//!          date. <br>
  Standard_EXPORT   static  Handle_Materials_MaterialsDictionary DictionaryOfMaterials() ;
  //! True if the materialofname aName exists ... <br>
  Standard_EXPORT   static  Standard_Boolean ExistMaterial(const Standard_CString aName) ;
  //! Retrieves from the dictionary the object material with <br>
//!          <amaterial> as name. <br>
  Standard_EXPORT   static  Handle_Materials_Material Material(const Standard_CString amaterial) ;
  //! Returns  the number of  materials previously stored in <br>
//!          the dictionary. <br>
  Standard_EXPORT   static  Standard_Integer NumberOfMaterials() ;
  //! This method used  with  the previous  one, allows  the <br>
//!          exploration of    all the  dictionary.  It   returns a <br>
//!          Material instance. <br>
  Standard_EXPORT   static  Handle_Materials_Material Material(const Standard_Integer anindex) ;





protected:





private:




friend class Materials_Color;
friend class Materials_MaterialDefinition;
friend class Materials_MaterialsDictionary;
friend class Materials_FuzzyInstance;
friend class Materials_Material;
friend class Materials_MtsSequence;
friend class Materials_MaterialsSequence;
friend class Materials_SequenceNodeOfMtsSequence;

};





// other Inline functions and methods (like "C++: function call" methods)


#endif