diff options
Diffstat (limited to 'OpenSim/Region/Physics/Manager')
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsActor.cs | 16 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsScene.cs | 12 |
2 files changed, 26 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index 5af6373..e39cee7 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs | |||
@@ -61,6 +61,7 @@ namespace OpenSim.Region.Physics.Manager | |||
61 | public Vector3 SurfaceNormal; | 61 | public Vector3 SurfaceNormal; |
62 | public float PenetrationDepth; | 62 | public float PenetrationDepth; |
63 | public float RelativeSpeed; | 63 | public float RelativeSpeed; |
64 | public bool CharacterFeet; | ||
64 | 65 | ||
65 | public ContactPoint(Vector3 position, Vector3 surfaceNormal, float penetrationDepth) | 66 | public ContactPoint(Vector3 position, Vector3 surfaceNormal, float penetrationDepth) |
66 | { | 67 | { |
@@ -68,6 +69,16 @@ namespace OpenSim.Region.Physics.Manager | |||
68 | SurfaceNormal = surfaceNormal; | 69 | SurfaceNormal = surfaceNormal; |
69 | PenetrationDepth = penetrationDepth; | 70 | PenetrationDepth = penetrationDepth; |
70 | RelativeSpeed = 0f; // for now let this one be set explicity | 71 | RelativeSpeed = 0f; // for now let this one be set explicity |
72 | CharacterFeet = true; // keep other plugins work as before | ||
73 | } | ||
74 | |||
75 | public ContactPoint(Vector3 position, Vector3 surfaceNormal, float penetrationDepth, bool feet) | ||
76 | { | ||
77 | Position = position; | ||
78 | SurfaceNormal = surfaceNormal; | ||
79 | PenetrationDepth = penetrationDepth; | ||
80 | RelativeSpeed = 0f; // for now let this one be set explicity | ||
81 | CharacterFeet = feet; // keep other plugins work as before | ||
71 | } | 82 | } |
72 | } | 83 | } |
73 | 84 | ||
@@ -173,6 +184,11 @@ namespace OpenSim.Region.Physics.Manager | |||
173 | 184 | ||
174 | public abstract Vector3 Size { get; set; } | 185 | public abstract Vector3 Size { get; set; } |
175 | 186 | ||
187 | public virtual void setAvatarSize(Vector3 size, float feetOffset) | ||
188 | { | ||
189 | Size = size; | ||
190 | } | ||
191 | |||
176 | public virtual bool Phantom { get; set; } | 192 | public virtual bool Phantom { get; set; } |
177 | 193 | ||
178 | public virtual bool IsVolumeDtc | 194 | public virtual bool IsVolumeDtc |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index ce269fa..cdffa6b 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs | |||
@@ -127,8 +127,10 @@ namespace OpenSim.Region.Physics.Manager | |||
127 | /// <param name="size"></param> | 127 | /// <param name="size"></param> |
128 | /// <param name="isFlying"></param> | 128 | /// <param name="isFlying"></param> |
129 | /// <returns></returns> | 129 | /// <returns></returns> |
130 | public abstract PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying); | 130 | public virtual PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) |
131 | 131 | { | |
132 | return null; | ||
133 | } | ||
132 | /// <summary> | 134 | /// <summary> |
133 | /// Add an avatar | 135 | /// Add an avatar |
134 | /// </summary> | 136 | /// </summary> |
@@ -145,6 +147,12 @@ namespace OpenSim.Region.Physics.Manager | |||
145 | return ret; | 147 | return ret; |
146 | } | 148 | } |
147 | 149 | ||
150 | public virtual PhysicsActor AddAvatar(uint localID, string avName, Vector3 position, Vector3 size, float feetOffset, bool isFlying) | ||
151 | { | ||
152 | PhysicsActor ret = AddAvatar(localID, avName, position, size, isFlying); | ||
153 | return ret; | ||
154 | } | ||
155 | |||
148 | /// <summary> | 156 | /// <summary> |
149 | /// Remove an avatar. | 157 | /// Remove an avatar. |
150 | /// </summary> | 158 | /// </summary> |