Build Improvements: LLCalc var support on build floater
parent
1fb4d5bada
commit
3e9cc6201e
|
|
@ -30,6 +30,7 @@
|
|||
#include "llpanelface.h"
|
||||
|
||||
// library includes
|
||||
#include "llcalc.h"
|
||||
#include "llerror.h"
|
||||
#include "llfocusmgr.h"
|
||||
#include "llrect.h"
|
||||
|
|
@ -494,6 +495,7 @@ void LLPanelFace::getState()
|
|||
{
|
||||
LLViewerObject* objectp = LLSelectMgr::getInstance()->getSelection()->getFirstObject();
|
||||
|
||||
LLCalc* calcp = LLCalc::getInstance();
|
||||
if( objectp
|
||||
&& objectp->getPCode() == LL_PCODE_VOLUME
|
||||
&& objectp->permModify())
|
||||
|
|
@ -928,6 +930,15 @@ void LLPanelFace::getState()
|
|||
getChildView("button apply")->setEnabled(enabled);
|
||||
}
|
||||
}
|
||||
|
||||
// Set variable values for numeric expressions
|
||||
calcp->setVar(LLCalc::TEX_U_SCALE, childGetValue("TexScaleU").asReal());
|
||||
calcp->setVar(LLCalc::TEX_V_SCALE, childGetValue("TexScaleV").asReal());
|
||||
calcp->setVar(LLCalc::TEX_U_OFFSET, childGetValue("TexOffsetU").asReal());
|
||||
calcp->setVar(LLCalc::TEX_V_OFFSET, childGetValue("TexOffsetV").asReal());
|
||||
calcp->setVar(LLCalc::TEX_ROTATION, childGetValue("TexRot").asReal());
|
||||
calcp->setVar(LLCalc::TEX_TRANSPARENCY, childGetValue("ColorTrans").asReal());
|
||||
calcp->setVar(LLCalc::TEX_GLOW, childGetValue("glow").asReal());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -963,6 +974,15 @@ void LLPanelFace::getState()
|
|||
//getChildView("has media")->setEnabled(FALSE);
|
||||
//getChildView("media info set")->setEnabled(FALSE);
|
||||
|
||||
|
||||
// Set variable values for numeric expressions
|
||||
calcp->clearVar(LLCalc::TEX_U_SCALE);
|
||||
calcp->clearVar(LLCalc::TEX_V_SCALE);
|
||||
calcp->clearVar(LLCalc::TEX_U_OFFSET);
|
||||
calcp->clearVar(LLCalc::TEX_V_OFFSET);
|
||||
calcp->clearVar(LLCalc::TEX_ROTATION);
|
||||
calcp->clearVar(LLCalc::TEX_TRANSPARENCY);
|
||||
calcp->clearVar(LLCalc::TEX_GLOW);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@
|
|||
// project includes
|
||||
#include "llagent.h"
|
||||
#include "llbutton.h"
|
||||
#include "llcalc.h"
|
||||
#include "llcheckboxctrl.h"
|
||||
#include "llcolorswatch.h"
|
||||
#include "llcombobox.h"
|
||||
|
|
@ -389,6 +390,8 @@ void LLPanelObject::getState( )
|
|||
}
|
||||
}
|
||||
|
||||
LLCalc* calcp = LLCalc::getInstance();
|
||||
|
||||
LLVOVolume *volobjp = NULL;
|
||||
if ( objectp && (objectp->getPCode() == LL_PCODE_VOLUME))
|
||||
{
|
||||
|
|
@ -405,6 +408,7 @@ void LLPanelObject::getState( )
|
|||
|
||||
// Disable all text input fields
|
||||
clearCtrls();
|
||||
calcp->clearAllVariables();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -439,12 +443,18 @@ void LLPanelObject::getState( )
|
|||
mCtrlPosX->set( vec.mV[VX] );
|
||||
mCtrlPosY->set( vec.mV[VY] );
|
||||
mCtrlPosZ->set( vec.mV[VZ] );
|
||||
calcp->setVar(LLCalc::X_POS, vec.mV[VX]);
|
||||
calcp->setVar(LLCalc::Y_POS, vec.mV[VY]);
|
||||
calcp->setVar(LLCalc::Z_POS, vec.mV[VZ]);
|
||||
}
|
||||
else
|
||||
{
|
||||
mCtrlPosX->clear();
|
||||
mCtrlPosY->clear();
|
||||
mCtrlPosZ->clear();
|
||||
calcp->clearVar(LLCalc::X_POS);
|
||||
calcp->clearVar(LLCalc::Y_POS);
|
||||
calcp->clearVar(LLCalc::Z_POS);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -459,12 +469,18 @@ void LLPanelObject::getState( )
|
|||
mCtrlScaleX->set( vec.mV[VX] );
|
||||
mCtrlScaleY->set( vec.mV[VY] );
|
||||
mCtrlScaleZ->set( vec.mV[VZ] );
|
||||
calcp->setVar(LLCalc::X_SCALE, vec.mV[VX]);
|
||||
calcp->setVar(LLCalc::Y_SCALE, vec.mV[VY]);
|
||||
calcp->setVar(LLCalc::Z_SCALE, vec.mV[VZ]);
|
||||
}
|
||||
else
|
||||
{
|
||||
mCtrlScaleX->clear();
|
||||
mCtrlScaleY->clear();
|
||||
mCtrlScaleZ->clear();
|
||||
calcp->setVar(LLCalc::X_SCALE, 0.f);
|
||||
calcp->setVar(LLCalc::Y_SCALE, 0.f);
|
||||
calcp->setVar(LLCalc::Z_SCALE, 0.f);
|
||||
}
|
||||
|
||||
mLabelSize->setEnabled( enable_scale );
|
||||
|
|
@ -484,12 +500,18 @@ void LLPanelObject::getState( )
|
|||
mCtrlRotX->set( mCurEulerDegrees.mV[VX] );
|
||||
mCtrlRotY->set( mCurEulerDegrees.mV[VY] );
|
||||
mCtrlRotZ->set( mCurEulerDegrees.mV[VZ] );
|
||||
calcp->setVar(LLCalc::X_ROT, mCurEulerDegrees.mV[VX]);
|
||||
calcp->setVar(LLCalc::Y_ROT, mCurEulerDegrees.mV[VY]);
|
||||
calcp->setVar(LLCalc::Z_ROT, mCurEulerDegrees.mV[VZ]);
|
||||
}
|
||||
else
|
||||
{
|
||||
mCtrlRotX->clear();
|
||||
mCtrlRotY->clear();
|
||||
mCtrlRotZ->clear();
|
||||
calcp->clearVar(LLCalc::X_ROT);
|
||||
calcp->clearVar(LLCalc::Y_ROT);
|
||||
calcp->clearVar(LLCalc::Z_ROT);
|
||||
}
|
||||
|
||||
mLabelRotation->setEnabled( enable_rotate );
|
||||
|
|
@ -754,7 +776,7 @@ void LLPanelObject::getState( )
|
|||
// Hollowness
|
||||
F32 hollow = volume_params.getHollow();
|
||||
mSpinHollow->set( 100.f * hollow );
|
||||
|
||||
calcp->setVar(LLCalc::HOLLOW, hollow);
|
||||
// All hollow objects allow a shape to be selected.
|
||||
if (hollow > 0.f)
|
||||
{
|
||||
|
|
@ -806,6 +828,10 @@ void LLPanelObject::getState( )
|
|||
mSpinCutEnd ->set( cut_end );
|
||||
mCtrlPathBegin ->set( adv_cut_begin );
|
||||
mCtrlPathEnd ->set( adv_cut_end );
|
||||
calcp->setVar(LLCalc::CUT_BEGIN, cut_begin);
|
||||
calcp->setVar(LLCalc::CUT_END, cut_end);
|
||||
calcp->setVar(LLCalc::PATH_BEGIN, adv_cut_begin);
|
||||
calcp->setVar(LLCalc::PATH_END, adv_cut_end);
|
||||
|
||||
// Twist
|
||||
F32 twist = volume_params.getTwist();
|
||||
|
|
@ -824,18 +850,24 @@ void LLPanelObject::getState( )
|
|||
|
||||
mSpinTwist ->set( twist );
|
||||
mSpinTwistBegin ->set( twist_begin );
|
||||
calcp->setVar(LLCalc::TWIST_END, twist);
|
||||
calcp->setVar(LLCalc::TWIST_BEGIN, twist_begin);
|
||||
|
||||
// Shear
|
||||
F32 shear_x = volume_params.getShearX();
|
||||
F32 shear_y = volume_params.getShearY();
|
||||
mSpinShearX->set( shear_x );
|
||||
mSpinShearY->set( shear_y );
|
||||
calcp->setVar(LLCalc::X_SHEAR, shear_x);
|
||||
calcp->setVar(LLCalc::Y_SHEAR, shear_y);
|
||||
|
||||
// Taper
|
||||
F32 taper_x = volume_params.getTaperX();
|
||||
F32 taper_y = volume_params.getTaperY();
|
||||
mSpinTaperX->set( taper_x );
|
||||
mSpinTaperY->set( taper_y );
|
||||
calcp->setVar(LLCalc::X_TAPER, taper_x);
|
||||
calcp->setVar(LLCalc::Y_TAPER, taper_y);
|
||||
|
||||
// Radius offset.
|
||||
F32 radius_offset = volume_params.getRadiusOffset();
|
||||
|
|
@ -865,10 +897,12 @@ void LLPanelObject::getState( )
|
|||
}
|
||||
}
|
||||
mSpinRadiusOffset->set( radius_offset);
|
||||
calcp->setVar(LLCalc::RADIUS_OFFSET, radius_offset);
|
||||
|
||||
// Revolutions
|
||||
F32 revolutions = volume_params.getRevolutions();
|
||||
mSpinRevolutions->set( revolutions );
|
||||
calcp->setVar(LLCalc::REVOLUTIONS, revolutions);
|
||||
|
||||
// Skew
|
||||
F32 skew = volume_params.getSkew();
|
||||
|
|
@ -893,6 +927,7 @@ void LLPanelObject::getState( )
|
|||
}
|
||||
}
|
||||
mSpinSkew->set( skew );
|
||||
calcp->setVar(LLCalc::SKEW, skew);
|
||||
}
|
||||
|
||||
// Compute control visibility, label names, and twist range.
|
||||
|
|
@ -991,11 +1026,18 @@ void LLPanelObject::getState( )
|
|||
switch (selected_item)
|
||||
{
|
||||
case MI_SPHERE:
|
||||
mSpinScaleX->set( scale_x );
|
||||
mSpinScaleY->set( scale_y );
|
||||
calcp->setVar(LLCalc::X_HOLE, scale_x);
|
||||
calcp->setVar(LLCalc::Y_HOLE, scale_y);
|
||||
break;
|
||||
case MI_TORUS:
|
||||
case MI_TUBE:
|
||||
case MI_RING:
|
||||
mSpinScaleX->set( scale_x );
|
||||
mSpinScaleY->set( scale_y );
|
||||
calcp->setVar(LLCalc::X_HOLE, scale_x);
|
||||
calcp->setVar(LLCalc::Y_HOLE, scale_y);
|
||||
mSpinScaleX->setMinValue(OBJECT_MIN_HOLE_SIZE);
|
||||
mSpinScaleX->setMaxValue(OBJECT_MAX_HOLE_SIZE_X);
|
||||
mSpinScaleY->setMinValue(OBJECT_MIN_HOLE_SIZE);
|
||||
|
|
@ -1010,6 +1052,12 @@ void LLPanelObject::getState( )
|
|||
mSpinScaleX->setMaxValue(1.f);
|
||||
mSpinScaleY->setMinValue(-1.f);
|
||||
mSpinScaleY->setMaxValue(1.f);
|
||||
calcp->setVar(LLCalc::X_TAPER, 1.f - scale_x);
|
||||
calcp->setVar(LLCalc::Y_TAPER, 1.f - scale_y);
|
||||
|
||||
// Box/Cyl/Prism have no hole size
|
||||
calcp->setVar(LLCalc::X_HOLE, 0.f);
|
||||
calcp->setVar(LLCalc::Y_HOLE, 0.f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -2153,6 +2201,11 @@ void LLPanelObject::onPastePos(const LLSD& data)
|
|||
mCtrlPosY->set( mClipboardPos.mV[VY] );
|
||||
mCtrlPosZ->set( mClipboardPos.mV[VZ] );
|
||||
|
||||
LLCalc* calcp = LLCalc::getInstance();
|
||||
calcp->setVar(LLCalc::X_POS, mClipboardPos.mV[VX]);
|
||||
calcp->setVar(LLCalc::Y_POS, mClipboardPos.mV[VY]);
|
||||
calcp->setVar(LLCalc::Z_POS, mClipboardPos.mV[VZ]);
|
||||
|
||||
sendPosition(FALSE);
|
||||
}
|
||||
|
||||
|
|
@ -2168,6 +2221,11 @@ void LLPanelObject::onPasteSize(const LLSD& data)
|
|||
mCtrlScaleY->set( mClipboardSize.mV[VY] );
|
||||
mCtrlScaleZ->set( mClipboardSize.mV[VZ] );
|
||||
|
||||
LLCalc* calcp = LLCalc::getInstance();
|
||||
calcp->setVar(LLCalc::X_SCALE, mClipboardSize.mV[VX]);
|
||||
calcp->setVar(LLCalc::Y_SCALE, mClipboardSize.mV[VY]);
|
||||
calcp->setVar(LLCalc::Z_SCALE, mClipboardSize.mV[VZ]);
|
||||
|
||||
sendScale(FALSE);
|
||||
}
|
||||
|
||||
|
|
@ -2179,6 +2237,11 @@ void LLPanelObject::onPasteRot(const LLSD& data)
|
|||
mCtrlRotY->set( mClipboardRot.mV[VY] );
|
||||
mCtrlRotZ->set( mClipboardRot.mV[VZ] );
|
||||
|
||||
LLCalc* calcp = LLCalc::getInstance();
|
||||
calcp->setVar(LLCalc::X_ROT, mClipboardRot.mV[VX]);
|
||||
calcp->setVar(LLCalc::Y_ROT, mClipboardRot.mV[VY]);
|
||||
calcp->setVar(LLCalc::Z_ROT, mClipboardRot.mV[VZ]);
|
||||
|
||||
sendRotation(FALSE);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue