aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorRobert Adams2014-10-02 19:00:26 -0700
committerRobert Adams2014-11-30 19:52:59 -0800
commiteef954a214b9aed2132dd6e495c6be98157ea4aa (patch)
tree383d53c42db6da2ac2c51ec5aa9d3965fca274bd /OpenSim
parentBulletSim: add shape and linkset rebuild scheduled flags. Add BSPrim.Incomple... (diff)
downloadopensim-SC-eef954a214b9aed2132dd6e495c6be98157ea4aa.zip
opensim-SC-eef954a214b9aed2132dd6e495c6be98157ea4aa.tar.gz
opensim-SC-eef954a214b9aed2132dd6e495c6be98157ea4aa.tar.bz2
opensim-SC-eef954a214b9aed2132dd6e495c6be98157ea4aa.tar.xz
BulletSim: Make BSPrimLinkable 'incomplete' if any of its children are waiting for assets to load.
Diffstat (limited to 'OpenSim')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs24
1 files changed, 23 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs
index cdd912d..9301e52 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs
@@ -58,7 +58,29 @@ public class BSPrimLinkable : BSPrimDisplaced
58 { 58 {
59 get 59 get
60 { 60 {
61 return base.IsIncomplete || Linkset.RebuildScheduled ; 61 // A linkset is incomplete when base objects are incomplete, waiting for assets,
62 // or being rebuilt.
63 bool ret = false;
64 if (base.IsIncomplete || Linkset.RebuildScheduled)
65 {
66 ret = true;
67 }
68 else
69 {
70 if (Linkset.IsRoot(this))
71 {
72 Linkset.ForEachMember((member) =>
73 {
74 if (member.PrimAssetState == PrimAssetCondition.Waiting)
75 {
76 ret = true;
77 return true;
78 }
79 return false;
80 });
81 }
82 }
83 return ret;
62 } 84 }
63 } 85 }
64 86