SL-17628 Add viewer sided max attachment distance to position fields
parent
1ad175a0df
commit
664ce046ee
|
|
@ -93,6 +93,8 @@ enum {
|
|||
MI_HOLE_COUNT
|
||||
};
|
||||
|
||||
const F32 MAX_ATTACHMENT_DIST = 3.5f; // meters
|
||||
|
||||
//static const std::string LEGACY_FULLBRIGHT_DESC =LLTrans::getString("Fullbright");
|
||||
|
||||
BOOL LLPanelObject::postBuild()
|
||||
|
|
@ -1685,6 +1687,16 @@ void LLPanelObject::sendPosition(BOOL btn_down)
|
|||
mCtrlPosZ->set(LLWorld::getInstance()->resolveLandHeightAgent(newpos) + 1.f);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (newpos.length() > MAX_ATTACHMENT_DIST)
|
||||
{
|
||||
newpos.clampLength(MAX_ATTACHMENT_DIST);
|
||||
mCtrlPosX->set(newpos.mV[VX]);
|
||||
mCtrlPosY->set(newpos.mV[VY]);
|
||||
mCtrlPosZ->set(newpos.mV[VZ]);
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure new position is in a valid region, so the object
|
||||
// won't get dumped by the simulator.
|
||||
|
|
@ -2191,6 +2203,10 @@ void LLPanelObject::onPastePos()
|
|||
mClipboardPos.mV[VY] = llclamp(mClipboardPos.mV[VY], 0.f, max_width);
|
||||
//height will get properly clamped by sendPosition
|
||||
}
|
||||
else
|
||||
{
|
||||
mClipboardPos.clampLength(MAX_ATTACHMENT_DIST);
|
||||
}
|
||||
|
||||
mCtrlPosX->set( mClipboardPos.mV[VX] );
|
||||
mCtrlPosY->set( mClipboardPos.mV[VY] );
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
#include "llglheaders.h"
|
||||
|
||||
extern LLPipeline gPipeline;
|
||||
const F32 MAX_ATTACHMENT_DIST = 3.5f; // meters?
|
||||
const F32 MAX_ATTACHMENT_DIST = 3.5f; // meters
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LLViewerJointAttachment()
|
||||
|
|
|
|||
Loading…
Reference in New Issue