summaryrefslogtreecommitdiff
path: root/indra/newview/llmanipscale.cpp
AgeCommit message (Collapse)Author
2014-03-04STORM-1920 / STORM-2013: Fixed uniform scaling highlighting at half values.Ricky Curtice
Re-utilized the technique Richard put in the corner drag code.
2014-03-03STORM-2017: Added translatable help text to rotation.Ricky Curtice
I chose the camera’s up vector to place the help text as it provided a consistent location on the screen for the user to see the text pop up. While doing this I realized that the calls to hud_render_utf8text utilized a condition that was guaranteed to be false based on a surrounding if-statement, and so could trivially be replaced with a constant. Also cleaned out a compiler warning about unused private member variables in llmaniptranslate. I don’t like warnings and useless code. :P
2014-03-03STORM-2017 Untranslatable text appears when scaling, or moving objectsJonathan Yap
2014-03-02Fixed compile-time errors. My bad.Ricky Curtice
Serves me right for not waiting through the compile!
2014-03-02Better code documentation.Ricky Curtice
2014-03-02STORM-1920: Corrected bug where snap values would highlight that weren’t ↵Ricky Curtice
supposed to be highlighting. Did some more cleanup and documentation. Also corrected a bug in Richard’s patch that resulted in the object scaling up when the mouse went the opposite direction from the scale. The issue is that the vector length is an absolute value. To allow for "negative" results to be found and discarded, I instead used a dot product with a parallel unit vector to get the signed magnitude - or, if you prefer, the mono-dimensional vector. This bug only surfaced once the code made to actually work as intended in regards to the highlighting. Turns out that if the snapped value was at 2, any axis that was showing values would highlight its "2" text - and the same for all other values. To fix this, I used a simple enum and repurposed the property that tracked whether or not the cursor was in a snap regime. Now it not only tracks whether or not the cursor is in a snap regime, but which one it is in. This allowed the highlight render code to be able to differentiate which row was supposed to highlight and which did not. A couple more duplicated math operations were reduced by rearranging the order of some variable definitions. If at all possible, only do division once. The result is much cleaner and easier to read code. Several deprecated vector functions were updated to match their new versions. If you are going to mark something deprecated, why not just take the time to go through and find all uses and clean it up!? faceToUnitVector() was cleaned up to use the single-output design, matching cornerToUnitVector(). A mess of trailing whitespace was cleaned out. Many more LLManipScale private variables are now documented - though I only documented those I understood fully while reading where they were created and how they were used.
2014-03-02STORM-1920: From Richard, fix for scale sliding when mouse goes in the ↵Ricky Curtice
opposite direction of the scale. I had discovered a set of bugs in the fix he sent me involving when the user decided to move the mouse in the opposite direction. This fixes the bug where the scale would start sliding around.
2014-03-02MergeRicky Curtice
2014-03-02STORM-1920: Richard fixed and optimized a ton more math.Ricky Curtice
From Richard: There are a bunch of things I changed...mainly I eliminated all the grid_offset nonsense and instead simply calculate the tick index for the current drag position and use that to generate a snapped position as needed. I still use approx_equal because I want grid numbers to light up even when they aren't the axis you are currently snapping to.
2014-02-22Simple variable cleanup.Ricky Curtice
There was a lot of repeated division that was obscuring meaning, along with a variable that was always identical to another preexisting variable. This last was probably an archaism, and was just due for removal.
2014-02-18STORM-1920: Documented the meaning of some of the variables involved, built ↵Ricky Curtice
simplest change to solve issue. The highlighting code assumed that the axis of the scaling movement was aligned with the scale tick marks - e.g. one of the cardinal directions with respect to the OBB of the selection. This was and is NOT true when dragging from the corner, aka scaling more than one axis at a time. The solution was to calculate the measured distance by projecting the snapped distance along the snap direction onto the axis of the relevant snap guide. This gives the correct values, and is nice and clean - both in the change involved, and in the values returned. However, while the fundamental misunderstanding in the code has been cleaned up by this change, the tick_val variable has so much jitter in the bottom end that the is_approx_equal function doesn’t come true > 98% of the time. This is the next problem to solve.
2014-02-18STORM-1920: Math cleanup from Richard Linden.Ricky Curtice
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2012-10-11Updating linux build to gcc4.6Don Kjer
2012-04-03PATH-450: Correcting boolean logic that was resulting in the scale ↵Todd Stinson
manipulator malfunctioning for non-permanent objects.
2012-03-30PATH-450: Disabling the movement and shape manipulation widgets when editing ↵Todd Stinson
an item in a linked set.
2012-03-13PATH-199: Enforcing permanent objects in frozen state to not move.Todd Stinson
2011-09-14SH-2243 work in progress -- application side matrix stack managementDave Parks
2011-06-09Remove ObjectAdd cap, no longer neededRoxie Linden
2011-06-07mergeDave Parks
2011-05-27transplant fix for SH-1467Roxie Linden
viewer now uses simulatorfeatures to check whether to show UI elements for mesh or not
2011-05-26SH-1668 FIXED Cubes can be scaled to 64^3Loren Shih
2011-05-02STORM-1210 fsqrtf cleanupDave Parks
2011-05-02mergeDave Parks
2011-03-12Switched to using *_SQUARED constants instead of multiplied constants, and ↵Ricky Curtice
cleaned up a few other minor issues noted during review.
2011-03-10Squared all dist_vec() based comparisons and other dist_vec() operations ↵Ricky Curtice
where sensible. Not all instances of dist_vec() were squared, only those where it wouldn't (hopefully) change the functionality.
2011-02-24SH-1045leyla_linden
Mesh Viewer temporarily allows object scaling larger than 10m, then moves the object
2011-02-16SH-512 [REGRESSION] Linden trees scale up to 200m on Mesh regionsleyla_linden
SH-943 10 meters maximum Prim/Mesh size in latest Mesh Viewers
2011-02-01SH-512: Inworld scale weights use previous maximum (10)prep linden
2011-01-28SH-808 making sure the 10m vs. 64m scale limit switch happens for both the ↵leyla_linden
spinner and the manipulation tools etc.
2010-10-13correct licenses (fix problem with license change merge)Oz Linden
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-03-23EXT-2959 : Full out camera functions from llagent to llagentcameraLoren Shih
First check-in; only compiles, nothing more.
2010-01-28CID-361Tofu Linden
Checker: UNINIT_CTOR Function: LLToolGrab::LLToolGrab(LLToolComposite *) File: /indra/newview/lltoolgrab.cpp plus followup to previous fix...
2009-11-10Sanitize naming of getWindowRect (scaled vs. raw pixels) and ↵James Cook
getWorldViewRect (scaled vs. raw) Reduces chance of future UI bugs related to UI size. Discussed with Richard.
2009-11-10EXT-677 Build tool arrows work again with UI size != 1.0James Cook
Must use scaled (virtual) pixels in some computations Will review with Richard
2009-07-06Merge xui-army-5 to viewer-2, includes layout, art, and color changes, also ↵James Cook
UI color refactoring and new FreeType font library on Linux. svn merge -r126038:126164 svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/xui-army-5
2009-06-21merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3Steven Bennetts
ignore-dead-branch
2009-03-13svn merge -r114093:114412 ↵Christian Goetze
svn+ssh://svn.lindenlab.com/svn/linden/branches/featurettes/featurettes-batch5-merge Melinda (coco): 5th and final batch of featurettes. My work here is done.
2009-01-08Result of svn merge -r107256:107258 ↵Aaron Brashears
svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165
2008-11-07QAR-992 Merging revisions 101012-101170,101686-101687 of ↵Mark Palange
svn+ssh://svn.lindenlab.com/svn/linden/qa/viewer_combo_1-22-merge into linden/release
2008-08-12QAR-767 Combined maint-render-7 and maint-viewer-9 mergeSteven Bennetts
merge release@93398 viewer-merge-1@94007 -> release dataserver-is-deprecated
2008-07-23svn merge -r92720:92721 ↵Karl Steifvater
svn+ssh://svn.lindenlab.com/svn/linden/branches/uv-picking-merge QAR-698 / DEV-9985 add touch "position" information to touch-events in LSL
2008-07-22svn merge -r92710:92709 svn+ssh://svn.lindenlab.com/svn/linden/release --> ↵Josh Bell
release Undo r92710 (for QAR-698) - went straight into release instead of a side branch for validation.
2008-07-22merge uv-picking branch.Karl Steifvater
svn merge -r92602:92632 svn+ssh://svn.lindenlab.com/svn/linden/branches/uv-picking-4
2008-06-26QAR-628 merge string-cleanup-5 -r 90476:90508 -> releaseSteven Bennetts
dataserver-is-deprecated
2008-06-06QAR-650 - Viewer RC 9 merge -> release (post cmake)Steven Bennetts
merge release@88802 Branch_1-20-Viewer-2-merge-1@89178 -> release
2008-05-08QAR-570 maint-render-4 mergeSteven Bennetts
merge -r 87067:87077 svn+ssh://svn.lindenlab.com/svn/linden/branches/maint-render/maint-render-4-merge -> release. dataserver-is-deprecated.
2008-04-03svn merge -r83872:83893 linden/branches/Branch_1-20-0-Server to linden/releaseKelly Washington
HAVOK4 IN TEH HOUSE!!11!!ONE!! If it is broken blame Joel for not fixing the loginassetdatabaseinventorygroupIM server instead of working on this. QAR-448