diff options
author | Robert Adams | 2014-10-02 19:00:26 -0700 |
---|---|---|
committer | Robert Adams | 2014-11-30 19:52:59 -0800 |
commit | eef954a214b9aed2132dd6e495c6be98157ea4aa (patch) | |
tree | 383d53c42db6da2ac2c51ec5aa9d3965fca274bd /OpenSim/Region | |
parent | BulletSim: add shape and linkset rebuild scheduled flags. Add BSPrim.Incomple... (diff) | |
download | opensim-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/Region')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs | 24 |
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 | ||