aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/UndoState.cs
diff options
context:
space:
mode:
authorUbitUmarov2012-03-09 02:56:14 +0000
committerUbitUmarov2012-03-09 02:56:14 +0000
commite5786ba0435bee04246fcd689a103f2df338dba9 (patch)
treedd6bd3843a98f5aa25ba4533e0744d833650270a /OpenSim/Region/Framework/Scenes/UndoState.cs
parent more changes in undo/redo. Basicly moved control to llclientview.cs. later w... (diff)
downloadopensim-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.cs18
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();