llselectmgr.cpp File Reference

A manager for selected objects and faces. More...

#include "llviewerprecompiledheaders.h"
#include "llselectmgr.h"
#include "llcachename.h"
#include "lldbstrings.h"
#include "lleconomy.h"
#include "llgl.h"
#include "llpermissions.h"
#include "llpermissionsflags.h"
#include "llptrskiplist.h"
#include "llundo.h"
#include "lluuid.h"
#include "llvolume.h"
#include "message.h"
#include "object_flags.h"
#include "llquaternion.h"
#include "llagent.h"
#include "llviewerwindow.h"
#include "lldrawable.h"
#include "llfloaterinspect.h"
#include "llfloaterproperties.h"
#include "llfloaterreporter.h"
#include "llfloatertools.h"
#include "llframetimer.h"
#include "llhudeffecttrail.h"
#include "llhudmanager.h"
#include "llinventorymodel.h"
#include "llmenugl.h"
#include "llstatusbar.h"
#include "llsurface.h"
#include "lltool.h"
#include "lltooldraganddrop.h"
#include "lltoolmgr.h"
#include "lltoolpie.h"
#include "llui.h"
#include "llviewercamera.h"
#include "llviewercontrol.h"
#include "llviewerimagelist.h"
#include "llviewermenu.h"
#include "llviewerobject.h"
#include "llviewerobjectlist.h"
#include "llviewerregion.h"
#include "llviewerstats.h"
#include "llvoavatar.h"
#include "llvovolume.h"
#include "pipeline.h"
#include "llglheaders.h"

Include dependency graph for llselectmgr.cpp:

Go to the source code of this file.

Classes

struct  LLDeRezInfo
struct  LLSelectMgrSendFunctor
struct  LLDuplicateData
struct  LLDuplicateOnRayData
struct  LLOwnerData
struct  LLBuyData
struct  LLPermData
struct  LLSelectMgrApplyFlags

Typedefs

typedef std::pair< const LLString,
const LLString
godlike_request_t

Functions

static LLObjectSelectionget_null_object_selection ()
void dialog_refresh_all ()
S32 get_family_count (LLViewerObject *parent)
LLViewerObjectgetSelectedParentObject (LLViewerObject *object)

Variables

const S32 NUM_SELECTION_UNDO_ENTRIES = 200
const F32 SILHOUETTE_UPDATE_THRESHOLD_SQUARED = 0.02f
const S32 OWNERSHIP_COST_PER_OBJECT = 10
const S32 MAX_ACTION_QUEUE_SIZE = 20
const S32 MAX_SILS_PER_FRAME = 50
const S32 MAX_OBJECTS_PER_PACKET = 254
LLUUID gLastHitObjectID
LLVector3d gLastHitObjectOffset
LLSelectMgrgSelectMgr = NULL
BOOL gDebugSelectMgr = FALSE
BOOL gHideSelectedObjects = FALSE
BOOL gAllowSelectAvatar = FALSE
static LLPointer< LLObjectSelectionsNullSelection
LLGLdouble gGLModelView [16]


Detailed Description

A manager for selected objects and faces.

LicenseInfo
firstyear=2001&license=viewergpl

Copyright (c) 2001-2007, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlife.com/developers/opensource/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlife.com/developers/opensource/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file llselectmgr.cpp.


Typedef Documentation

typedef std::pair<const LLString, const LLString> godlike_request_t

Definition at line 1886 of file llselectmgr.cpp.


Function Documentation

void dialog_refresh_all ( void   ) 

Definition at line 5242 of file llselectmgr.cpp.

References LLPieMenu::arrange(), LLFloaterTools::dirty(), LLFloaterInspect::dirty(), LLFloaterProperties::dirtyAll(), LLView::getVisible(), gFloaterTools, gNoRender, and gPieObject.

S32 get_family_count ( LLViewerObject parent  ) 

Definition at line 5262 of file llselectmgr.cpp.

References LLSelectMgr::canSelectObject(), count, gSelectMgr, llendl, llwarns, LLViewerObject::mChildList, and S32.

LLObjectSelection * get_null_object_selection (  )  [static]

Definition at line 164 of file llselectmgr.cpp.

References sNullSelection.

LLViewerObject* getSelectedParentObject ( LLViewerObject object  ) 

Definition at line 5932 of file llselectmgr.cpp.

References LLXform::getParent(), and LLViewerObject::isSelected().

Referenced by LLObjectSelection::getFirstSelectedObject().


Variable Documentation

BOOL gAllowSelectAvatar = FALSE

Definition at line 108 of file llselectmgr.cpp.

Referenced by LLSelectMgr::addAsFamily(), LLToolSelect::handleObjectSelection(), and init_debug_avatar_menu().

BOOL gDebugSelectMgr = FALSE

Definition at line 105 of file llselectmgr.cpp.

Referenced by LLSelectMgr::deselectAllIfTooFar(), and init_debug_ui_menu().

LLGLdouble gGLModelView[16]

Definition at line 100 of file llviewercamera.cpp.

Referenced by LLDrawPoolBump::beginShiny(), LLDrawPoolAvatar::getModelView(), LLViewerCamera::projectPosAgentToScreen(), LLViewerCamera::projectPosAgentToScreenEdge(), LLViewerCamera::projectScreenToPosAgent(), LLCubeMap::setMatrix(), and LLViewerCamera::setPerspective().

BOOL gHideSelectedObjects = FALSE

Definition at line 107 of file llselectmgr.cpp.

Referenced by init_debug_rendering_menu(), LLVolumeGeometryManager::registerFace(), LLPipeline::renderForSelect(), and LLPipeline::stateSort().

LLUUID gLastHitObjectID

Definition at line 206 of file llviewerwindow.cpp.

Referenced by LLAgent::calcCameraPositionTargetGlobal(), handle_debug_avatar_textures(), handle_focus(), handle_follow(), handle_move(), handle_object_open(), LLToolPie::handleDoubleClick(), LLLandEdit::handleEvent(), LLShowAgentProfile::handleEvent(), LLObjectEnableSitOrStand::handleEvent(), LLLandBuild::handleEvent(), LLObjectEdit::handleEvent(), LLObjectBuild::handleEvent(), LLObjectEnableOpen::handleEvent(), LLObjectEnableTouch::handleEvent(), LLObjectTouch::handleEvent(), LLObjectEnableReportAbuse::handleEvent(), LLObjectReportAbuse::handleEvent(), LLToolSelect::handleMouseDown(), LLViewerWindow::hitObjectOrLandGlobalAsync(), LLViewerWindow::lastObjectHit(), LLViewerWindow::performPick(), LLToolObjPicker::pickCallback(), LLToolGrab::pickCallback(), LLToolCamera::pickCallback(), and LLSelectMgr::updatePointAt().

LLVector3d gLastHitObjectOffset

Definition at line 205 of file llviewerwindow.cpp.

Referenced by handle_focus(), handle_move(), LLToolPie::handleDoubleClick(), LLLandEdit::handleEvent(), LLLandBuild::handleEvent(), LLObjectBuild::handleEvent(), LLViewerWindow::hitObjectOrLandGlobalAsync(), LLViewerWindow::lastObjectHitOffset(), LLViewerWindow::performPick(), LLToolCamera::pickCallback(), LLToolDragAndDrop::pickCallback(), and LLSelectMgr::updatePointAt().

LLSelectMgr* gSelectMgr = NULL

Definition at line 103 of file llselectmgr.cpp.

Referenced by add_duplicate(), add_object(), LLVOAvatar::attachObject(), callback_deed_to_group(), LLFloaterSellLandUI::callbackHighlightTransferable(), LLPanelLandObjects::callbackReturnGroupObjects(), LLPanelLandObjects::callbackReturnOtherObjects(), LLPanelLandObjects::callbackReturnOwnerList(), LLPanelLandObjects::callbackReturnOwnerObjects(), LLAgent::cameraOrbitAround(), LLAgent::cameraOrbitOver(), LLAgent::cameraZoomIn(), LLHoverView::cancelHover(), LLPanelPermissions::cbGroupID(), LLAgent::changeCameraToMouselook(), LLSelectMgr::cleanupGlobals(), click_popup_rotate_left(), click_popup_rotate_reset(), click_popup_rotate_right(), commit_grid_mode(), commit_select_component(), confirm_replace_attachment(), LLSelectMgr::confirmDelete(), derez_objects(), disabled_duplicate(), disconnect_viewer(), LLViewerObject::doUpdateInventory(), LLManipScale::drag(), LLManipRotate::drag(), LLManipRotate::dragConstrained(), LLManipScale::dragCorner(), LLManipScale::dragFace(), LLTextureView::draw(), LLToolDragAndDrop::dropObject(), dump_select_mgr(), enable_buy(), enable_deed_object_to_group(), enable_export_selected(), enable_more_than_one_selected(), enable_save_into_inventory(), enable_save_into_task_inventory(), enable_selection_you_own_all(), enable_selection_you_own_one(), enable_take(), LLToolDragAndDrop::endDrag(), LLViewerObjectList::findOrphans(), force_take_copy(), get_family_count(), LLAgent::getCameraZoomFraction(), LLManipRotate::getConstraintAxis(), LLManip::getManipAxis(), LLManip::getManipNormal(), LLManip::getPivotPoint(), LLAgent::getRenderState(), LLManip::getSavedPivotPoint(), LLPanelVolume::getState(), LLPanelObject::getState(), LLPanelFace::getState(), LLPanelContents::getState(), handle_buy(), handle_buy_object(), handle_deed_object_to_group(), handle_duplicate_in_place(), handle_export_selected(), handle_force_delete(), handle_force_unlock(), handle_give_money_dialog(), handle_god_request_avatar_geometry(), handle_god_request_havok(), handle_object_asset_ids(), handle_object_lock(), handle_object_owner_permissive(), handle_object_owner_self(), handle_repeat_duplicate(), handle_selected_texture_info(), handle_take(), LLToolPie::handleDeselect(), LLToolFace::handleDeselect(), LLToolIndividual::handleDoubleClick(), LLToolFace::handleDoubleClick(), LLToolsUseSelectionForGrid::handleEvent(), LLToolsEditLinkedParts::handleEvent(), LLToolsEnableTakeCopy::handleEvent(), LLEditableSelected::handleEvent(), LLSomethingSelectedNoHUD::handleEvent(), LLSomethingSelected::handleEvent(), LLAttachmentDetach::handleEvent(), LLAttachmentDrop::handleEvent(), LLObjectAttachToAvatar::handleEvent(), LLObjectEnableSitOrStand::handleEvent(), LLToolsLookAtSelection::handleEvent(), LLObjectDelete::handleEvent(), LLObjectEnableDelete::handleEvent(), LLToolsUnlink::handleEvent(), LLToolsEnableUnlink::handleEvent(), LLToolsLink::handleEvent(), LLToolsEnableLink::handleEvent(), LLToolsSnapObjectXY::handleEvent(), LLToolsSaveToObjectInventory::handleEvent(), LLToolsBuyOrTake::handleEvent(), LLObjectEnableReturn::handleEvent(), LLObjectReturn::handleEvent(), LLToolsTakeCopy::handleEvent(), LLObjectMute::handleEvent(), LLObjectEdit::handleEvent(), LLObjectEnableTouch::handleEvent(), LLToolSelectRect::handleHover(), LLToolCompGun::handleHover(), LLManipTranslate::handleHover(), LLManipScale::handleHover(), LLToolGrab::handleHoverActive(), LLManipTranslate::handleMouseDownOnPart(), LLManipScale::handleMouseDownOnPart(), LLManipRotate::handleMouseDownOnPart(), LLToolSelectRect::handleMouseUp(), LLToolPipette::handleMouseUp(), LLManipTranslate::handleMouseUp(), LLManipScale::handleMouseUp(), LLManipRotate::handleMouseUp(), LLToolGrab::handleObjectHit(), LLToolSelect::handleObjectSelection(), LLViewerWindow::handlePerFrameHover(), LLToolSelectRect::handleRectangleSelection(), LLAgent::handleScrollWheel(), LLToolIndividual::handleSelect(), LLToolFace::handleSelect(), LLToolComposite::handleSelect(), LLManipTranslate::handleSelect(), LLManipScale::handleSelect(), LLManipRotate::handleSelect(), LLManip::handleSelect(), LLManipTranslate::highlightManipulators(), LLManipScale::highlightManipulators(), LLManipRotate::highlightManipulators(), idle(), idle_startup(), LLVOAvatar::idleUpdate(), is_selection_buy_not_take(), label_touch(), LLFloaterPay::LLFloaterPay(), LLFloaterTelehub::LLFloaterTelehub(), LLFloaterTrustNetRate::LLFloaterTrustNetRate(), LLManipRotate::mouseToRay(), near_attach_object(), LLVOAvatar::needsRenderBeam(), object_selected_and_point_valid(), LLPanelFace::onCancelColor(), LLPanelFace::onCancelTexture(), LLFloaterTelehub::onClickAddSpawnPoint(), LLPanelFace::onClickApply(), LLPanelFace::onClickAutoFix(), LLFloaterBuyContents::onClickBuy(), LLFloaterBuy::onClickBuy(), LLPanelPermissions::onClickClaim(), LLFloaterTelehub::onClickConnect(), LLFloaterTelehub::onClickDisconnect(), LLPanelPermissions::onClickGroup(), LLPanelContents::onClickNewScript(), LLPanelPermissions::onClickOwner(), LLPanelPermissions::onClickRelease(), LLPanelRequestTools::onClickRequest(), LLPanelObjectTools::onClickSetBySelection(), LLFloaterTools::onClose(), LLFloaterLand::onClose(), LLPreview::onCommit(), LLPanelPermissions::onCommitClickAction(), LLPanelPermissions::onCommitDesc(), LLPanelPermissions::onCommitIncludeInSearch(), LLPanelObject::onCommitLock(), LLPanelObject::onCommitMaterial(), LLPanelPermissions::onCommitName(), LLPanelPermissions::onCommitPerm(), LLPanelFace::onDragTexture(), LLToolSelect::onMouseCaptureLost(), LLToolGrab::onMouseCaptureLost(), LLFloaterTools::onOpen(), LLPanelFace::onSelectColor(), LLPanelFace::onSelectTexture(), LLObjectBridge::performAction(), LLToolPie::pickAndShowMenu(), LLToolPipette::pickCallback(), LLToolIndividual::pickCallback(), LLToolGrab::pickCallback(), LLToolCamera::pickCallback(), LLToolFace::pickCallback(), LLToolDragAndDrop::pickCallback(), LLToolCompRotate::pickCallback(), LLToolCompScale::pickCallback(), LLToolCompTranslate::pickCallback(), LLToolCompInspect::pickCallback(), LLHoverView::pickCallback(), LLPanelObject::postBuild(), LLPanelFace::postBuild(), LLPipeline::postSort(), print_object_info(), process_kill_object(), LLSelectMgr::processForceObjectSelect(), LLSelectMgr::processObjectProperties(), LLSelectMgr::processObjectPropertiesFamily(), LLViewerObjectList::processUpdateCore(), LLViewerObject::processUpdateMessage(), queue_actions(), LLPanelPermissions::refresh(), LLPanelInventory::refresh(), LLPanelContents::refresh(), LLFloaterTools::refresh(), LLFloaterTelehub::refresh(), remove_inventory_category_from_avatar_step2(), LLViewerObject::removeChild(), LLObjectBridge::renameItem(), LLManipScale::render(), LLManipRotate::render(), LLManip::renderGuidelines(), LLSelectNode::renderOneSilhouette(), LLViewerWindow::renderSelections(), LLManipTranslate::renderSnapGuides(), LLManipScale::renderSnapGuides(), LLManipRotate::renderSnapGuides(), LLManipTranslate::renderTranslationHandles(), LLAgent::resetView(), selection_price(), LLToolPie::selectionPropertiesReceived(), send_parcel_select_objects(), LLPanelFace::sendAlpha(), LLPanelFace::sendBump(), LLPanelObject::sendCastShadows(), LLPanelFace::sendColor(), LLPanelFace::sendFullbright(), LLPanelVolume::sendIsFlexible(), LLPanelObject::sendIsPhantom(), LLPanelObject::sendIsPhysical(), LLPanelObject::sendIsTemporary(), LLPanelObject::sendPosition(), LLPanelObject::sendRotation(), LLPanelObject::sendScale(), LLPanelFace::sendShiny(), LLFloaterTelehub::sendTelehubInfoRequest(), LLPanelFace::sendTexGen(), LLPanelFace::sendTexture(), LLPanelFace::sendTextureInfo(), LLManipScale::sendUpdates(), LLPanelPermissions::setAllSaleInfo(), LLAgent::setCameraZoomFraction(), LLAgent::setRegion(), LLFloaterTrustNetRate::show(), LLFloaterOpenObject::show(), LLFloaterInspect::show(), LLFloaterBuyContents::show(), LLFloaterBuy::show(), sitting_on_selection(), LLViewerObjectList::updateApparentAngles(), LLManipScale::updateSnapGuides(), LLHoverView::updateText(), LLSelectMgr::validateSelection(), and LLViewerWindow::~LLViewerWindow().

const S32 MAX_ACTION_QUEUE_SIZE = 20

Definition at line 93 of file llselectmgr.cpp.

const S32 MAX_OBJECTS_PER_PACKET = 254

Definition at line 95 of file llselectmgr.cpp.

Referenced by LLSelectMgr::deselectObjectAndFamily(), and LLSelectMgr::sendListToRegions().

const S32 MAX_SILS_PER_FRAME = 50

Definition at line 94 of file llselectmgr.cpp.

Referenced by LLSelectMgr::updateSilhouettes().

const S32 NUM_SELECTION_UNDO_ENTRIES = 200

Definition at line 90 of file llselectmgr.cpp.

const S32 OWNERSHIP_COST_PER_OBJECT = 10

Definition at line 92 of file llselectmgr.cpp.

Referenced by LLObjectSelection::getOwnershipCost().

const F32 SILHOUETTE_UPDATE_THRESHOLD_SQUARED = 0.02f

Definition at line 91 of file llselectmgr.cpp.

Referenced by LLSelectMgr::updateSilhouettes().

LLPointer<LLObjectSelection> sNullSelection [static]

Definition at line 151 of file llselectmgr.cpp.

Referenced by LLViewerParcelMgr::cleanupGlobals(), LLSelectMgr::cleanupGlobals(), get_null_object_selection(), and get_null_parcel_selection().


Generated on Thu Jul 1 06:10:40 2010 for Second Life Viewer by  doxygen 1.4.7