aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorMelanie2012-03-20 18:07:24 +0100
committerMelanie2012-03-20 18:07:24 +0100
commit70c0d6cf0b4fe101cc02e46ffc38417fa62ff245 (patch)
treec9c90629247817fbf95974671b3b448196a56d85 /OpenSim/Region/Framework
parentCover the case where prims are loaded and ParentGroup is not yet set (diff)
parent add some more notifications about changes on physical parameters ( still inc... (diff)
downloadopensim-SC_OLD-70c0d6cf0b4fe101cc02e46ffc38417fa62ff245.zip
opensim-SC_OLD-70c0d6cf0b4fe101cc02e46ffc38417fa62ff245.tar.gz
opensim-SC_OLD-70c0d6cf0b4fe101cc02e46ffc38417fa62ff245.tar.bz2
opensim-SC_OLD-70c0d6cf0b4fe101cc02e46ffc38417fa62ff245.tar.xz
Merge branch 'ubitwork'
Conflicts: OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs33
2 files changed, 31 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 18069af..ccc3f32 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1521,7 +1521,11 @@ namespace OpenSim.Region.Framework.Scenes
1521 { 1521 {
1522 SceneObjectPart part = GetSceneObjectPart(localID); 1522 SceneObjectPart part = GetSceneObjectPart(localID);
1523 if (part != null) 1523 if (part != null)
1524 {
1524 part.UpdateExtraPhysics(PhysData); 1525 part.UpdateExtraPhysics(PhysData);
1526 if (part.UpdatePhysRequired)
1527 remoteClient.SendPartPhysicsProprieties(part);
1528 }
1525 } 1529 }
1526 } 1530 }
1527 } 1531 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 84b4bb3..85d2bee 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1030,6 +1030,7 @@ namespace OpenSim.Region.Framework.Scenes
1030 } 1030 }
1031 1031
1032 public UpdateRequired UpdateFlag { get; set; } 1032 public UpdateRequired UpdateFlag { get; set; }
1033 public bool UpdatePhysRequired { get; set; }
1033 1034
1034 /// <summary> 1035 /// <summary>
1035 /// Used for media on a prim. 1036 /// Used for media on a prim.
@@ -1410,6 +1411,7 @@ namespace OpenSim.Region.Framework.Scenes
1410 if(ParentGroup != null) 1411 if(ParentGroup != null)
1411 ParentGroup.HasGroupChanged = true; 1412 ParentGroup.HasGroupChanged = true;
1412 ScheduleFullUpdateIfNone(); 1413 ScheduleFullUpdateIfNone();
1414 UpdatePhysRequired = true;
1413 } 1415 }
1414 } 1416 }
1415 } 1417 }
@@ -1501,12 +1503,15 @@ namespace OpenSim.Region.Framework.Scenes
1501 m_physicsShapeType = DefaultPhysicsShapeType(); 1503 m_physicsShapeType = DefaultPhysicsShapeType();
1502 else 1504 else
1503 m_physicsShapeType = value; 1505 m_physicsShapeType = value;
1504 ScheduleFullUpdateIfNone();
1505 } 1506 }
1506 else 1507 else
1507 m_physicsShapeType = DefaultPhysicsShapeType(); 1508 m_physicsShapeType = DefaultPhysicsShapeType();
1509
1508 if (ParentGroup != null) 1510 if (ParentGroup != null)
1509 ParentGroup.HasGroupChanged = true; 1511 ParentGroup.HasGroupChanged = true;
1512
1513 if(m_physicsShapeType != value)
1514 UpdatePhysRequired = true;
1510 } 1515 }
1511 } 1516 }
1512 1517
@@ -1518,8 +1523,11 @@ namespace OpenSim.Region.Framework.Scenes
1518 if (value >=1 && value <= 22587.0) 1523 if (value >=1 && value <= 22587.0)
1519 { 1524 {
1520 m_density = value; 1525 m_density = value;
1521 ScheduleFullUpdateIfNone(); 1526 UpdatePhysRequired = true;
1522 } 1527 }
1528
1529 ScheduleFullUpdateIfNone();
1530
1523 if (ParentGroup != null) 1531 if (ParentGroup != null)
1524 ParentGroup.HasGroupChanged = true; 1532 ParentGroup.HasGroupChanged = true;
1525 } 1533 }
@@ -1529,11 +1537,18 @@ namespace OpenSim.Region.Framework.Scenes
1529 { 1537 {
1530 get { return m_gravitymod; } 1538 get { return m_gravitymod; }
1531 set 1539 set
1532 { if( value >= -1 && value <=28.0f) 1540 {
1533 m_gravitymod = value; 1541 if( value >= -1 && value <=28.0f)
1542 {
1543 m_gravitymod = value;
1544 UpdatePhysRequired = true;
1545 }
1546
1534 ScheduleFullUpdateIfNone(); 1547 ScheduleFullUpdateIfNone();
1548
1535 if (ParentGroup != null) 1549 if (ParentGroup != null)
1536 ParentGroup.HasGroupChanged = true; 1550 ParentGroup.HasGroupChanged = true;
1551
1537 } 1552 }
1538 } 1553 }
1539 1554
@@ -1545,8 +1560,11 @@ namespace OpenSim.Region.Framework.Scenes
1545 if (value >= 0 && value <= 255.0f) 1560 if (value >= 0 && value <= 255.0f)
1546 { 1561 {
1547 m_friction = value; 1562 m_friction = value;
1548 ScheduleFullUpdateIfNone(); 1563 UpdatePhysRequired = true;
1549 } 1564 }
1565
1566 ScheduleFullUpdateIfNone();
1567
1550 if (ParentGroup != null) 1568 if (ParentGroup != null)
1551 ParentGroup.HasGroupChanged = true; 1569 ParentGroup.HasGroupChanged = true;
1552 } 1570 }
@@ -1560,8 +1578,11 @@ namespace OpenSim.Region.Framework.Scenes
1560 if (value >= 0 && value <= 1.0f) 1578 if (value >= 0 && value <= 1.0f)
1561 { 1579 {
1562 m_bounce = value; 1580 m_bounce = value;
1563 ScheduleFullUpdateIfNone(); 1581 UpdatePhysRequired = true;
1564 } 1582 }
1583
1584 ScheduleFullUpdateIfNone();
1585
1565 if (ParentGroup != null) 1586 if (ParentGroup != null)
1566 ParentGroup.HasGroupChanged = true; 1587 ParentGroup.HasGroupChanged = true;
1567 } 1588 }