diff options
author | UbitUmarov | 2012-03-09 02:56:14 +0000 |
---|---|---|
committer | UbitUmarov | 2012-03-09 02:56:14 +0000 |
commit | e5786ba0435bee04246fcd689a103f2df338dba9 (patch) | |
tree | dd6bd3843a98f5aa25ba4533e0744d833650270a /OpenSim/Region/Framework/Scenes/UndoState.cs | |
parent | more changes in undo/redo. Basicly moved control to llclientview.cs. later w... (diff) | |
download | opensim-SC_OLD-e5786ba0435bee04246fcd689a103f2df338dba9.zip opensim-SC_OLD-e5786ba0435bee04246fcd689a103f2df338dba9.tar.gz opensim-SC_OLD-e5786ba0435bee04246fcd689a103f2df338dba9.tar.bz2 opensim-SC_OLD-e5786ba0435bee04246fcd689a103f2df338dba9.tar.xz |
more changes on undo/redo group scaling seems to work better
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/UndoState.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/UndoState.cs | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UndoState.cs b/OpenSim/Region/Framework/Scenes/UndoState.cs index 029c828..38474de 100644 --- a/OpenSim/Region/Framework/Scenes/UndoState.cs +++ b/OpenSim/Region/Framework/Scenes/UndoState.cs | |||
@@ -74,14 +74,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
74 | ForGroup = forGroup; | 74 | ForGroup = forGroup; |
75 | Position = part.ParentGroup.AbsolutePosition; | 75 | Position = part.ParentGroup.AbsolutePosition; |
76 | Rotation = part.RotationOffset; | 76 | Rotation = part.RotationOffset; |
77 | if (!forGroup) | 77 | Scale = part.Shape.Scale; |
78 | Scale = part.Shape.Scale; | ||
79 | else | ||
80 | Scale = Vector3.Zero; // until we fix it | ||
81 | } | 78 | } |
82 | else | 79 | else |
83 | { | 80 | { |
84 | ForGroup = false; // previus code implies only root parts can undo grp | 81 | ForGroup = false; // only root parts can undo grp |
85 | Position = part.OffsetPosition; | 82 | Position = part.OffsetPosition; |
86 | Rotation = part.RotationOffset; | 83 | Rotation = part.RotationOffset; |
87 | Scale = part.Shape.Scale; | 84 | Scale = part.Shape.Scale; |
@@ -108,9 +105,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
108 | return false; | 105 | return false; |
109 | if (Rotation != part.RotationOffset) | 106 | if (Rotation != part.RotationOffset) |
110 | return false; | 107 | return false; |
111 | if (ForGroup) | 108 | return Scale == part.Shape.Scale; |
112 | return true; // for now don't do grp scale | ||
113 | return (Scale == part.Shape.Scale); | ||
114 | } | 109 | } |
115 | else | 110 | else |
116 | { | 111 | { |
@@ -144,10 +139,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
144 | 139 | ||
145 | if (Scale != Vector3.Zero) | 140 | if (Scale != Vector3.Zero) |
146 | { | 141 | { |
147 | // if (ForGroup) | 142 | if (ForGroup) |
148 | // part.ParentGroup.GroupResize(Scale); | 143 | part.ParentGroup.GroupResize(Scale); |
149 | // else | 144 | else |
150 | if (!ForGroup) // we don't have grp scale for now | ||
151 | part.Resize(Scale); | 145 | part.Resize(Scale); |
152 | } | 146 | } |
153 | part.ParentGroup.ScheduleGroupForTerseUpdate(); | 147 | part.ParentGroup.ScheduleGroupForTerseUpdate(); |