#include <llmaniptranslate.h>
Inheritance diagram for LLManipTranslate:
Definition at line 41 of file llmaniptranslate.h.
enum LLManipTranslate::EHandleType [protected] |
LLManipTranslate::LLManipTranslate | ( | LLToolComposite * | composite | ) |
Definition at line 108 of file llmaniptranslate.cpp.
References mProjectedManipulators, restoreGL(), sGridTex, and sort_manip_by_end_z().
LLManipTranslate::~LLManipTranslate | ( | ) | [virtual] |
BOOL LLManipTranslate::canAffectSelection | ( | ) | [virtual] |
Implements LLManip.
Definition at line 2267 of file llmaniptranslate.cpp.
References f, func, LLControlGroup::getBOOL(), gSavedSettings, and LLManip::mObjectSelection.
Referenced by handleMouseDownOnPart().
F32 LLManipTranslate::getMinGridScale | ( | ) | [protected] |
Definition at line 1002 of file llmaniptranslate.cpp.
References LLManip::LL_NO_PART, LLManip::LL_X_ARROW, LLManip::LL_XY_PLANE, LLManip::LL_XZ_PLANE, LLManip::LL_Y_ARROW, LLManip::LL_YZ_PLANE, LLManip::LL_Z_ARROW, llmin(), mGridScale, mManipPart, LLVector3::mV, VX, VY, and VZ.
Referenced by handleHover(), handleMouseDownOnPart(), and renderSnapGuides().
void LLManipTranslate::handleDeselect | ( | ) | [virtual] |
Reimplemented from LLManip.
Definition at line 268 of file llmaniptranslate.cpp.
References LLManip::handleDeselect(), LLManip::LL_NO_PART, LLManip::mHighlightedPart, and mManipPart.
Reimplemented from LLManip.
Definition at line 390 of file llmaniptranslate.cpp.
References LLVector3::abs(), LLAgent::cameraOrbitAround(), LLVOAvatar::clampAttachmentPositions(), LLAgent::clearFocusObject(), LLWorld::clipToVisibleRegions(), DEG_TO_RAD, dialog_refresh_all(), f, FALSE, gAgent, gCamera, LLCoordFrame::getAtAxis(), LLAgent::getAvatarObject(), LLControlGroup::getBOOL(), LLControlGroup::getF32(), LLManip::getManipAxis(), LLWorld::getMinAllowedZ(), getMinGridScale(), LLManip::getMousePointOnPlaneGlobal(), LLSelectNode::getObject(), LLXform::getParent(), LLPrimitive::getPCode(), LLManip::getPivotPoint(), LLAgent::getPosAgentFromGlobal(), LLAgent::getPosGlobalFromAgent(), LLXform::getPosition(), LLViewerObject::getPositionAgent(), LLViewerObject::getPositionGlobal(), LLViewerObject::getRootEdit(), LLXform::getRotation(), LLManip::getSubdivisionLevel(), LLViewerWindow::getWindowWidth(), gFPSClamped, gSavedSettings, gSelectMgr, gViewerWindow, gWorldp, LLTool::hasMouseCapture(), highlightManipulators(), LLViewerObject::isAttachment(), LLXform::isRootEdit(), LL_PCODE_LEGACY_GRASS, LLManip::LL_XY_PLANE, LLManip::LL_XZ_PLANE, LLManip::LL_YZ_PLANE, llabs(), llclamp(), lldebugst, llendl, llwarns, LLVector3d::magVecSquared(), MASK_COPY, MAX_OBJECT_Z, LLViewerObject::mChildList, mCopyMadeThisDrag, mDragCursorStartGlobal, mDragSelectionStartGlobal, LLViewerObject::mDrawable, LLVector3d::mdV, mGridOrigin, mGridRotation, mGridScale, LLSelectNode::mIndividualSelection, mInSnapRegime, mLastHoverMouseX, mLastHoverMouseY, LLSelectNode::mLastPositionLocal, mManipNormal, mManipPart, mMouseDownX, mMouseDownY, mMouseOutsideSlop, LLManip::mObjectSelection, MOUSE_DRAG_SLOP, LLSelectNode::mSavedPositionGlobal, LLSelectNode::mSavedPositionLocal, mSnapOffsetAxis, mSnapOffsetMeters, mSubdivisions, LLVector3::mV, LLVector3d::normVec(), LLVector3::normVec(), LLPointer< Type >::notNull(), LLViewerObject::permMove(), projected_vec(), LLManip::rebuild(), LLWorld::resolveLandHeightGlobal(), LLVector3::rotVec(), S32, LLVector3::scaleVec(), SELECT_TYPE_HUD, LLSelectMgr::selectDuplicate(), LLViewerWindow::setCursor(), LLViewerObject::setPosition(), LLViewerObject::setPositionAgent(), LLViewerObject::setPositionParent(), LLVector3::setVec(), LLVector3d::setVec(), LLManip::sGridMaxSubdivisionLevel, LLManip::sGridMinSubdivisionLevel, TRUE, UI_CURSOR_NOLOCKED, UI_CURSOR_TOOLTRANSLATE, LLSelectMgr::updateSelectionCenter(), VX, VY, VZ, and LLVector3::zero.
Referenced by handleMouseUp().
Reimplemented from LLTool.
Definition at line 275 of file llmaniptranslate.cpp.
References FALSE, gViewerWindow, handleMouseDownOnPart(), LLViewerWindow::lastObjectHit(), LLManip::LL_X_ARROW, LLManip::LL_XY_PLANE, LLManip::LL_XZ_PLANE, LLManip::LL_Y_ARROW, LLManip::LL_YZ_PLANE, LLManip::LL_Z_ARROW, and LLManip::mHighlightedPart.
Implements LLManip.
Definition at line 296 of file llmaniptranslate.cpp.
References canAffectSelection(), LLSelectMgr::enableSilhouette(), FALSE, gAgent, gCamera, LLControlGroup::getBOOL(), LLSelectMgr::getGrid(), LLManip::getManipAxis(), LLManip::getManipNormal(), getMinGridScale(), LLManip::getMousePointOnPlaneGlobal(), LLSelectNode::getObject(), LLManip::getPivotPoint(), LLAgent::getPosGlobalFromAgent(), LLManip::getSubdivisionLevel(), gSavedSettings, gSelectMgr, gViewerWindow, highlightManipulators(), LLManip::LL_X_ARROW, LLManip::LL_XY_PLANE, LLManip::LL_XZ_PLANE, LLManip::LL_Y_ARROW, LLManip::LL_YZ_PLANE, LLManip::LL_Z_ARROW, llclamp(), llendl, llwarns, mCopyMadeThisDrag, mDragCursorStartGlobal, mDragSelectionStartGlobal, mGridOrigin, mGridRotation, mGridScale, LLManip::mHelpTextTimer, LLManip::mHighlightedPart, mManipNormal, mManipPart, mMouseDownX, mMouseDownY, mMouseOutsideSlop, LLManip::mObjectSelection, mSubdivisions, LLCoord::mX, LLCoord::mY, LLViewerCamera::projectPosAgentToScreen(), LLFrameTimer::reset(), S32, LLSelectMgr::saveSelectedObjectTransform(), SELECT_ACTION_TYPE_MOVE, LLViewerWindow::setCursor(), LLUI::setCursorPositionScreen(), LLTool::setMouseCapture(), LLManip::sGridMaxSubdivisionLevel, LLManip::sGridMinSubdivisionLevel, LLManip::sNumTimesHelpTextShown, TRUE, UI_CURSOR_TOOLTRANSLATE, LLSelectMgr::updateSelectionCenter(), and LLVector3::z_axis.
Referenced by handleMouseDown().
Reimplemented from LLManip.
Definition at line 1035 of file llmaniptranslate.cpp.
References LLSelectMgr::enableSilhouette(), FALSE, gSelectMgr, handleHover(), LLManip::handleMouseUp(), LLTool::hasMouseCapture(), LLManip::LL_NO_PART, mInSnapRegime, mManipPart, LLSelectMgr::saveSelectedObjectTransform(), SELECT_ACTION_TYPE_PICK, LLSelectMgr::sendMultipleUpdate(), TRUE, and UPD_POSITION.
void LLManipTranslate::handleSelect | ( | ) | [virtual] |
Reimplemented from LLManip.
Definition at line 261 of file llmaniptranslate.cpp.
References gFloaterTools, gSelectMgr, LLManip::handleSelect(), LLSelectMgr::saveSelectedObjectTransform(), SELECT_ACTION_TYPE_PICK, and LLFloaterTools::setStatusText().
void LLManipTranslate::highlightIntersection | ( | LLVector3 | normal, | |
LLVector3 | selection_center, | |||
LLQuaternion | grid_rotation, | |||
LLColor4 | inner_color | |||
) | [protected] |
Definition at line 1627 of file llmaniptranslate.cpp.
References d, depth, FALSE, gCamera, LLQuaternion::getAngleAxis(), LLControlGroup::getBOOL(), LLCoordFrame::getOrigin(), glClear, glColor4f, glGetBooleanv, glPopMatrix, glRotatef, glStencilFunc, glTranslatef, gPipeline, gSavedSettings, LLPipeline::hasRenderType(), i, LLVertexBuffer::MAP_VERTEX, mask, mGridSizeMeters, LLColor4::mV, LLVector3::mV, LLRenderPass::PASS_ALPHA, LLRenderPass::PASS_FULLBRIGHT, LLRenderPass::PASS_SIMPLE, RAD_TO_DEG, LLPipeline::RENDER_TYPE_CLOUDS, LLPipeline::RENDER_TYPE_PARTICLES, renderGrid(), LLPipeline::renderObjects(), LLPipeline::toggleRenderType(), VX, VY, VZ, x, y, and z.
Referenced by renderSnapGuides().
Implements LLManip.
Definition at line 796 of file llmaniptranslate.cpp.
References LLQuaternion::DEFAULT, f, FALSE, gAgent, gCamera, LLCamera::getAspect(), LLAgent::getAvatarObject(), LLSelectMgr::getGrid(), LLViewerCamera::getModelview(), LLCoordFrame::getOrigin(), LLManip::getPivotPoint(), LLViewerCamera::getProjection(), LLViewerWindow::getWindowHeight(), LLViewerWindow::getWindowWidth(), gSelectMgr, gViewerWindow, i, LLMatrix4::initAll(), LLMatrix4::initRotTrans(), LLManip::LL_NO_PART, llabs(), LLVector2::magVecSquared(), MANIPULATOR_HOTSPOT_END, MANIPULATOR_HOTSPOT_START, MANIPULATOR_IDS, mArrowLengthMeters, LLManip::mHighlightedPart, LLVOAvatar::mHUDCurZoom, MIN_PLANE_MANIP_DOT_PRODUCT, mManipulatorVertices, LLManip::mObjectSelection, mPlaneManipOffsetMeters, mPlaneManipPositions, mProjectedManipulators, LLVector4::mV, LLVector3::mV, LLVector2::normVec(), LLVector3::normVec(), OGL_TO_CFR_ROTATION, PLANE_TICK_SIZE, S32, LLVector4::scaleVec(), SELECT_TYPE_HUD, LLVector2::setVec(), TRUE, VW, VX, VY, VZ, and LLVector3::zero.
Referenced by handleHover(), and handleMouseDownOnPart().
void LLManipTranslate::render | ( | ) | [virtual] |
Reimplemented from LLTool.
Definition at line 1058 of file llmaniptranslate.cpp.
References gAgent, LLAgent::getAvatarObject(), glPopMatrix, LLVOAvatar::mHUDCurZoom, LLManip::mObjectSelection, LLManip::renderGuidelines(), renderSnapGuides(), renderText(), renderTranslationHandles(), and SELECT_TYPE_HUD.
void LLManipTranslate::renderArrow | ( | S32 | which_arrow, | |
S32 | selected_arrow, | |||
F32 | box_size, | |||
F32 | arrow_size, | |||
F32 | handle_size, | |||
BOOL | reverse_direction | |||
) | [protected] |
Definition at line 2161 of file llmaniptranslate.cpp.
References ARROW_TO_AXIS, CONE_LOD_HIGHEST, f, gCone, glBegin, glColor4fv, glEnd, glPopMatrix, glRotatef, glTranslatef, LLManip::LL_NO_PART, LLManip::LL_X_ARROW, LLManip::LL_Y_ARROW, LLManip::LL_Z_ARROW, llendl, llerrs, mArrowScales, LLManip::mHighlightedPart, LLVector3::mV, LLColor4::mV, LLCone::render(), S32, LLUI::setLineWidth(), and VALPHA.
Referenced by renderTranslationHandles().
void LLManipTranslate::renderGrid | ( | F32 | x, | |
F32 | y, | |||
F32 | size, | |||
F32 | r, | |||
F32 | g, | |||
F32 | b, | |||
F32 | a | |||
) | [protected] |
Definition at line 1590 of file llmaniptranslate.cpp.
References d, f, glBegin, glEnd, llmax(), renderGridVert(), and sqrtf.
Referenced by highlightIntersection(), and renderSnapGuides().
void LLManipTranslate::renderGridVert | ( | F32 | x_trans, | |
F32 | y_trans, | |||
F32 | r, | |||
F32 | g, | |||
F32 | b, | |||
F32 | alpha | |||
) | [protected] |
Definition at line 2245 of file llmaniptranslate.cpp.
References glColor4f, LLManip::LL_XY_PLANE, LLManip::LL_XZ_PLANE, LLManip::LL_YZ_PLANE, and mManipPart.
Referenced by renderGrid().
void LLManipTranslate::renderSnapGuides | ( | ) | [protected] |
Definition at line 1080 of file llmaniptranslate.cpp.
References a, LLVector3::abs(), ARROW_TO_AXIS, clamp_rescale(), dist_vec(), f, FALSE, gAgent, gCamera, gColors, LLQuaternion::getAngleAxis(), LLAgent::getAvatarObject(), LLControlGroup::getBOOL(), LLControlGroup::getColor(), LLFrameTimer::getElapsedTimeF32(), LLControlGroup::getF32(), LLSelectMgr::getGrid(), LLSelectMgr::getGridMode(), LLCoordFrame::getLeftAxis(), LLManip::getManipAxis(), getMinGridScale(), LLSelectNode::getObject(), LLCoordFrame::getOrigin(), LLManip::getPivotPoint(), LLViewerCamera::getPixelMeterRatio(), LLAgent::getPosAgentFromGlobal(), LLManip::getSavedPivotPoint(), LLManip::getSubdivisionLevel(), LLCoordFrame::getUpAxis(), LLCamera::getView(), LLCamera::getViewHeightInPixels(), LLViewerWindow::getWindowHeight(), glBegin, glBlendFunc, glColor4f, glEnd, glLineStipple, glPopMatrix, glRotatef, glTranslatef, GRID_MODE_WORLD, gSavedSettings, gSelectMgr, gViewerWindow, highlightIntersection(), hud_render_utf8text(), i, LLManip::LL_NO_PART, LLManip::LL_X_ARROW, LLManip::LL_XY_PLANE, LLManip::LL_XZ_PLANE, LLManip::LL_Y_ARROW, LLManip::LL_YZ_PLANE, LLManip::LL_Z_ARROW, llabs(), llclamp(), llfloor(), llmax(), llmin(), llround(), mArrowLengthMeters, mAxisArrowLength, mConeSize, mGridOrigin, mGridRotation, mGridSizeMeters, LLManip::mHelpTextTimer, LLVOAvatar::mHUDCurZoom, mInSnapRegime, mManipPart, LLManip::mObjectSelection, LLSelectNode::mSavedPositionGlobal, mSnapOffsetAxis, mSnapOffsetMeters, LLColor4::mV, LLVector3::mV, LLFontGL::NORMAL, LLVector2::normVec(), LLVector3::normVec(), RAD_TO_DEG, range, renderGrid(), LLManip::renderGuidelines(), LLManip::renderTickValue(), S32, SELECT_TYPE_HUD, LLManip::setupSnapGuideRenderPass(), LLColor4::setVec(), LLVector3::setVec(), LLManip::sGridMaxSubdivisionLevel, LLManip::sGridMinSubdivisionLevel, sGridTex, LLManip::sHelpTextFadeTime, LLManip::sHelpTextVisibleTime, LLManip::sMaxTimesShowHelpText, SNAP_ARROW_SCALE, SNAP_GUIDE_SCREEN_SIZE, LLManip::sNumTimesHelpTextShown, LLFontGL::sSansSerif, LLManip::sTickLabelSpacing, TRUE, u, LLManip::updateGridSettings(), v, VALPHA, VW, VX, VY, VZ, LLColor4::white, x, LLVector3::x_axis, y, LLVector3::y_axis, z, and LLVector3::z_axis.
Referenced by render().
void LLManipTranslate::renderText | ( | ) | [protected] |
Definition at line 1735 of file llmaniptranslate.cpp.
References LLManip::getPivotPoint(), LLViewerObject::getPositionEdit(), LLManip::mObjectSelection, LLManip::renderXYZ(), and TRUE.
Referenced by render().
void LLManipTranslate::renderTranslationHandles | ( | ) | [protected] |
Definition at line 1753 of file llmaniptranslate.cpp.
References angle_between(), LLQuaternion::conjQuat(), dist_vec(), f, F_PI_BY_TWO, face, FALSE, gAgent, gCamera, LLQuaternion::getAngleAxis(), LLCoordFrame::getAtAxis(), LLAgent::getAvatarObject(), LLControlGroup::getBOOL(), LLAgent::getCameraPositionAgent(), LLControlGroup::getF32(), LLSelectMgr::getGrid(), LLCriticalDamp::getInterpolant(), LLManip::getManipAxis(), LLCoordFrame::getOrigin(), LLManip::getPivotPoint(), LLViewerObject::getPositionAgent(), LLAgent::getPositionAgent(), LLCamera::getView(), LLCamera::getViewHeightInPixels(), LLViewerWindow::getWindowHeight(), glBegin, glColor4f, glColor4fv, glEnd, glPopMatrix, glRotatef, glTranslatef, gSavedSettings, gSelectMgr, gViewerWindow, HANDLE_HIDE_ANGLE, i, lerp(), LLManip::LL_NO_PART, LLManip::LL_X_ARROW, LLManip::LL_XY_PLANE, LLManip::LL_XZ_PLANE, LLManip::LL_Y_ARROW, LLManip::LL_YZ_PLANE, LLManip::LL_Z_ARROW, llabs(), MANIPULATOR_SCALE_HALF_LIFE, mArrowLengthMeters, mArrowScales, mAxisArrowLength, mConeSize, mGridSizeMeters, LLManip::mHighlightedPart, LLVOAvatar::mHUDCurZoom, MIN_PLANE_MANIP_DOT_PRODUCT, mManipPart, LLManip::mObjectSelection, mPlaneManipOffsetMeters, mPlaneManipPositions, mPlaneScales, LLColor4::mV, LLVector4::mV, LLVector3::mV, LLVector3::normVec(), NUM_AXES, PLANE_TICK_SIZE, RAD_TO_DEG, range, renderArrow(), S32, SELECT_TYPE_HUD, SELECTED_ARROW_SCALE, LLUI::setLineWidth(), LLVector3::setVec(), LLColor4::setVec(), TRUE, v1, v2, VX, VY, VZ, x, LLVector3::x_axis, y, and z.
Referenced by render().
void LLManipTranslate::restoreGL | ( | ) | [static] |
Definition at line 137 of file llmaniptranslate.cpp.
References d, i, j, and sGridTex.
Referenced by LLManipTranslate(), and LLViewerWindow::restoreGL().
F32 LLManipTranslate::mArrowLengthMeters [private] |
Definition at line 100 of file llmaniptranslate.h.
Referenced by highlightManipulators(), renderSnapGuides(), and renderTranslationHandles().
LLVector3 LLManipTranslate::mArrowScales [private] |
Definition at line 118 of file llmaniptranslate.h.
Referenced by renderArrow(), and renderTranslationHandles().
F32 LLManipTranslate::mAxisArrowLength [private] |
Definition at line 98 of file llmaniptranslate.h.
Referenced by renderSnapGuides(), and renderTranslationHandles().
F32 LLManipTranslate::mConeSize [private] |
Definition at line 99 of file llmaniptranslate.h.
Referenced by renderSnapGuides(), and renderTranslationHandles().
BOOL LLManipTranslate::mCopyMadeThisDrag [private] |
Definition at line 95 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
Definition at line 105 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
Definition at line 106 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
LLVector3 LLManipTranslate::mGridOrigin [private] |
Definition at line 113 of file llmaniptranslate.h.
Referenced by handleHover(), handleMouseDownOnPart(), and renderSnapGuides().
LLQuaternion LLManipTranslate::mGridRotation [private] |
Definition at line 112 of file llmaniptranslate.h.
Referenced by handleHover(), handleMouseDownOnPart(), and renderSnapGuides().
LLVector3 LLManipTranslate::mGridScale [private] |
Definition at line 114 of file llmaniptranslate.h.
Referenced by getMinGridScale(), handleHover(), and handleMouseDownOnPart().
F32 LLManipTranslate::mGridSizeMeters [private] |
Definition at line 101 of file llmaniptranslate.h.
Referenced by highlightIntersection(), renderSnapGuides(), and renderTranslationHandles().
BOOL LLManipTranslate::mInSnapRegime [private] |
Reimplemented from LLManip.
Definition at line 116 of file llmaniptranslate.h.
Referenced by handleHover(), handleMouseUp(), and renderSnapGuides().
S32 LLManipTranslate::mLastHoverMouseX [private] |
S32 LLManipTranslate::mLastHoverMouseY [private] |
LLVector3 LLManipTranslate::mManipNormal [private] |
Definition at line 104 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
EManipPart LLManipTranslate::mManipPart [private] |
Definition at line 103 of file llmaniptranslate.h.
Referenced by getMinGridScale(), handleDeselect(), handleHover(), handleMouseDownOnPart(), handleMouseUp(), renderGridVert(), renderSnapGuides(), and renderTranslationHandles().
LLVector4 LLManipTranslate::mManipulatorVertices[18] [private] |
S32 LLManipTranslate::mMouseDownX [private] |
Definition at line 96 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
S32 LLManipTranslate::mMouseDownY [private] |
Definition at line 97 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
BOOL LLManipTranslate::mMouseOutsideSlop [private] |
Definition at line 94 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
F32 LLManipTranslate::mPlaneManipOffsetMeters [private] |
Definition at line 102 of file llmaniptranslate.h.
Referenced by highlightManipulators(), and renderTranslationHandles().
Definition at line 120 of file llmaniptranslate.h.
Referenced by highlightManipulators(), and renderTranslationHandles().
LLVector3 LLManipTranslate::mPlaneScales [private] |
Definition at line 108 of file llmaniptranslate.h.
Referenced by highlightManipulators(), LLManipTranslate(), and ~LLManipTranslate().
BOOL LLManipTranslate::mSendUpdateOnMouseUp [private] |
Definition at line 93 of file llmaniptranslate.h.
LLVector3 LLManipTranslate::mSnapOffsetAxis [private] |
Definition at line 111 of file llmaniptranslate.h.
Referenced by handleHover(), and renderSnapGuides().
F32 LLManipTranslate::mSnapOffsetMeters [private] |
Definition at line 110 of file llmaniptranslate.h.
Referenced by handleHover(), and renderSnapGuides().
BOOL LLManipTranslate::mSnapped [private] |
Definition at line 117 of file llmaniptranslate.h.
F32 LLManipTranslate::mSubdivisions [private] |
Definition at line 115 of file llmaniptranslate.h.
Referenced by handleHover(), and handleMouseDownOnPart().
LLTimer LLManipTranslate::mUpdateTimer [private] |
Definition at line 107 of file llmaniptranslate.h.