LLAgentCamera transition (1/2)

This commit is contained in:
Shyotl
2011-06-07 21:35:10 -05:00
parent 278cfbdb67
commit a07e399801
89 changed files with 616 additions and 572 deletions

View File

@@ -53,6 +53,7 @@
// viewer includes
#include "llagent.h"
#include "llagentcamera.h"
#include "llviewerwindow.h"
#include "lldrawable.h"
#include "llfloaterinspect.h"
@@ -2973,7 +2974,7 @@ bool LLSelectMgr::confirmDelete(const LLSD& notification, const LLSD& response,
}
}
gAgent.setLookAt(LOOKAT_TARGET_CLEAR);
gAgentCamera.setLookAt(LOOKAT_TARGET_CLEAR);
// Keep track of how many objects have been deleted.
F64 obj_delete_count = LLViewerStats::getInstance()->getStat(LLViewerStats::ST_OBJECT_DELETE_COUNT);
@@ -4750,8 +4751,8 @@ void LLSelectMgr::updateSilhouettes()
{
S32 num_sils_genned = 0;
LLVector3d cameraPos = gAgent.getCameraPositionGlobal();
F32 currentCameraZoom = gAgent.getCurrentCameraBuildOffset();
LLVector3d cameraPos = gAgentCamera.getCameraPositionGlobal();
F32 currentCameraZoom = gAgentCamera.getCurrentCameraBuildOffset();
if (!mSilhouetteImagep)
{
@@ -4772,7 +4773,7 @@ void LLSelectMgr::updateSilhouettes()
} func;
getSelection()->applyToObjects(&func);
mLastCameraPos = gAgent.getCameraPositionGlobal();
mLastCameraPos = gAgentCamera.getCameraPositionGlobal();
}
std::vector<LLViewerObject*> changed_objects;
@@ -5039,7 +5040,7 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
LLVOAvatar* avatar = gAgent.getAvatarObject();
LLBBox hud_bbox = avatar->getHUDBBox();
F32 cur_zoom = gAgent.mHUDCurZoom;
F32 cur_zoom = gAgentCamera.mHUDCurZoom;
// set up transform to encompass bounding box of HUD
glMatrixMode(GL_PROJECTION);
@@ -5500,7 +5501,7 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)
F32 silhouette_thickness;
if (isAgentAvatarValid() && is_hud_object)
{
silhouette_thickness = LLSelectMgr::sHighlightThickness / gAgent.mHUDCurZoom;
silhouette_thickness = LLSelectMgr::sHighlightThickness / gAgentCamera.mHUDCurZoom;
}
else
{
@@ -5520,7 +5521,7 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)
LLGLEnable fog(GL_FOG);
glFogi(GL_FOG_MODE, GL_LINEAR);
float d = (LLViewerCamera::getInstance()->getPointOfInterest()-LLViewerCamera::getInstance()->getOrigin()).magVec();
LLColor4 fogCol = color * (F32)llclamp((LLSelectMgr::getInstance()->getSelectionCenterGlobal()-gAgent.getCameraPositionGlobal()).magVec()/(LLSelectMgr::getInstance()->getBBoxOfSelection().getExtentLocal().magVec()*4), 0.0, 1.0);
LLColor4 fogCol = color * (F32)llclamp((LLSelectMgr::getInstance()->getSelectionCenterGlobal()-gAgentCamera.getCameraPositionGlobal()).magVec()/(LLSelectMgr::getInstance()->getBBoxOfSelection().getExtentLocal().magVec()*4), 0.0, 1.0);
glFogf(GL_FOG_START, d);
glFogf(GL_FOG_END, d*(1 + (LLViewerCamera::getInstance()->getView() / LLViewerCamera::getInstance()->getDefaultFOV())));
glFogfv(GL_FOG_COLOR, fogCol.mV);
@@ -5713,8 +5714,8 @@ void LLSelectMgr::updateSelectionCenter()
if (mSelectedObjects->mSelectType != SELECT_TYPE_HUD && isAgentAvatarValid())
{
// reset hud ZOOM
gAgent.mHUDTargetZoom = 1.f;
gAgent.mHUDCurZoom = 1.f;
gAgentCamera.mHUDTargetZoom = 1.f;
gAgentCamera.mHUDCurZoom = 1.f;
}
mShowSelection = FALSE;
@@ -5810,26 +5811,26 @@ void LLSelectMgr::updatePointAt()
select_offset.setVec(pick.mObjectOffset);
select_offset.rotVec(~click_object->getRenderRotation());
gAgent.setPointAt(POINTAT_TARGET_SELECT, click_object, select_offset);
gAgent.setLookAt(LOOKAT_TARGET_SELECT, click_object, select_offset);
gAgentCamera.setPointAt(POINTAT_TARGET_SELECT, click_object, select_offset);
gAgentCamera.setLookAt(LOOKAT_TARGET_SELECT, click_object, select_offset);
}
else
{
// didn't click on an object this time, revert to pointing at center of first object
gAgent.setPointAt(POINTAT_TARGET_SELECT, mSelectedObjects->getFirstObject());
gAgent.setLookAt(LOOKAT_TARGET_SELECT, mSelectedObjects->getFirstObject());
gAgentCamera.setPointAt(POINTAT_TARGET_SELECT, mSelectedObjects->getFirstObject());
gAgentCamera.setLookAt(LOOKAT_TARGET_SELECT, mSelectedObjects->getFirstObject());
}
}
else
{
gAgent.setPointAt(POINTAT_TARGET_CLEAR);
gAgent.setLookAt(LOOKAT_TARGET_CLEAR);
gAgentCamera.setPointAt(POINTAT_TARGET_CLEAR);
gAgentCamera.setLookAt(LOOKAT_TARGET_CLEAR);
}
}
else
{
gAgent.setPointAt(POINTAT_TARGET_CLEAR);
gAgent.setLookAt(LOOKAT_TARGET_CLEAR);
gAgentCamera.setPointAt(POINTAT_TARGET_CLEAR);
gAgentCamera.setLookAt(LOOKAT_TARGET_CLEAR);
}
}
@@ -6021,20 +6022,20 @@ BOOL LLSelectMgr::setForceSelection(BOOL force)
void LLSelectMgr::resetAgentHUDZoom()
{
gAgent.mHUDTargetZoom = 1.f;
gAgent.mHUDCurZoom = 1.f;
gAgentCamera.mHUDTargetZoom = 1.f;
gAgentCamera.mHUDCurZoom = 1.f;
}
void LLSelectMgr::getAgentHUDZoom(F32 &target_zoom, F32 &current_zoom) const
{
target_zoom = gAgent.mHUDTargetZoom;
current_zoom = gAgent.mHUDCurZoom;
target_zoom = gAgentCamera.mHUDTargetZoom;
current_zoom = gAgentCamera.mHUDCurZoom;
}
void LLSelectMgr::setAgentHUDZoom(F32 target_zoom, F32 current_zoom)
{
gAgent.mHUDTargetZoom = target_zoom;
gAgent.mHUDCurZoom = current_zoom;
gAgentCamera.mHUDTargetZoom = target_zoom;
gAgentCamera.mHUDCurZoom = current_zoom;
}
/////////////////////////////////////////////////////////////////////////////