|
|
|
|
@ -131,13 +131,13 @@ BOOL LLPanelFace::postBuild()
|
|
|
|
|
childSetCommitCallback("combobox shininess",&LLPanelFace::onCommitShiny,this);
|
|
|
|
|
childSetCommitCallback("combobox bumpiness",&LLPanelFace::onCommitBump,this);
|
|
|
|
|
childSetCommitCallback("combobox alphamode",&LLPanelFace::onCommitAlphaMode,this);
|
|
|
|
|
childSetCommitCallback("TexScaleU",&LLPanelFace::onCommitTextureInfo, this);
|
|
|
|
|
childSetCommitCallback("TexScaleV",&LLPanelFace::onCommitTextureInfo, this);
|
|
|
|
|
childSetCommitCallback("TexRot",&LLPanelFace::onCommitTextureInfo, this);
|
|
|
|
|
childSetCommitCallback("TexScaleU",&LLPanelFace::onCommitTextureScaleX, this);
|
|
|
|
|
childSetCommitCallback("TexScaleV",&LLPanelFace::onCommitTextureScaleY, this);
|
|
|
|
|
childSetCommitCallback("TexRot",&LLPanelFace::onCommitTextureRot, this);
|
|
|
|
|
childSetCommitCallback("rptctrl",&LLPanelFace::onCommitRepeatsPerMeter, this);
|
|
|
|
|
childSetCommitCallback("checkbox planar align",&LLPanelFace::onCommitPlanarAlign, this);
|
|
|
|
|
childSetCommitCallback("TexOffsetU",LLPanelFace::onCommitTextureInfo, this);
|
|
|
|
|
childSetCommitCallback("TexOffsetV",LLPanelFace::onCommitTextureInfo, this);
|
|
|
|
|
childSetCommitCallback("TexOffsetU",LLPanelFace::onCommitTextureOffsetX, this);
|
|
|
|
|
childSetCommitCallback("TexOffsetV",LLPanelFace::onCommitTextureOffsetY, this);
|
|
|
|
|
|
|
|
|
|
childSetCommitCallback("bumpyScaleU",&LLPanelFace::onCommitMaterialBumpyScaleX, this);
|
|
|
|
|
childSetCommitCallback("bumpyScaleV",&LLPanelFace::onCommitMaterialBumpyScaleY, this);
|
|
|
|
|
@ -691,6 +691,8 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getChildView("radio_material_type")->setEnabled(editable);
|
|
|
|
|
getChildView("checkbox_sync_settings")->setEnabled(editable);
|
|
|
|
|
childSetValue("checkbox_sync_settings", gSavedSettings.getBOOL("SyncMaterialSettings"));
|
|
|
|
|
updateVisibility();
|
|
|
|
|
|
|
|
|
|
bool identical = true; // true because it is anded below
|
|
|
|
|
@ -1862,12 +1864,39 @@ void LLPanelFace::onSelectNormalTexture(const LLSD& data)
|
|
|
|
|
sendBump(nmap_id.isNull() ? 0 : BUMPY_TEXTURE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
void LLPanelFace::syncOffsetX(LLPanelFace* self, F32 offsetU)
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalOffsetX(self,offsetU);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularOffsetX(self,offsetU);
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexOffsetU")->forceSetValue(offsetU);
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
void LLPanelFace::syncOffsetY(LLPanelFace* self, F32 offsetV)
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalOffsetY(self,offsetV);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularOffsetY(self,offsetV);
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexOffsetV")->forceSetValue(offsetV);
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
void LLPanelFace::onCommitMaterialBumpyOffsetX(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
llassert_always(self);
|
|
|
|
|
LLSelectedTEMaterial::setNormalOffsetX(self,self->getCurrentBumpyOffsetU());
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
syncOffsetX(self,self->getCurrentBumpyOffsetU());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalOffsetX(self,self->getCurrentBumpyOffsetU());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1875,7 +1904,15 @@ void LLPanelFace::onCommitMaterialBumpyOffsetY(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
llassert_always(self);
|
|
|
|
|
LLSelectedTEMaterial::setNormalOffsetY(self,self->getCurrentBumpyOffsetV());
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
syncOffsetY(self,self->getCurrentBumpyOffsetV());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalOffsetY(self,self->getCurrentBumpyOffsetV());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1883,7 +1920,15 @@ void LLPanelFace::onCommitMaterialShinyOffsetX(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
llassert_always(self);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularOffsetX(self,self->getCurrentShinyOffsetU());
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
syncOffsetX(self, self->getCurrentShinyOffsetU());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setSpecularOffsetX(self,self->getCurrentShinyOffsetU());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1891,7 +1936,31 @@ void LLPanelFace::onCommitMaterialShinyOffsetY(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
llassert_always(self);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularOffsetY(self,self->getCurrentShinyOffsetV());
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
syncOffsetY(self,self->getCurrentShinyOffsetV());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setSpecularOffsetY(self,self->getCurrentShinyOffsetV());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
void LLPanelFace::syncRepeatX(LLPanelFace* self, F32 scaleU)
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatX(self,scaleU);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatX(self,scaleU);
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
void LLPanelFace::syncRepeatY(LLPanelFace* self, F32 scaleV)
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatY(self,scaleV);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatY(self,scaleV);
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1904,7 +1973,16 @@ void LLPanelFace::onCommitMaterialBumpyScaleX(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
bumpy_scale_u *= 0.5f;
|
|
|
|
|
}
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatX(self,bumpy_scale_u);
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexScaleU")->forceSetValue(self->getCurrentBumpyScaleU());
|
|
|
|
|
syncRepeatX(self, bumpy_scale_u);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatX(self,bumpy_scale_u);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1917,7 +1995,17 @@ void LLPanelFace::onCommitMaterialBumpyScaleY(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
bumpy_scale_v *= 0.5f;
|
|
|
|
|
}
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatY(self,bumpy_scale_v);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexScaleV")->forceSetValue(self->getCurrentBumpyScaleV());
|
|
|
|
|
syncRepeatY(self, bumpy_scale_v);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatY(self,bumpy_scale_v);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1930,7 +2018,16 @@ void LLPanelFace::onCommitMaterialShinyScaleX(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
shiny_scale_u *= 0.5f;
|
|
|
|
|
}
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatX(self,shiny_scale_u);
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexScaleU")->forceSetValue(self->getCurrentShinyScaleU());
|
|
|
|
|
syncRepeatX(self, shiny_scale_u);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatX(self,shiny_scale_u);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1943,7 +2040,24 @@ void LLPanelFace::onCommitMaterialShinyScaleY(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
shiny_scale_v *= 0.5f;
|
|
|
|
|
}
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatY(self,shiny_scale_v);
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexScaleV")->forceSetValue(self->getCurrentShinyScaleV());
|
|
|
|
|
syncRepeatY(self, shiny_scale_v);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatY(self,shiny_scale_v);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
void LLPanelFace::syncMaterialRot(LLPanelFace* self, F32 rot)
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalRotation(self,rot * DEG_TO_RAD);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRotation(self,rot * DEG_TO_RAD);
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1951,7 +2065,16 @@ void LLPanelFace::onCommitMaterialBumpyRot(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
llassert_always(self);
|
|
|
|
|
LLSelectedTEMaterial::setNormalRotation(self,self->getCurrentBumpyRot() * DEG_TO_RAD);
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexRot")->forceSetValue(self->getCurrentBumpyRot());
|
|
|
|
|
syncMaterialRot(self, self->getCurrentBumpyRot());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setNormalRotation(self,self->getCurrentBumpyRot() * DEG_TO_RAD);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1959,7 +2082,16 @@ void LLPanelFace::onCommitMaterialShinyRot(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
llassert_always(self);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRotation(self,self->getCurrentShinyRot() * DEG_TO_RAD);
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
self->getChild<LLSpinCtrl>("TexRot")->forceSetValue(self->getCurrentShinyRot());
|
|
|
|
|
syncMaterialRot(self, self->getCurrentShinyRot());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRotation(self,self->getCurrentShinyRot() * DEG_TO_RAD);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//static
|
|
|
|
|
@ -1994,6 +2126,92 @@ void LLPanelFace::onCommitTextureInfo( LLUICtrl* ctrl, void* userdata )
|
|
|
|
|
self->updateUI(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// static
|
|
|
|
|
void LLPanelFace::onCommitTextureScaleX( LLUICtrl* ctrl, void* userdata )
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
F32 bumpy_scale_u = self->getChild<LLUICtrl>("TexScaleU")->getValue().asReal();
|
|
|
|
|
if (self->isIdenticalPlanarTexgen())
|
|
|
|
|
{
|
|
|
|
|
bumpy_scale_u *= 0.5f;
|
|
|
|
|
}
|
|
|
|
|
syncRepeatX(self, bumpy_scale_u);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
self->updateUI(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// static
|
|
|
|
|
void LLPanelFace::onCommitTextureScaleY( LLUICtrl* ctrl, void* userdata )
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
F32 bumpy_scale_v = self->getChild<LLUICtrl>("TexScaleV")->getValue().asReal();
|
|
|
|
|
if (self->isIdenticalPlanarTexgen())
|
|
|
|
|
{
|
|
|
|
|
bumpy_scale_v *= 0.5f;
|
|
|
|
|
}
|
|
|
|
|
syncRepeatY(self, bumpy_scale_v);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
self->updateUI(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// static
|
|
|
|
|
void LLPanelFace::onCommitTextureRot( LLUICtrl* ctrl, void* userdata )
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
syncMaterialRot(self, self->getChild<LLUICtrl>("TexRot")->getValue().asReal());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
self->updateUI(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// static
|
|
|
|
|
void LLPanelFace::onCommitTextureOffsetX( LLUICtrl* ctrl, void* userdata )
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
syncOffsetX(self, self->getChild<LLUICtrl>("TexOffsetU")->getValue().asReal());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
self->updateUI(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// static
|
|
|
|
|
void LLPanelFace::onCommitTextureOffsetY( LLUICtrl* ctrl, void* userdata )
|
|
|
|
|
{
|
|
|
|
|
LLPanelFace* self = (LLPanelFace*) userdata;
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
syncOffsetY(self, self->getChild<LLUICtrl>("TexOffsetV")->getValue().asReal());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self->sendTextureInfo();
|
|
|
|
|
}
|
|
|
|
|
self->updateUI(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Commit the number of repeats per meter
|
|
|
|
|
// static
|
|
|
|
|
void LLPanelFace::onCommitRepeatsPerMeter(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
@ -2017,44 +2235,62 @@ void LLPanelFace::onCommitRepeatsPerMeter(LLUICtrl* ctrl, void* userdata)
|
|
|
|
|
|
|
|
|
|
LLSelectedTE::getObjectScaleS(obj_scale_s, identical_scale_s);
|
|
|
|
|
LLSelectedTE::getObjectScaleS(obj_scale_t, identical_scale_t);
|
|
|
|
|
|
|
|
|
|
LLUICtrl* bumpy_scale_u = self->getChild<LLUICtrl>("bumpyScaleU");
|
|
|
|
|
LLUICtrl* bumpy_scale_v = self->getChild<LLUICtrl>("bumpyScaleV");
|
|
|
|
|
LLUICtrl* shiny_scale_u = self->getChild<LLUICtrl>("shinyScaleU");
|
|
|
|
|
LLUICtrl* shiny_scale_v = self->getChild<LLUICtrl>("shinyScaleV");
|
|
|
|
|
|
|
|
|
|
switch (material_type)
|
|
|
|
|
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
|
|
|
|
|
{
|
|
|
|
|
case MATTYPE_DIFFUSE:
|
|
|
|
|
{
|
|
|
|
|
LLSelectMgr::getInstance()->selectionTexScaleAutofit( repeats_per_meter );
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
LLSelectMgr::getInstance()->selectionTexScaleAutofit( repeats_per_meter );
|
|
|
|
|
|
|
|
|
|
case MATTYPE_NORMAL:
|
|
|
|
|
{
|
|
|
|
|
LLUICtrl* bumpy_scale_u = self->getChild<LLUICtrl>("bumpyScaleU");
|
|
|
|
|
LLUICtrl* bumpy_scale_v = self->getChild<LLUICtrl>("bumpyScaleV");
|
|
|
|
|
|
|
|
|
|
bumpy_scale_u->setValue(obj_scale_s * repeats_per_meter);
|
|
|
|
|
bumpy_scale_v->setValue(obj_scale_t * repeats_per_meter);
|
|
|
|
|
bumpy_scale_u->setValue(obj_scale_s * repeats_per_meter);
|
|
|
|
|
bumpy_scale_v->setValue(obj_scale_t * repeats_per_meter);
|
|
|
|
|
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatX(self,obj_scale_s * repeats_per_meter);
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatY(self,obj_scale_t * repeats_per_meter);
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatX(self,obj_scale_s * repeats_per_meter);
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatY(self,obj_scale_t * repeats_per_meter);
|
|
|
|
|
|
|
|
|
|
shiny_scale_u->setValue(obj_scale_s * repeats_per_meter);
|
|
|
|
|
shiny_scale_v->setValue(obj_scale_t * repeats_per_meter);
|
|
|
|
|
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatX(self,obj_scale_s * repeats_per_meter);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatY(self,obj_scale_t * repeats_per_meter);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
switch (material_type)
|
|
|
|
|
{
|
|
|
|
|
case MATTYPE_DIFFUSE:
|
|
|
|
|
{
|
|
|
|
|
LLSelectMgr::getInstance()->selectionTexScaleAutofit( repeats_per_meter );
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case MATTYPE_NORMAL:
|
|
|
|
|
{
|
|
|
|
|
bumpy_scale_u->setValue(obj_scale_s * repeats_per_meter);
|
|
|
|
|
bumpy_scale_v->setValue(obj_scale_t * repeats_per_meter);
|
|
|
|
|
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatX(self,obj_scale_s * repeats_per_meter);
|
|
|
|
|
LLSelectedTEMaterial::setNormalRepeatY(self,obj_scale_t * repeats_per_meter);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case MATTYPE_SPECULAR:
|
|
|
|
|
{
|
|
|
|
|
shiny_scale_u->setValue(obj_scale_s * repeats_per_meter);
|
|
|
|
|
shiny_scale_v->setValue(obj_scale_t * repeats_per_meter);
|
|
|
|
|
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatX(self,obj_scale_s * repeats_per_meter);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatY(self,obj_scale_t * repeats_per_meter);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
llassert(false);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case MATTYPE_SPECULAR:
|
|
|
|
|
{
|
|
|
|
|
LLUICtrl* shiny_scale_u = self->getChild<LLUICtrl>("shinyScaleU");
|
|
|
|
|
LLUICtrl* shiny_scale_v = self->getChild<LLUICtrl>("shinyScaleV");
|
|
|
|
|
|
|
|
|
|
shiny_scale_u->setValue(obj_scale_s * repeats_per_meter);
|
|
|
|
|
shiny_scale_v->setValue(obj_scale_t * repeats_per_meter);
|
|
|
|
|
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatX(self,obj_scale_s * repeats_per_meter);
|
|
|
|
|
LLSelectedTEMaterial::setSpecularRepeatY(self,obj_scale_t * repeats_per_meter);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
llassert(false);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// vertical scale and repeats per meter depends on each other, so force set on changes
|
|
|
|
|
self->updateUI(true);
|
|
|
|
|
|