File indexing completed on 2026-07-29 09:16:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef VrmlData_Material_HeaderFile
0017 #define VrmlData_Material_HeaderFile
0018
0019 #include <VrmlData_Node.hxx>
0020 #include <Quantity_Color.hxx>
0021
0022
0023
0024
0025 class VrmlData_Material : public VrmlData_Node
0026 {
0027 public:
0028
0029
0030
0031
0032
0033 Standard_EXPORT VrmlData_Material();
0034
0035
0036
0037
0038 Standard_EXPORT VrmlData_Material(const VrmlData_Scene& theScene,
0039 const char* theName,
0040 const Standard_Real theAmbientIntensity = -1.,
0041 const Standard_Real theShininess = -1.,
0042 const Standard_Real theTransparency = -1.);
0043
0044
0045
0046
0047 inline Standard_Real AmbientIntensity() const { return myAmbientIntensity; }
0048
0049
0050
0051
0052 inline Standard_Real Shininess() const { return myShininess; }
0053
0054
0055
0056
0057 inline Standard_Real Transparency() const { return myTransparency; }
0058
0059
0060
0061
0062 inline const Quantity_Color& AmbientColor() const { return myAmbientColor; }
0063
0064
0065
0066
0067 inline const Quantity_Color& DiffuseColor() const { return myDiffuseColor; }
0068
0069
0070
0071
0072 inline const Quantity_Color& EmissiveColor() const { return myEmissiveColor; }
0073
0074
0075
0076
0077 inline const Quantity_Color& SpecularColor() const { return mySpecularColor; }
0078
0079
0080
0081
0082 inline void SetAmbientIntensity(const Standard_Real theAmbientIntensity)
0083 {
0084 myAmbientIntensity = theAmbientIntensity;
0085 }
0086
0087
0088
0089
0090 inline void SetShininess(const Standard_Real theShininess) { myShininess = theShininess; }
0091
0092
0093
0094
0095 inline void SetTransparency(const Standard_Real theTransparency)
0096 {
0097 myTransparency = theTransparency;
0098 }
0099
0100
0101
0102
0103 inline void SetAmbientColor(const Quantity_Color& theColor) { myAmbientColor = theColor; }
0104
0105
0106
0107
0108 inline void SetDiffuseColor(const Quantity_Color& theColor) { myDiffuseColor = theColor; }
0109
0110
0111
0112
0113 inline void SetEmissiveColor(const Quantity_Color& theColor) { myEmissiveColor = theColor; }
0114
0115
0116
0117
0118 inline void SetSpecularColor(const Quantity_Color& theColor) { mySpecularColor = theColor; }
0119
0120
0121
0122
0123
0124
0125 Standard_EXPORT virtual Handle(VrmlData_Node) Clone(const Handle(VrmlData_Node)& theOther) const
0126 Standard_OVERRIDE;
0127
0128
0129
0130
0131 Standard_EXPORT virtual VrmlData_ErrorStatus Read(VrmlData_InBuffer& theBuffer) Standard_OVERRIDE;
0132
0133
0134
0135
0136 Standard_EXPORT virtual VrmlData_ErrorStatus Write(const char* thePrefix) const Standard_OVERRIDE;
0137
0138
0139
0140
0141 Standard_EXPORT virtual Standard_Boolean IsDefault() const Standard_OVERRIDE;
0142
0143 protected:
0144
0145
0146 private:
0147
0148
0149 Standard_Real myAmbientIntensity;
0150 Standard_Real myShininess;
0151 Standard_Real myTransparency;
0152 Quantity_Color myAmbientColor;
0153 Quantity_Color myDiffuseColor;
0154 Quantity_Color myEmissiveColor;
0155 Quantity_Color mySpecularColor;
0156
0157 public:
0158
0159 DEFINE_STANDARD_RTTIEXT(VrmlData_Material, VrmlData_Node)
0160 };
0161
0162
0163 DEFINE_STANDARD_HANDLE(VrmlData_Material, VrmlData_Node)
0164
0165 #endif