LLManipScale Class Reference

#include <llmanipscale.h>

Inheritance diagram for LLManipScale:

Inheritance graph
[legend]
Collaboration diagram for LLManipScale:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLManipScale (LLToolComposite *composite)
 ~LLManipScale ()
virtual BOOL handleMouseDown (S32 x, S32 y, MASK mask)
virtual BOOL handleMouseUp (S32 x, S32 y, MASK mask)
virtual BOOL handleHover (S32 x, S32 y, MASK mask)
virtual void render ()
virtual void handleSelect ()
virtual void handleDeselect ()
virtual BOOL handleMouseDownOnPart (S32 x, S32 y, MASK mask)
virtual void highlightManipulators (S32 x, S32 y)
virtual BOOL canAffectSelection ()

Static Public Member Functions

static void setUniform (BOOL b)
static BOOL getUniform ()
static void setStretchTextures (BOOL b)
static BOOL getStretchTextures ()
static void setShowAxes (BOOL b)
static BOOL getShowAxes ()

Private Member Functions

void renderCorners (const LLBBox &local_bbox)
void renderFaces (const LLBBox &local_bbox)
void renderEdges (const LLBBox &local_bbox)
void renderBoxHandle (F32 x, F32 y, F32 z)
void renderAxisHandle (const LLVector3 &start, const LLVector3 &end)
void renderGuidelinesPart (const LLBBox &local_bbox)
void renderSnapGuides (const LLBBox &local_bbox)
void revert ()
void conditionalHighlight (U32 part, const LLColor4 *highlight=NULL, const LLColor4 *normal=NULL)
void drag (S32 x, S32 y)
void dragFace (S32 x, S32 y)
void dragCorner (S32 x, S32 y)
void sendUpdates (BOOL send_position_update, BOOL send_scale_update, BOOL corner=FALSE)
LLVector3 faceToUnitVector (S32 part) const
LLVector3 cornerToUnitVector (S32 part) const
LLVector3 edgeToUnitVector (S32 part) const
LLVector3 partToUnitVector (S32 part) const
LLVector3 unitVectorToLocalBBoxExtent (const LLVector3 &v, const LLBBox &bbox) const
F32 partToMaxScale (S32 part, const LLBBox &bbox) const
F32 partToMinScale (S32 part, const LLBBox &bbox) const
LLVector3 nearestAxis (const LLVector3 &v) const
void stretchFace (const LLVector3 &drag_start_agent, const LLVector3 &drag_delta_agent)
void adjustTextureRepeats ()
void updateSnapGuides (const LLBBox &bbox)

Private Attributes

F32 mBoxHandleSize
F32 mScaledBoxHandleSize
EManipPart mManipPart
LLVector3d mDragStartPointGlobal
LLVector3d mDragStartCenterGlobal
LLVector3d mDragPointGlobal
LLVector3d mDragFarHitGlobal
S32 mLastMouseX
S32 mLastMouseY
BOOL mSendUpdateOnMouseUp
U32 mLastUpdateFlags
LLLinkedList< ManipulatorHandlemProjectedManipulators
LLVector4 mManipulatorVertices [14]
F32 mScaleSnapUnit1
F32 mScaleSnapUnit2
LLVector3 mScalePlaneNormal1
LLVector3 mScalePlaneNormal2
LLVector3 mSnapGuideDir1
LLVector3 mSnapGuideDir2
LLVector3 mSnapDir1
LLVector3 mSnapDir2
F32 mSnapRegimeOffset
F32 mSnapGuideLength
LLVector3 mScaleCenter
LLVector3 mScaleDir
F32 mScaleSnapValue
BOOL mInSnapRegime
F32mManipulatorScales

Classes

class  ManipulatorHandle

Detailed Description

Definition at line 57 of file llmanipscale.h.


Constructor & Destructor Documentation

LLManipScale::LLManipScale ( LLToolComposite composite  ) 

Definition at line 181 of file llmanipscale.cpp.

References f, i, mManipulatorScales, mProjectedManipulators, NUM_MANIPULATORS, S32, and sort_manip_by_z().

LLManipScale::~LLManipScale (  ) 

Definition at line 205 of file llmanipscale.cpp.

References mManipulatorScales.


Member Function Documentation

void LLManipScale::adjustTextureRepeats (  )  [private]

BOOL LLManipScale::canAffectSelection (  )  [virtual]

Implements LLManip.

Definition at line 2044 of file llmanipscale.cpp.

References f, func, and LLManip::mObjectSelection.

Referenced by handleMouseDownOnPart(), highlightManipulators(), and render().

void LLManipScale::conditionalHighlight ( U32  part,
const LLColor4 highlight = NULL,
const LLColor4 normal = NULL 
) [inline, private]

Definition at line 129 of file llmanipscale.cpp.

References f, glColor4fv, i, LLManip::LL_NO_PART, MANIPULATOR_IDS, mBoxHandleSize, LLManip::mHighlightedPart, mManipPart, mManipulatorScales, mScaledBoxHandleSize, LLColor4::mV, NUM_MANIPULATORS, and S32.

Referenced by renderCorners(), renderEdges(), and renderFaces().

LLVector3 LLManipScale::cornerToUnitVector ( S32  part  )  const [private]

Definition at line 1895 of file llmanipscale.cpp.

References LLVector3::clearVec(), F_SQRT3, LLManip::LL_CORNER_MAX, LLManip::LL_CORNER_MIN, LLManip::LL_CORNER_NNN, LLManip::LL_CORNER_NNP, LLManip::LL_CORNER_NPN, LLManip::LL_CORNER_NPP, LLManip::LL_CORNER_PNN, LLManip::LL_CORNER_PNP, LLManip::LL_CORNER_PPN, LLManip::LL_CORNER_PPP, llassert, and LLVector3::setVec().

Referenced by partToUnitVector().

void LLManipScale::drag ( S32  x,
S32  y 
) [private]

Definition at line 809 of file llmanipscale.cpp.

References LLAgent::clearFocusObject(), dragCorner(), dragFace(), gAgent, LLXform::getPosition(), LLXform::getScale(), LLSelectMgr::getSelection(), gSelectMgr, LLPrimitive::isAvatar(), LLManip::LL_CORNER_MAX, LLManip::LL_CORNER_MIN, LLManip::LL_FACE_MAX, LLManip::LL_FACE_MIN, mManipPart, LLViewerObject::permModify(), LLViewerObject::permMove(), S32, and LLSelectMgr::updateSelectionCenter().

Referenced by handleHover().

void LLManipScale::dragCorner ( S32  x,
S32  y 
) [private]

Definition at line 841 of file llmanipscale.cpp.

References LLWorld::clipToVisibleRegions(), dist_vec(), f, FALSE, gAgent, LLSelectMgr::getBBoxOfSelection(), LLControlGroup::getBOOL(), LLManip::getMousePointOnPlaneAgent(), LLAgent::getPosAgentFromGlobal(), LLViewerObject::getPositionEdit(), LLViewerObject::getRotationEdit(), LLManip::getSubdivisionLevel(), getUniform(), gSavedSettings, gSelectMgr, gWorldp, LLViewerObject::isAttachment(), LLPrimitive::isAvatar(), LLXform::isRootEdit(), llclamp(), llmax(), llmin(), MAX_OBJECT_SCALE, LLViewerObject::mChildList, mDragFarHitGlobal, mDragPointGlobal, mDragStartCenterGlobal, mDragStartPointGlobal, MIN_OBJECT_SCALE, mInSnapRegime, mLastMouseX, mLastMouseY, mManipPart, LLManip::mObjectSelection, mScaleCenter, mScaleDir, mScalePlaneNormal1, mScalePlaneNormal2, mScaleSnapUnit1, mScaleSnapUnit2, mScaleSnapValue, mSnapGuideDir1, mSnapGuideDir2, mSnapRegimeOffset, LLManip::nearestPointOnLineFromMouse(), LLVector3::normVec(), partToMaxScale(), partToMinScale(), LLViewerObject::permModify(), LLViewerObject::permMove(), projected_vec(), LLManip::rebuild(), s, LLViewerObject::setPosition(), LLViewerObject::setPositionAbsoluteGlobal(), LLViewerObject::setScale(), LLVector3::setVec(), LLVector3d::setVec(), LLManip::sGridMaxSubdivisionLevel, LLManip::sGridMinSubdivisionLevel, t, TRUE, VX, VY, and VZ.

Referenced by drag().

void LLManipScale::dragFace ( S32  x,
S32  y 
) [private]

Definition at line 1064 of file llmanipscale.cpp.

References dist_vec(), FALSE, gAgent, LLSelectMgr::getBBoxOfSelection(), LLControlGroup::getBOOL(), LLManip::getMousePointOnPlaneAgent(), LLAgent::getPosAgentFromGlobal(), LLManip::getSubdivisionLevel(), getUniform(), gSavedSettings, gSelectMgr, llabs(), llclamp(), LLBBox::localToAgentBasis(), mDragPointGlobal, mDragStartCenterGlobal, mDragStartPointGlobal, mInSnapRegime, mLastMouseX, mLastMouseY, mManipPart, mScaleCenter, mScaleDir, mScalePlaneNormal1, mScaleSnapUnit1, mScaleSnapValue, mSnapRegimeOffset, LLVector3::mV, LLManip::nearestPointOnLineFromMouse(), partToMaxScale(), partToMinScale(), partToUnitVector(), projected_vec(), s, LLVector3::setVec(), LLVector3d::setVec(), LLManip::sGridMaxSubdivisionLevel, LLManip::sGridMinSubdivisionLevel, stretchFace(), t, TRUE, VX, VY, VZ, LLVector3::x_axis, LLVector3::y_axis, and LLVector3::z_axis.

Referenced by drag().

LLVector3 LLManipScale::edgeToUnitVector ( S32  part  )  const [private]

Definition at line 1933 of file llmanipscale.cpp.

References F_SQRT2, LLManip::LL_EDGE_MAX, LLManip::LL_EDGE_MIN, llassert, S32, and v.

Referenced by partToUnitVector(), and renderEdges().

LLVector3 LLManipScale::faceToUnitVector ( S32  part  )  const [private]

Definition at line 1867 of file llmanipscale.cpp.

References f, LLManip::LL_FACE_MAX, LLManip::LL_FACE_MIN, LLManip::LL_FACE_NEGX, LLManip::LL_FACE_NEGY, LLManip::LL_FACE_NEGZ, LLManip::LL_FACE_POSX, LLManip::LL_FACE_POSY, LLManip::LL_FACE_POSZ, and llassert.

Referenced by partToUnitVector().

BOOL LLManipScale::getShowAxes (  )  [static]

Definition at line 118 of file llmanipscale.cpp.

References LLControlGroup::getBOOL(), and gSavedSettings.

Referenced by renderAxisHandle().

BOOL LLManipScale::getStretchTextures (  )  [static]

Definition at line 124 of file llmanipscale.cpp.

References LLControlGroup::getBOOL(), and gSavedSettings.

Referenced by handleHover(), handleMouseUp(), and LLPanelObject::sendScale().

BOOL LLManipScale::getUniform (  )  [static]

Definition at line 112 of file llmanipscale.cpp.

References LLControlGroup::getBOOL(), and gSavedSettings.

Referenced by dragCorner(), dragFace(), renderGuidelinesPart(), renderSnapGuides(), stretchFace(), and updateSnapGuides().

void LLManipScale::handleDeselect (  )  [virtual]

Reimplemented from LLManip.

Definition at line 169 of file llmanipscale.cpp.

References LLManip::handleDeselect(), LLManip::LL_NO_PART, LLManip::mHighlightedPart, and mManipPart.

BOOL LLManipScale::handleHover ( S32  x,
S32  y,
MASK  mask 
) [virtual]

Reimplemented from LLManip.

Definition at line 407 of file llmanipscale.cpp.

References LLSelectMgr::adjustTexturesByScale(), drag(), FALSE, getStretchTextures(), LLViewerWindow::getWindow(), gSelectMgr, gViewerWindow, LLTool::hasMouseCapture(), highlightManipulators(), lldebugst, llendl, mInSnapRegime, LLManip::mObjectSelection, LLWindow::setCursor(), LLTool::setMouseCapture(), TRUE, and UI_CURSOR_TOOLSCALE.

Referenced by handleMouseUp().

BOOL LLManipScale::handleMouseDown ( S32  x,
S32  y,
MASK  mask 
) [virtual]

Reimplemented from LLTool.

Definition at line 320 of file llmanipscale.cpp.

References FALSE, gViewerWindow, handleMouseDownOnPart(), LLViewerWindow::lastObjectHit(), LLManip::LL_NO_PART, and LLManip::mHighlightedPart.

BOOL LLManipScale::handleMouseDownOnPart ( S32  x,
S32  y,
MASK  mask 
) [virtual]

Implements LLManip.

Definition at line 335 of file llmanipscale.cpp.

References canAffectSelection(), LLSelectMgr::enableSilhouette(), f, FALSE, gAgent, LLSelectMgr::getBBoxOfSelection(), LLBBox::getCenterAgent(), LLAgent::getPosGlobalFromAgent(), gSelectMgr, highlightManipulators(), LLBBox::localToAgent(), mDragFarHitGlobal, mDragPointGlobal, mDragStartCenterGlobal, mDragStartPointGlobal, LLManip::mHelpTextTimer, LLManip::mHighlightedPart, mManipPart, partToUnitVector(), LLFrameTimer::reset(), S32, LLSelectMgr::saveSelectedObjectTransform(), SELECT_ACTION_TYPE_SCALE, LLTool::setMouseCapture(), LLManip::sNumTimesHelpTextShown, TRUE, unitVectorToLocalBBoxExtent(), and updateSnapGuides().

Referenced by handleMouseDown().

BOOL LLManipScale::handleMouseUp ( S32  x,
S32  y,
MASK  mask 
) [virtual]

Reimplemented from LLManip.

Definition at line 372 of file llmanipscale.cpp.

References LLSelectMgr::adjustTexturesByScale(), LLSelectMgr::enableSilhouette(), FALSE, getStretchTextures(), gSelectMgr, handleHover(), LLManip::handleMouseUp(), LLTool::hasMouseCapture(), LLManip::LL_CORNER_MAX, LLManip::LL_CORNER_MIN, LLManip::LL_FACE_MAX, LLManip::LL_FACE_MIN, LLManip::LL_NO_PART, mLastUpdateFlags, mManipPart, S32, LLSelectMgr::saveSelectedObjectTransform(), SELECT_ACTION_TYPE_PICK, LLSelectMgr::sendMultipleUpdate(), sendUpdates(), and TRUE.

void LLManipScale::handleSelect (  )  [virtual]

Reimplemented from LLManip.

Definition at line 160 of file llmanipscale.cpp.

References LLSelectMgr::getBBoxOfSelection(), gFloaterTools, gSelectMgr, LLManip::handleSelect(), LLSelectMgr::saveSelectedObjectTransform(), SELECT_ACTION_TYPE_PICK, LLFloaterTools::setStatusText(), and updateSnapGuides().

void LLManipScale::highlightManipulators ( S32  x,
S32  y 
) [virtual]

Implements LLManip.

Definition at line 436 of file llmanipscale.cpp.

References canAffectSelection(), LLQuaternion::DEFAULT, f, gAgent, gCamera, LLCamera::getAspect(), LLAgent::getAvatarObject(), LLSelectMgr::getBBoxOfSelection(), LLBBox::getCenterLocal(), LLCriticalDamp::getInterpolant(), LLBBox::getMaxLocal(), LLBBox::getMinLocal(), LLViewerCamera::getModelview(), LLBBox::getPositionAgent(), LLViewerCamera::getProjection(), LLBBox::getRotation(), LLViewerWindow::getWindowHeight(), LLViewerWindow::getWindowWidth(), gSelectMgr, gViewerWindow, i, LLMatrix4::initAll(), LLMatrix4::initRotTrans(), lerp(), LLManip::LL_NO_PART, lldebugst, llendl, LLVector2::magVecSquared(), MANIPULATOR_IDS, MANIPULATOR_SCALE_HALF_LIFE, MAX_MANIP_SELECT_DISTANCE_SQUARED, LLManip::mHighlightedPart, LLVOAvatar::mHUDCurZoom, mManipulatorScales, mManipulatorVertices, LLManip::mObjectSelection, mProjectedManipulators, LLVector3::mV, NUM_MANIPULATORS, OGL_TO_CFR_ROTATION, S32, SCALE_MANIP_CORNER, SCALE_MANIP_FACE, SELECT_TYPE_HUD, SELECTED_MANIPULATOR_SCALE, LLVector2::setVec(), VW, VX, VY, VZ, and LLVector3::zero.

Referenced by handleHover(), and handleMouseDownOnPart().

LLVector3 LLManipScale::nearestAxis ( const LLVector3 v  )  const [private]

Definition at line 2006 of file llmanipscale.cpp.

References i, S32, and v.

Referenced by stretchFace().

F32 LLManipScale::partToMaxScale ( S32  part,
const LLBBox bbox 
) const [private]

Definition at line 1959 of file llmanipscale.cpp.

References LLVector3::abs(), i, LLVector3::mV, partToUnitVector(), unitVectorToLocalBBoxExtent(), VX, and VZ.

Referenced by dragCorner(), dragFace(), and renderSnapGuides().

F32 LLManipScale::partToMinScale ( S32  part,
const LLBBox bbox 
) const [private]

Definition at line 1983 of file llmanipscale.cpp.

References LLVector3::abs(), i, MAX_OBJECT_SCALE, LLVector3::mV, partToUnitVector(), unitVectorToLocalBBoxExtent(), VX, and VZ.

Referenced by dragCorner(), and dragFace().

LLVector3 LLManipScale::partToUnitVector ( S32  part  )  const [private]

Definition at line 1846 of file llmanipscale.cpp.

References cornerToUnitVector(), edgeToUnitVector(), faceToUnitVector(), LLManip::LL_CORNER_MAX, LLManip::LL_CORNER_MIN, LLManip::LL_EDGE_MAX, LLManip::LL_EDGE_MIN, LLManip::LL_FACE_MAX, and LLManip::LL_FACE_MIN.

Referenced by dragFace(), handleMouseDownOnPart(), partToMaxScale(), partToMinScale(), renderGuidelinesPart(), and updateSnapGuides().

void LLManipScale::render (  )  [virtual]

Reimplemented from LLTool.

Definition at line 210 of file llmanipscale.cpp.

References canAffectSelection(), dist_vec(), f, gAgent, gCamera, LLQuaternion::getAngleAxis(), LLAgent::getAvatarObject(), LLSelectMgr::getBBoxOfSelection(), LLControlGroup::getBOOL(), LLAgent::getCameraPositionAgent(), LLBBox::getExtentLocal(), LLControlGroup::getF32(), LLAgent::getPosAgentFromGlobal(), LLBBox::getPositionAgent(), LLAgent::getPositionAgent(), LLBBox::getRotation(), LLSelectMgr::getSelectionCenterGlobal(), LLCamera::getView(), LLCamera::getViewHeightInPixels(), glPopMatrix, glRotatef, glTranslatef, gSavedSettings, gSelectMgr, LLManip::LL_NO_PART, mBoxHandleSize, LLVOAvatar::mHUDCurZoom, mManipPart, LLManip::mObjectSelection, LLVector3::mV, RAD_TO_DEG, range, renderCorners(), renderFaces(), renderGuidelinesPart(), renderSnapGuides(), LLManip::renderXYZ(), SELECT_TYPE_HUD, VX, VY, VZ, x, y, and z.

void LLManipScale::renderAxisHandle ( const LLVector3 start,
const LLVector3 end 
) [private]

Definition at line 779 of file llmanipscale.cpp.

References end, gBox, getShowAxes(), glPopMatrix, glTranslatef, llabs(), mBoxHandleSize, LLVector3::mV, LLVector3::normVec(), LLBox::render(), renderBoxHandle(), start, VX, VY, and VZ.

Referenced by renderFaces().

void LLManipScale::renderBoxHandle ( F32  x,
F32  y,
F32  z 
) [private]

Definition at line 764 of file llmanipscale.cpp.

References gBox, glPopMatrix, glTranslatef, mScaledBoxHandleSize, and LLBox::render().

Referenced by renderAxisHandle(), and renderCorners().

void LLManipScale::renderCorners ( const LLBBox local_bbox  )  [private]

Definition at line 737 of file llmanipscale.cpp.

References conditionalHighlight(), LLBBox::getMaxLocal(), LLBBox::getMinLocal(), i, j, LLManip::LL_CORNER_NNN, LLVector3::mV, renderBoxHandle(), S32, VX, VY, and VZ.

Referenced by render().

void LLManipScale::renderEdges ( const LLBBox local_bbox  )  [private]

Definition at line 712 of file llmanipscale.cpp.

References conditionalHighlight(), edgeToUnitVector(), gBox, LLBBox::getExtentLocal(), glPopMatrix, glTranslatef, LLManip::LL_EDGE_MAX, LLManip::LL_EDGE_MIN, mBoxHandleSize, LLVector3::mV, LLBox::render(), unitVectorToLocalBBoxExtent(), VX, VY, and VZ.

void LLManipScale::renderFaces ( const LLBBox local_bbox  )  [private]

Definition at line 550 of file llmanipscale.cpp.

References LLBBox::agentToLocalBasis(), conditionalHighlight(), f, face, gAgent, LLAgent::getCameraPositionAgent(), LLBBox::getCenterAgent(), LLBBox::getCenterLocal(), LLBBox::getMaxLocal(), LLBBox::getMinLocal(), glBegin, glColor4fv, glEnd, i, LLManip::LL_FACE_NEGX, LLManip::LL_FACE_NEGY, LLManip::LL_FACE_NEGZ, LLManip::LL_FACE_POSX, LLManip::LL_FACE_POSY, LLManip::LL_FACE_POSZ, LLManip::LL_NO_PART, mManipPart, LLManip::mObjectSelection, LLVector3::mV, LLColor4::mV, renderAxisHandle(), S32, VX, VY, and VZ.

Referenced by render().

void LLManipScale::renderGuidelinesPart ( const LLBBox local_bbox  )  [private]

Definition at line 1332 of file llmanipscale.cpp.

References f, LLBBox::getCenterLocal(), getUniform(), gl_stippled_line_3d(), gWorldPointer, mManipPart, LLVector3::normVec(), partToUnitVector(), and unitVectorToLocalBBoxExtent().

Referenced by render().

void LLManipScale::renderSnapGuides ( const LLBBox local_bbox  )  [private]

Definition at line 1519 of file llmanipscale.cpp.

References clamp_rescale(), f, gAgent, gCamera, LLCoordFrame::getAtAxis(), LLControlGroup::getBOOL(), LLBBox::getCenterAgent(), LLFrameTimer::getElapsedTimeF32(), LLControlGroup::getF32(), LLSelectMgr::getGridMode(), LLCoordFrame::getLeftAxis(), LLAgent::getPosAgentFromGlobal(), LLSelectMgr::getSavedBBoxOfSelection(), LLManip::getSubdivisionLevel(), getUniform(), LLCoordFrame::getUpAxis(), glBegin, glColor4f, glColor4fv, glEnd, GRID_MODE_WORLD, gSavedSettings, gSelectMgr, hud_render_utf8text(), i, is_approx_equal(), llabs(), llceil(), llclamp(), llmax(), llmin(), llround(), lltrunc(), mBoxHandleSize, mDragPointGlobal, LLManip::mHelpTextTimer, mInSnapRegime, mManipPart, LLManip::mObjectSelection, mScaleCenter, mScaleDir, mScaleSnapUnit1, mScaleSnapUnit2, mScaleSnapValue, mSnapGuideDir1, mSnapGuideDir2, mSnapGuideLength, mSnapRegimeOffset, LLColor4::mV, LLVector3::mV, LLFontGL::NORMAL, LLVector2::normVec(), LLVector3::normVec(), partToMaxScale(), LLManip::renderTickValue(), S32, SELECT_TYPE_HUD, LLManip::setupSnapGuideRenderPass(), LLManip::sGridMaxSubdivisionLevel, LLManip::sGridMinSubdivisionLevel, LLManip::sHelpTextFadeTime, LLManip::sHelpTextVisibleTime, LLManip::sMaxTimesShowHelpText, LLManip::sNumTimesHelpTextShown, LLFontGL::sSansSerif, LLManip::sTickLabelSpacing, LLManip::updateGridSettings(), VALPHA, VBLUE, VGREEN, VRED, and LLColor4::white.

Referenced by render().

void LLManipScale::revert (  )  [private]

void LLManipScale::sendUpdates ( BOOL  send_position_update,
BOOL  send_scale_update,
BOOL  corner = FALSE 
) [private]

Definition at line 1205 of file llmanipscale.cpp.

References dialog_refresh_all(), FALSE, LLControlGroup::getBOOL(), LLTimer::getElapsedTimeF32(), gSavedSettings, gSelectMgr, mLastUpdateFlags, mSendUpdateOnMouseUp, LLTimer::reset(), LLSelectMgr::sendMultipleUpdate(), TRUE, UPD_NONE, UPD_POSITION, UPD_SCALE, and UPD_UNIFORM.

Referenced by handleMouseUp().

void LLManipScale::setShowAxes ( BOOL  b  )  [static]

Definition at line 100 of file llmanipscale.cpp.

References gSavedSettings, and LLControlGroup::setBOOL().

void LLManipScale::setStretchTextures ( BOOL  b  )  [static]

Definition at line 106 of file llmanipscale.cpp.

References gSavedSettings, and LLControlGroup::setBOOL().

void LLManipScale::setUniform ( BOOL  b  )  [static]

Definition at line 94 of file llmanipscale.cpp.

References gSavedSettings, and LLControlGroup::setBOOL().

void LLManipScale::stretchFace ( const LLVector3 drag_start_agent,
const LLVector3 drag_delta_agent 
) [private]

Definition at line 1243 of file llmanipscale.cpp.

References LLBBox::agentToLocal(), LLWorld::clipToVisibleRegions(), f, FALSE, gAgent, LLViewerObject::getBoundingBoxAgent(), LLAgent::getPosAgentFromGlobal(), LLViewerObject::getPositionEdit(), LLViewerObject::getRotationEdit(), LLXform::getScale(), getUniform(), LLXform::getWorldRotation(), gWorldp, is_approx_zero(), LLViewerObject::isAttachment(), LLPrimitive::isAvatar(), LLXform::isRootEdit(), llclamp(), LLVector3::magVec(), MAX_OBJECT_SCALE, LLViewerObject::mChildList, mDragStartCenterGlobal, LLViewerObject::mDrawable, MIN_OBJECT_SCALE, LLManip::mObjectSelection, LLVector3::mV, nearestAxis(), LLViewerObject::permModify(), LLViewerObject::permMove(), LLManip::rebuild(), S32, LLViewerObject::setPosition(), LLViewerObject::setPositionGlobal(), LLViewerObject::setScale(), and LLVector3::setVec().

Referenced by dragFace().

LLVector3 LLManipScale::unitVectorToLocalBBoxExtent ( const LLVector3 v,
const LLBBox bbox 
) const [private]

Definition at line 1946 of file llmanipscale.cpp.

References LLBBox::getCenterLocal(), LLBBox::getMaxLocal(), LLBBox::getMinLocal(), LLVector3::mV, and v.

Referenced by handleMouseDownOnPart(), partToMaxScale(), partToMinScale(), renderEdges(), renderGuidelinesPart(), and updateSnapGuides().

void LLManipScale::updateSnapGuides ( const LLBBox bbox  )  [private]

Definition at line 1358 of file llmanipscale.cpp.

References LLVector3::abs(), dist_vec(), f, gAgent, gCamera, LLCoordFrame::getAtAxis(), LLAgent::getAvatarObject(), LLBBox::getCenterAgent(), LLSelectMgr::getGrid(), LLBBox::getMaxLocal(), LLCoordFrame::getOrigin(), LLViewerCamera::getPixelMeterRatio(), LLBBox::getRotation(), getUniform(), LLCoordFrame::getUpAxis(), LLViewerWindow::getWindowWidth(), gSelectMgr, gViewerWindow, LLManip::LL_CORNER_MAX, LLManip::LL_CORNER_MIN, LLManip::LL_CORNER_NNN, LLManip::LL_CORNER_NNP, LLManip::LL_CORNER_NPN, LLManip::LL_CORNER_NPP, LLManip::LL_CORNER_PNN, LLManip::LL_CORNER_PNP, LLManip::LL_CORNER_PPN, LLManip::LL_CORNER_PPP, LLManip::LL_FACE_MAX, LLManip::LL_FACE_MIN, llabs(), llmax(), llmin(), LLBBox::localToAgent(), LLVector3::magVec(), LLVOAvatar::mHUDCurZoom, mManipPart, LLManip::mObjectSelection, mScaleCenter, mScaleDir, mScalePlaneNormal1, mScalePlaneNormal2, mScaleSnapUnit1, mScaleSnapUnit2, mSnapDir1, mSnapDir2, mSnapGuideDir1, mSnapGuideDir2, mSnapGuideLength, mSnapRegimeOffset, LLVector3::mV, LLVector3::normVec(), partToUnitVector(), projected_vec(), LLVector3::rotVec(), S32, LLVector3::scaleVec(), SELECT_TYPE_HUD, LLVector3::setVec(), SNAP_GUIDE_SCREEN_LENGTH, SNAP_GUIDE_SCREEN_OFFSET, unitVectorToLocalBBoxExtent(), VX, VY, VZ, LLVector3::x_axis, LLVector3::y_axis, and LLVector3::z_axis.

Referenced by handleMouseDownOnPart(), and handleSelect().


Member Data Documentation

F32 LLManipScale::mBoxHandleSize [private]

Definition at line 127 of file llmanipscale.h.

Referenced by conditionalHighlight(), render(), renderAxisHandle(), renderEdges(), and renderSnapGuides().

LLVector3d LLManipScale::mDragFarHitGlobal [private]

Definition at line 133 of file llmanipscale.h.

Referenced by dragCorner(), and handleMouseDownOnPart().

LLVector3d LLManipScale::mDragPointGlobal [private]

Definition at line 132 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), handleMouseDownOnPart(), and renderSnapGuides().

LLVector3d LLManipScale::mDragStartCenterGlobal [private]

Definition at line 131 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), handleMouseDownOnPart(), and stretchFace().

LLVector3d LLManipScale::mDragStartPointGlobal [private]

Definition at line 130 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), and handleMouseDownOnPart().

BOOL LLManipScale::mInSnapRegime [private]

Reimplemented from LLManip.

Definition at line 153 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), handleHover(), and renderSnapGuides().

S32 LLManipScale::mLastMouseX [private]

Definition at line 134 of file llmanipscale.h.

Referenced by dragCorner(), and dragFace().

S32 LLManipScale::mLastMouseY [private]

Definition at line 135 of file llmanipscale.h.

Referenced by dragCorner(), and dragFace().

U32 LLManipScale::mLastUpdateFlags [private]

Definition at line 137 of file llmanipscale.h.

Referenced by handleMouseUp(), and sendUpdates().

EManipPart LLManipScale::mManipPart [private]

Definition at line 129 of file llmanipscale.h.

Referenced by conditionalHighlight(), drag(), dragCorner(), dragFace(), handleDeselect(), handleMouseDownOnPart(), handleMouseUp(), render(), renderFaces(), renderGuidelinesPart(), renderSnapGuides(), and updateSnapGuides().

F32* LLManipScale::mManipulatorScales [private]

Definition at line 154 of file llmanipscale.h.

Referenced by conditionalHighlight(), highlightManipulators(), LLManipScale(), and ~LLManipScale().

LLVector4 LLManipScale::mManipulatorVertices[14] [private]

Definition at line 139 of file llmanipscale.h.

Referenced by highlightManipulators().

LLLinkedList<ManipulatorHandle> LLManipScale::mProjectedManipulators [private]

Definition at line 138 of file llmanipscale.h.

Referenced by highlightManipulators(), and LLManipScale().

LLVector3 LLManipScale::mScaleCenter [private]

Definition at line 150 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), renderSnapGuides(), and updateSnapGuides().

F32 LLManipScale::mScaledBoxHandleSize [private]

Definition at line 128 of file llmanipscale.h.

Referenced by conditionalHighlight(), and renderBoxHandle().

LLVector3 LLManipScale::mScaleDir [private]

Definition at line 151 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), renderSnapGuides(), and updateSnapGuides().

LLVector3 LLManipScale::mScalePlaneNormal1 [private]

Definition at line 142 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), and updateSnapGuides().

LLVector3 LLManipScale::mScalePlaneNormal2 [private]

Definition at line 143 of file llmanipscale.h.

Referenced by dragCorner(), and updateSnapGuides().

F32 LLManipScale::mScaleSnapUnit1 [private]

Definition at line 140 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), renderSnapGuides(), and updateSnapGuides().

F32 LLManipScale::mScaleSnapUnit2 [private]

Definition at line 141 of file llmanipscale.h.

Referenced by dragCorner(), renderSnapGuides(), and updateSnapGuides().

F32 LLManipScale::mScaleSnapValue [private]

Definition at line 152 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), and renderSnapGuides().

BOOL LLManipScale::mSendUpdateOnMouseUp [private]

Definition at line 136 of file llmanipscale.h.

Referenced by sendUpdates().

LLVector3 LLManipScale::mSnapDir1 [private]

Definition at line 146 of file llmanipscale.h.

Referenced by updateSnapGuides().

LLVector3 LLManipScale::mSnapDir2 [private]

Definition at line 147 of file llmanipscale.h.

Referenced by updateSnapGuides().

LLVector3 LLManipScale::mSnapGuideDir1 [private]

Definition at line 144 of file llmanipscale.h.

Referenced by dragCorner(), renderSnapGuides(), and updateSnapGuides().

LLVector3 LLManipScale::mSnapGuideDir2 [private]

Definition at line 145 of file llmanipscale.h.

Referenced by dragCorner(), renderSnapGuides(), and updateSnapGuides().

F32 LLManipScale::mSnapGuideLength [private]

Definition at line 149 of file llmanipscale.h.

Referenced by renderSnapGuides(), and updateSnapGuides().

F32 LLManipScale::mSnapRegimeOffset [private]

Definition at line 148 of file llmanipscale.h.

Referenced by dragCorner(), dragFace(), renderSnapGuides(), and updateSnapGuides().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:29 2010 for Second Life Viewer by  doxygen 1.4.7