00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00022
00028 #ifndef _exotkMaterial_HeaderFile
00029 #define _exotkMaterial_HeaderFile
00030
00031 #if _MSC_VER > 1000
00032 #pragma once
00033 #endif // _MSC_VER > 1000
00034 #ifndef _Standard_TypeDef_HeaderFile
00035 #include <Standard_TypeDef.hxx>
00036 #endif
00037 #ifndef _Standard_HeaderFile
00038 #include <Standard.hxx>
00039 #endif
00040
00041 class Graphic3d_MaterialAspect;
00042 class TCollection_AsciiString;
00043 class Handle_exotkMaterial_Material;
00050 class exotkMaterial
00051 {
00052 public:
00053
00061 inline void* operator new(size_t,void* anAddress)
00062 {
00063 return anAddress;
00064 }
00065
00072 inline void* operator new(size_t size)
00073 {
00074 return Standard::Allocate(size);
00075 }
00076
00083 inline void operator delete(void *anAddress)
00084 {
00085 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00086 }
00087
00096 Standard_EXPORT static Standard_Boolean AddMaterial(const TCollection_AsciiString& aName,const Graphic3d_MaterialAspect& aMaterial,const Standard_Boolean aIsModifiable);
00097
00105 Standard_EXPORT static Standard_Boolean ReplaceMaterial(const TCollection_AsciiString& aName,const Graphic3d_MaterialAspect& aNewMaterial);
00106
00113 Standard_EXPORT static Standard_Boolean NameExists(const TCollection_AsciiString& aName);
00114
00115
00122 Standard_EXPORT static Standard_Boolean CurrentMaterial(Graphic3d_MaterialAspect& aMaterial);
00123
00130 Standard_EXPORT static Standard_Boolean CurrentName(TCollection_AsciiString& aName);
00131
00136 Standard_EXPORT static void NextMaterialIterator();
00137
00143 Standard_EXPORT static Standard_Boolean MoreMaterialIterator();
00144
00149 Standard_EXPORT static void InitMaterialIterator();
00150
00158 Standard_EXPORT static Standard_Boolean IsModifiable(const Graphic3d_MaterialAspect& aMaterial,Standard_Boolean& aIsModifiable);
00159
00167 Standard_EXPORT static Standard_Boolean IsModifiable(const TCollection_AsciiString& aName,Standard_Boolean& aIsModifiable);
00168
00176 Standard_EXPORT static Standard_Boolean FindName(const Graphic3d_MaterialAspect& aMaterial,TCollection_AsciiString& aFoundName);
00177
00185 Standard_EXPORT static Standard_Boolean FindMaterial(const TCollection_AsciiString& aName,Graphic3d_MaterialAspect& aFoundMaterial);
00186
00193 Standard_EXPORT static Handle_exotkMaterial_Material FindMaterial(const Graphic3d_MaterialAspect& aMaterial);
00194
00201 Standard_EXPORT static Handle_exotkMaterial_Material FindMaterial(const TCollection_AsciiString& aName);
00202 protected:
00203
00208 static void InitStandardMaterials();
00209
00210
00211
00212 };
00213
00214 #endif