diff options
| author | maxim_productengine <mnikolenko@productengine.com> | 2020-01-17 17:54:40 +0200 |
|---|---|---|
| committer | maxim_productengine <mnikolenko@productengine.com> | 2020-01-17 17:54:40 +0200 |
| commit | fcbccd59d98ea0a4a11b26da6b19a9f90f65dae5 (patch) | |
| tree | 28752362c2ba4f1dfd2bbf63af446b2fc58ab5a9 /indra/newview/llagentcamera.cpp | |
| parent | 65ea59904c3372102f8c31d3876a231607d7525a (diff) | |
SL-12424 Allow saving offsets based on current camera position
Diffstat (limited to 'indra/newview/llagentcamera.cpp')
| -rw-r--r-- | indra/newview/llagentcamera.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 04d726a131..18825d5b27 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -1985,6 +1985,22 @@ LLVector3d LLAgentCamera::calcCameraPositionTargetGlobal(BOOL *hit_limit) } +LLVector3 LLAgentCamera::getCurrentCameraOffset() +{ + LLVector3 camera_offset = (LLViewerCamera::getInstance()->getOrigin() - gAgentAvatarp->getRenderPosition() - mThirdPersonHeadOffset) * ~gAgent.getFrameAgent().getQuaternion(); + return camera_offset / mCameraZoomFraction / gSavedSettings.getF32("CameraOffsetScale"); +} + +LLVector3d LLAgentCamera::getCurrentFocusOffset() +{ + return (mFocusTargetGlobal - gAgent.getPositionGlobal()) * ~gAgent.getFrameAgent().getQuaternion(); +} + +bool LLAgentCamera::isJoystickCameraUsed() +{ + return ((mOrbitAroundRadians != 0) || (mOrbitOverAngle != 0) || !mPanFocusDiff.isNull()); +} + LLVector3 LLAgentCamera::getCameraOffsetInitial() { return convert_from_llsd<LLVector3>(mCameraOffsetInitial->get(), TYPE_VEC3, ""); |
