45 static void CleanUpGeneratedTechniques(Ogre::Material* mat);
57 SMaterial(
SScene* scene,
const std::string& groupname,
const std::string& materialName,
const bool& loadedFromScript =
false);
70 void SetAssociatedWidget(
SWidget* newAssociatedWidget);
78 std::string GetGroupName();
82 Ogre::MaterialPtr getOgreMaterialPointer();
86 int GetNumTechniques();
90 STechnique* GetTechnique(
const unsigned int& technique);
94 int GetTechniqueIndexByName(
const std::string& techname);
98 bool GetReceiveShadows();
102 void SetReceiveShadows(
const bool& state);
106 void SetLightingEnabled(
const bool& state);
110 void SetAmbientColor(
const int& color);
114 void SetDiffuseColor(
const int& color);
118 void SetSpecularColor(
const int& color);
122 void SetSelfIlluminationColor(
const int& color);
126 void SetAmbientColor(
float r,
float g,
float b,
float a);
130 void SetDiffuseColor(
float r,
float g,
float b,
float a);
134 void SetSpecularColor(
float r,
float g,
float b,
float a);
138 void SetSelfIlluminationColor(
float r,
float g,
float b,
float a);
142 void SetShininess(
const float& value);
146 void RemoveTechnique(
const unsigned int& technique);
151 void _BindTechniquesToOgre();
156 void _UnbindTechniquesToOgre();
160 void _UpdateOgreMaterialPointer();
165 void SetPointSize(Ogre::Real size);
170 void CleanUpGeneratedTechniques();
175 void WriteMaterialFile(std::string path =
"");
177 static void UpdateMaterialScript(std::string path);
179 static int CountMaterialsInScript(std::string path);
184 void SetIgnoreSlicePlane(
bool state);
189 bool GetIgnoreSlicePlane();
193 void UpdateGeneratedMaterial(
bool full =
false);