summaryrefslogtreecommitdiff
path: root/indra/newview/llselectmgr.h
AgeCommit message (Collapse)Author
2024-05-15Post-merge spaces fixAndrey Lihatskiy
2024-04-171176 integrate llgltfnode with selection manager and llmaniptranslate/rotate ↵RunitaiLinden
(#1258) * #1176 Somewhat working GLTF Node support for translate tool * #1176 Missing file from last commit * #1176 Better translation for rotated nodes. * #1176 Fix for objects snapping back to original position * #1176 GLTF Samples compatibility pass -- attempt at improving rotation manip support, incidental cleanup, GLTF node debug display * #1176 Clean out some unused and not working functions. * #1176 Fix for mac build, incidental cleanup * Mac build fix
2023-08-11SL-20024: Put material in object inventory when material is no-modify or ↵Cosmic Linden
no-transfer
2023-07-11SL-19141 Fixed applying a no-copy texture to two objects failing silentlyAndrey Kleshchev
2023-05-04SL-18932 Canceling material selection only reverts overrideAndrey Kleshchev
2023-01-04SL-18854 Fix drag'n drop of plain textures on faces in PBR modeAndrey Kleshchev
When in PBR 'mode', defaulted texture drops to diffuse channel
2022-11-09SL-18583 Use gltf overrides as a base for live editing to send only minimal ↵Andrey Kleshchev
changes
2022-11-07SL-18583 Make tools floater restore overrides when canceling changes #1Andrey Kleshchev
This works only partially since changes from material editor are not yet tracked.
2022-09-27SL-17999 Material with limited permissions should be copied to object's ↵Andrey Kleshchev
inventory
2022-09-16Merge branch master (DRTVWR-571) into DRTVWR-559Andrey Kleshchev
# Conflicts: # indra/newview/llpanelface.cpp # indra/newview/llpanelface.h
2022-09-01SL-17999 PBR material in tool's texture tabAndrey Kleshchev
2022-08-09SL-17653 Perially done restoration functionalityAndrey Kleshchev
2022-05-31Merge branch 'master' into DRTVWR-544-maintAndrey Lihatskiy
# Conflicts: # indra/llprimitive/llmodel.cpp # indra/llprimitive/llmodel.h # indra/newview/llappviewer.cpp # indra/newview/llappviewer.h
2021-11-19Merge branch 'master' into DRTVWR-544-maintAndrey Lihatskiy
# Conflicts: # indra/newview/llvoicevivox.cpp
2021-11-16DRTVWR-546 merge in master v6.5.1Dave Houlton
2021-11-09SL-13867 Developer ability to select and reposition multiple avatarsAndrey Kleshchev
2021-10-28SL-16148 SL-16244 SL-16270 SL-16253 Remove most BlockTimers, remove ↵Dave Parks
LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton
2021-10-25SL-16218 treat texture selection similar to diffuse map handling.Mnikolenko Productengine
2020-07-10SL-10326 Allow selecting any movable avatars with 'Allow Select Avatar' optionAndrey Kleshchev
2020-02-27SL-10326 Develop submenu option Allow Select Avatar was defectiveAndrey Kleshchev
Viewer should now filter out position changes from server when avatar is being edited.
2019-07-03SL-11535 Autopilot should store selection for later useandreykproductengine
2019-04-02Merged in lindenlab/viewer-bearAndreyL ProductEngine
2019-02-25SL-10326 Restore ability to select own avatar and move it via manipulation ↵maxim_productengine
arrows
2019-01-25SL-10194 Selecting mesh face doesn't highlight the face in any wayruslantproductengine
- Fixed according to Steeltoe notes. - Add const modifier for some methods
2019-01-08SL-10194 Selecting mesh face doesn't highlight the face in any wayruslantproductengine
- Implemented
2018-11-14Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-09-27mergeBrad Payne (Vir Linden)
2018-09-27Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-07-31MAINT-8909Graham Linden
Loosen precision when checking rotation and other false negatives when comparing faces to see if they can be considered planar aligned. This was causing fields to be marked tentative (grayed display) incorrectly.
2018-07-30MAINT-8915Graham Linden
Fix sync of material rotation and offset values when using aligned planar faces. Make it possible to set a specific TE's normal/spec offset/rotation values. Eliminate redundant conversions in LLSD -> struct handler.
2018-07-16MAINT-8844 Fixed selection inconsistancies (inworld manipulation vs tool ↵andreykproductengine
floater)
2018-01-17mergeBrad Payne (Vir Linden)
2017-11-16SL-704 - more cleanup, including releaseMeshData() for control avatars, ↵Brad Payne (Vir Linden)
which don't need mesh data.
2017-11-01SL-830, SL-831 - no linking if any of the roots is animated object. ↵Brad Payne (Vir Linden)
isAnimatedObject() just uses check against extended mesh flag of the root. On select, LLVOVolume marks whole linkset for update if animated object.
2017-09-22SL-794, SL-790 - viewer-side enforcement in UI for various animated object ↵Brad Payne (Vir Linden)
limits that are also enforced on the server.
2017-07-17SL-714 - pause associated avatar when an animated object is selected. ↵Brad Payne (Vir Linden)
Handles the possibility that multiple avatars need to be paused.
2017-04-21Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-03-30DRTVWR-418: Xcode 8.3 complains about LLSafeHandle<T> implementation.Nat Goodspeed
The previous LLSafeHandle<T> implementation declares a static data member of the template class but provides no (generic) definition, relying on particular specializations to provide the definition. The data member is a function pointer, which is called in one of the methods to produce a pointer to a "null" T instance: that is, a dummy instance to be dereferenced in case the wrapped T* is null. Xcode 8.3's version of clang is bothered by the call, in a generic method, through this (usually) uninitialized pointer. It happens that the only specializations of LLSafeHandle do both provide definitions. I don't know whether that's formally valid C++03 or not; but I agree with the compiler: I don't like it. Instead of declaring a public static function pointer which each specialization is required to define, add a protected static method to the template class. This protected static method simply returns a pointer to a function-static T instance. This is functionally similar to a static LLPointer<T> set on demand (as in the two specializations), including lazy instantiation. Unlike the previous implementation, this approach prohibits a given specialization from customizing the "null" instance function. Although there exist reasonable ways to support that (e.g. a related traits template), I decided not to complicate the LLSafeHandle implementation to make it more generally useful. I don't really approve of LLSafeHandle, and don't want to see it proliferate. It's not clear that unconditionally dereferencing LLSafeHandle<T> is in any way better than conditionally dereferencing LLPointer<T>. It doesn't even skip the runtime conditional test; it simply obscures it. (There exist hints in the code that at one time it might have immediately replaced any wrapped null pointer value with the pointer to the "null" instance, obviating the test at dereference time, but this is not the current functionality. Perhaps it was only ever wishful thinking.) Remove the corresponding functions and static LLPointers from the two classes that use LLSafeHandle.
2017-03-13MAINT-1324 Warning should appear that objects in different regions can't be ↵andreykproductengine
linked
2016-11-30MAINT-6803 Account for deselectionandreykproductengine
2016-09-15MAINT-5232: Normalize LLSingleton subclasses.Nat Goodspeed
A shocking number of LLSingleton subclasses had public constructors -- and in several instances, were being explicitly instantiated independently of the LLSingleton machinery. This breaks the new LLSingleton dependency-tracking machinery. It seems only fair that if you say you want an LLSingleton, there should only be ONE INSTANCE! Introduce LLSINGLETON() and LLSINGLETON_EMPTY_CTOR() macros. These handle the friend class LLSingleton<whatevah>; and explicitly declare a private nullary constructor. To try to enforce the LLSINGLETON() convention, introduce a new pure virtual LLSingleton method you_must_use_LLSINGLETON_macro() which is, as you might suspect, defined by the macro. If you declare an LLSingleton subclass without using LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() in the class body, you can't instantiate the subclass for lack of a you_must_use_LLSINGLETON_macro() implementation -- which will hopefully remind the coder. Trawl through ALL LLSingleton subclass definitions, sprinkling in LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() as appropriate. Remove all explicit constructor declarations, public or private, along with relevant 'friend class LLSingleton<myself>' declarations. Where destructors are declared, move them into private section as well. Where the constructor was inline but nontrivial, move out of class body. Fix several LLSingleton abuses revealed by making ctors/dtors private: LLGlobalEconomy was both an LLSingleton and the base class for LLRegionEconomy, a non-LLSingleton. (Therefore every LLRegionEconomy instance contained another instance of the LLGlobalEconomy "singleton.") Extract LLBaseEconomy; LLGlobalEconomy is now a trivial subclass of that. LLRegionEconomy, as you might suspect, now derives from LLBaseEconomy. LLToolGrab, an LLSingleton, was also explicitly instantiated by LLToolCompGun's constructor. Extract LLToolGrabBase, explicitly instantiated, with trivial subclass LLToolGrab, the LLSingleton instance. (WARNING: LLToolGrabBase methods have an unnerving tendency to go after LLToolGrab::getInstance(). I DO NOT KNOW what should be the relationship between the instance in LLToolCompGun and the LLToolGrab singleton instance.) LLGridManager declared a variant constructor accepting (const std::string&), with the comment: // initialize with an explicity grid file for testing. As there is no evidence of this being called from anywhere, delete it. LLChicletBar's constructor accepted an optional (const LLSD&). As the LLSD parameter wasn't used, and as there is no evidence of it being passed from anywhere, delete the parameter. LLViewerWindow::shutdownViews() was checking LLNavigationBar:: instanceExists(), then deleting its getInstance() pointer -- leaving a dangling LLSingleton instance pointer, a land mine if any subsequent code should attempt to reference it. Use deleteSingleton() instead. ~LLAppViewer() was calling LLViewerEventRecorder::instance() and then explicitly calling ~LLViewerEventRecorder() on that instance -- leaving the LLSingleton instance pointer pointing to an allocated-but-destroyed instance. Use deleteSingleton() instead.
2016-03-16merge changes for DRTVWR-417Oz Linden
2016-01-15merge changes for 4.0.1-releaseOz Linden
2016-01-11MAINT-6025 FIXED "ctrl + z" not working on non-mod objectsandreykproductengine
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-10-19MAINT-5268 FIXED Rotating an object that's used as grid reference goes crazyruslantproductengine
2015-07-15Merge from viewer-relese and become version 3.8.2andreykproductengine
2015-04-13mergeBrad Payne (Vir Linden)
2015-04-09MAINT-5069 WIP, MAINT-5071 WIP - handle dropping objects and attaching from ↵Brad Payne (Vir Linden)
ground. WIP on better tracking of attachment requests via various message in LLSelectMgr.
2015-02-26MAINT-4904 FIXED Show confirmation pop-up before unlinking an object.Mnikolenko ProductEngine