00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00022
00028 #ifndef _exotkMaterial_Material_HeaderFile
00029 #define _exotkMaterial_Material_HeaderFile
00030
00031 #if _MSC_VER > 1000
00032 #pragma once
00033 #endif // _MSC_VER > 1000
00034 #ifndef _MMgt_TShared_HeaderFile
00035 #include <MMgt_TShared.hxx>
00036 #endif
00037 #ifndef _Handle_exotkMaterial_Material_HeaderFile
00038 #include <Handle_exotkMaterial_Material.hxx>
00039 #endif
00040 #ifndef _Graphic3d_MaterialAspect_HeaderFile
00041 #include <Graphic3d_MaterialAspect.hxx>
00042 #endif
00043 #ifndef _TCollection_AsciiString_HeaderFile
00044 #include <TCollection_AsciiString.hxx>
00045 #endif
00046
00047 enum Graphic3d_NameOfMaterial;
00048
00054 class exotkMaterial_Material : public MMgt_TShared
00055 {
00056 public:
00057
00065 inline void* operator new(size_t,void* anAddress)
00066 {
00067 return anAddress;
00068 }
00069
00076 inline void* operator new(size_t size)
00077 {
00078 return Standard::Allocate(size);
00079 }
00080
00087 inline void operator delete(void *anAddress)
00088 {
00089 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00090 }
00091
00098 Standard_EXPORT exotkMaterial_Material(const Graphic3d_MaterialAspect& aMaterial,const TCollection_AsciiString& aName);
00099
00104 Standard_EXPORT virtual ~exotkMaterial_Material();
00105
00106
00112 Standard_EXPORT virtual void SetMaterial(const Graphic3d_MaterialAspect& aMaterial);
00113
00119 Standard_EXPORT virtual Graphic3d_MaterialAspect Material();
00120
00121
00127 Standard_EXPORT virtual void SetName(const TCollection_AsciiString& aName);
00128
00134 Standard_EXPORT virtual TCollection_AsciiString Name();
00135
00136
00142 Standard_EXPORT virtual void SetModifiable(const Standard_Boolean On = Standard_True);
00143
00149 Standard_EXPORT virtual Standard_Boolean IsModifiable();
00150
00151
00159 Standard_EXPORT static Standard_Integer HashCode(const Handle_exotkMaterial_Material& aMaterial,const Standard_Integer Upper);
00160
00168 Standard_EXPORT static Standard_Boolean IsEqual(const Handle_exotkMaterial_Material& aMaterial1,const Handle_exotkMaterial_Material& aMaterial2);
00169
00170
00176 Standard_EXPORT friend Handle_Standard_Type& exotkMaterial_Material_Type_();
00177
00183 Standard_EXPORT const Handle_Standard_Type& DynamicType() const;
00184
00191 Standard_EXPORT Standard_Boolean IsKind(const Handle_Standard_Type&) const;
00192 protected:
00194 Graphic3d_MaterialAspect myMaterial;
00196 TCollection_AsciiString myName;
00198 Standard_Boolean myIsModifiable;
00199 };
00200
00201 #endif