00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef CYBMATERIAL_HC
00027 #define CYBMATERIAL_HC
00028
00029 #include "oaw/ctk/cybnodec.h"
00030 #include "../oawconfig.h"
00031
00032 OAW_BEGIN_NAMESPACE
00033
00034
00035
00036 class OAW_DLLMAPPING CybMaterialC : public CybNodeC
00037 {
00038 public:
00039 CybMaterialC(CybWorldC*);
00040 CybMaterialC(const CybMaterialC&);
00041 CybMaterialC& operator = (const CybMaterialC&);
00042 virtual void SetEvent(long,const void*, BaseI*);
00043 virtual long GetFieldEventID(const char*);
00044 virtual long GetFieldDataType(long);
00045
00046 virtual void SetDiffuse(double,double,double);
00047 virtual void SignAsUser(ObjectI*);
00048
00049 virtual short GetFieldData(long ,void*);
00050
00051 protected:
00052 virtual void CreateNewCopy(CybNodeC*);
00053 virtual void LoadVRML(char*& iter, const char* iterEnd,long& znr);
00054 public:
00055
00056 float m_shininess;
00057 float m_specular[4];
00058 float m_diffuse[4];
00059 float m_emissive[4];
00060 float m_ambientIntensity;
00061 float m_transparency;
00062 private:
00063 static char VRMLKeyStrList[][30];
00064 };
00065
00066 OAW_END_NAMESPACE
00067
00068
00069 #endif
00070
00071
00072
00073
00074
00075