diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs index 9e0f499..8f973f4 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | |||
@@ -48,7 +48,8 @@ public abstract class BSLinkset | |||
48 | */ | 48 | */ |
49 | 49 | ||
50 | // at the moment, there is only one | 50 | // at the moment, there is only one |
51 | ret = new BSLinksetConstraints(physScene, parent); | 51 | // ret = new BSLinksetConstraints(physScene, parent); |
52 | ret = new BSLinksetCompound(physScene, parent); | ||
52 | 53 | ||
53 | return ret; | 54 | return ret; |
54 | } | 55 | } |
@@ -69,10 +70,19 @@ public abstract class BSLinkset | |||
69 | protected object m_linksetActivityLock = new Object(); | 70 | protected object m_linksetActivityLock = new Object(); |
70 | 71 | ||
71 | // Some linksets have a preferred physical shape. | 72 | // Some linksets have a preferred physical shape. |
72 | // Returns SHAPE_UNKNOWN if there is no preference. | 73 | // Returns SHAPE_UNKNOWN if there is no preference. Causes the correct shape to be selected. |
73 | public virtual ShapeData.PhysicsShapeType PreferredPhysicalShape | 74 | public virtual ShapeData.PhysicsShapeType PreferredPhysicalShape(BSPhysObject requestor) |
74 | { get { return ShapeData.PhysicsShapeType.SHAPE_UNKNOWN; } } | 75 | { |
76 | return ShapeData.PhysicsShapeType.SHAPE_UNKNOWN; | ||
77 | } | ||
75 | 78 | ||
79 | // Linksets move around the children so the linkset might need to compute the child position | ||
80 | public virtual OMV.Vector3 Position(BSPhysObject member) | ||
81 | { return member.RawPosition; } | ||
82 | public virtual OMV.Quaternion Orientation(BSPhysObject member) | ||
83 | { return member.RawOrientation; } | ||
84 | // TODO: does this need to be done for Velocity and RotationalVelocityy? | ||
85 | |||
76 | // We keep the prim's mass in the linkset structure since it could be dependent on other prims | 86 | // We keep the prim's mass in the linkset structure since it could be dependent on other prims |
77 | protected float m_mass; | 87 | protected float m_mass; |
78 | public float LinksetMass | 88 | public float LinksetMass |
@@ -177,7 +187,6 @@ public abstract class BSLinkset | |||
177 | } | 187 | } |
178 | 188 | ||
179 | // Perform an action on each member of the linkset including root prim. | 189 | // Perform an action on each member of the linkset including root prim. |
180 | // The action is performed only on the objects that are physically in the linkset. | ||
181 | // Depends on the action on whether this should be done at taint time. | 190 | // Depends on the action on whether this should be done at taint time. |
182 | public delegate bool ForEachMemberAction(BSPhysObject obj); | 191 | public delegate bool ForEachMemberAction(BSPhysObject obj); |
183 | public virtual bool ForEachMember(ForEachMemberAction action) | 192 | public virtual bool ForEachMember(ForEachMemberAction action) |