diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/Manager/AssemblyInfo.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/IMesher.cs | 3 | ||||
-rwxr-xr-x | OpenSim/Region/Physics/Manager/IPhysicsParameters.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsActor.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsScene.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/ZeroMesher.cs | 9 |
7 files changed, 33 insertions, 17 deletions
diff --git a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs index 36b4235..5da3956 100644 --- a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs | |||
@@ -55,4 +55,4 @@ using System.Runtime.InteropServices; | |||
55 | // You can specify all values by your own or you can build default build and revision | 55 | // You can specify all values by your own or you can build default build and revision |
56 | // numbers with the '*' character (the default): | 56 | // numbers with the '*' character (the default): |
57 | 57 | ||
58 | [assembly : AssemblyVersion("0.7.5.*")] | 58 | [assembly : AssemblyVersion("0.7.6.*")] |
diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs index ecc2918..5485eb7 100644 --- a/OpenSim/Region/Physics/Manager/IMesher.cs +++ b/OpenSim/Region/Physics/Manager/IMesher.cs | |||
@@ -37,7 +37,7 @@ namespace OpenSim.Region.Physics.Manager | |||
37 | { | 37 | { |
38 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod); | 38 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod); |
39 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical); | 39 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical); |
40 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex, bool forOde); | 40 | IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool shouldCache, bool convex, bool forOde); |
41 | IMesh GetMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex); | 41 | IMesh GetMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex); |
42 | void ReleaseMesh(IMesh mesh); | 42 | void ReleaseMesh(IMesh mesh); |
43 | void ExpireReleaseMeshs(); | 43 | void ExpireReleaseMeshs(); |
@@ -83,6 +83,7 @@ namespace OpenSim.Region.Physics.Manager | |||
83 | List<Vector3> getVertexList(); | 83 | List<Vector3> getVertexList(); |
84 | int[] getIndexListAsInt(); | 84 | int[] getIndexListAsInt(); |
85 | int[] getIndexListAsIntLocked(); | 85 | int[] getIndexListAsIntLocked(); |
86 | float[] getVertexListAsFloat(); | ||
86 | float[] getVertexListAsFloatLocked(); | 87 | float[] getVertexListAsFloatLocked(); |
87 | void getIndexListAsPtrToIntArray(out IntPtr indices, out int triStride, out int indexCount); | 88 | void getIndexListAsPtrToIntArray(out IntPtr indices, out int triStride, out int indexCount); |
88 | void getVertexListAsPtrToFloatArray(out IntPtr vertexList, out int vertexStride, out int vertexCount); | 89 | void getVertexListAsPtrToFloatArray(out IntPtr vertexList, out int vertexStride, out int vertexCount); |
diff --git a/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs b/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs index b8676ba..31a397c 100755 --- a/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs +++ b/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs | |||
@@ -60,14 +60,14 @@ namespace OpenSim.Region.Physics.Manager | |||
60 | 60 | ||
61 | // Set parameter on a specific or all instances. | 61 | // Set parameter on a specific or all instances. |
62 | // Return 'false' if not able to set the parameter. | 62 | // Return 'false' if not able to set the parameter. |
63 | bool SetPhysicsParameter(string parm, float value, uint localID); | 63 | bool SetPhysicsParameter(string parm, string value, uint localID); |
64 | 64 | ||
65 | // Get parameter. | 65 | // Get parameter. |
66 | // Return 'false' if not able to get the parameter. | 66 | // Return 'false' if not able to get the parameter. |
67 | bool GetPhysicsParameter(string parm, out float value); | 67 | bool GetPhysicsParameter(string parm, out string value); |
68 | 68 | ||
69 | // Get parameter from a particular object | 69 | // Get parameter from a particular object |
70 | // TODO: | 70 | // TODO: |
71 | // bool GetPhysicsParameter(string parm, out float value, uint localID); | 71 | // bool GetPhysicsParameter(string parm, out string value, uint localID); |
72 | } | 72 | } |
73 | } | 73 | } |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index dcb2c91..7cd364b 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs | |||
@@ -349,17 +349,20 @@ namespace OpenSim.Region.Physics.Manager | |||
349 | } | 349 | } |
350 | 350 | ||
351 | /// <summary> | 351 | /// <summary> |
352 | /// Velocity of this actor. | 352 | /// The desired velocity of this actor. |
353 | /// </summary> | 353 | /// </summary> |
354 | /// <remarks> | 354 | /// <remarks> |
355 | /// Setting this provides a target velocity for physics scene updates. | 355 | /// Setting this provides a target velocity for physics scene updates. |
356 | /// Getting this returns the velocity calculated by physics scene updates, using factors such as target velocity, | 356 | /// Getting this returns the last set target. Fetch Velocity to get the current velocity. |
357 | /// time to accelerate and collisions. | ||
358 | /// </remarks> | 357 | /// </remarks> |
358 | protected Vector3 m_targetVelocity; | ||
359 | public virtual Vector3 TargetVelocity | 359 | public virtual Vector3 TargetVelocity |
360 | { | 360 | { |
361 | get { return Velocity; } | 361 | get { return m_targetVelocity; } |
362 | set { Velocity = value; } | 362 | set { |
363 | m_targetVelocity = value; | ||
364 | Velocity = m_targetVelocity; | ||
365 | } | ||
363 | } | 366 | } |
364 | 367 | ||
365 | public abstract Vector3 Velocity { get; set; } | 368 | public abstract Vector3 Velocity { get; set; } |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs index 8587a2b..8ccfda5 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs | |||
@@ -30,7 +30,7 @@ using System.Collections.Generic; | |||
30 | using System.IO; | 30 | using System.IO; |
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using Nini.Config; | 32 | using Nini.Config; |
33 | using log4net; | 33 | using log4net; |
34 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
35 | 35 | ||
36 | namespace OpenSim.Region.Physics.Manager | 36 | namespace OpenSim.Region.Physics.Manager |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index 57e2d20..20a70b4 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Region.Physics.Manager | |||
47 | public delegate void JointDeactivated(PhysicsJoint joint); | 47 | public delegate void JointDeactivated(PhysicsJoint joint); |
48 | public delegate void JointErrorMessage(PhysicsJoint joint, string message); // this refers to an "error message due to a problem", not "amount of joint constraint violation" | 48 | public delegate void JointErrorMessage(PhysicsJoint joint, string message); // this refers to an "error message due to a problem", not "amount of joint constraint violation" |
49 | 49 | ||
50 | public enum RayFilterFlags:ushort | 50 | public enum RayFilterFlags : ushort |
51 | { | 51 | { |
52 | // the flags | 52 | // the flags |
53 | water = 0x01, | 53 | water = 0x01, |
@@ -64,7 +64,7 @@ namespace OpenSim.Region.Physics.Manager | |||
64 | ClosestHit = 0x8000, | 64 | ClosestHit = 0x8000, |
65 | 65 | ||
66 | // some combinations | 66 | // some combinations |
67 | LSLPhanton = phantom | volumedtc, | 67 | LSLPhantom = phantom | volumedtc, |
68 | PrimsNonPhantom = nonphysical | physical, | 68 | PrimsNonPhantom = nonphysical | physical, |
69 | PrimsNonPhantomAgents = nonphysical | physical | agent, | 69 | PrimsNonPhantomAgents = nonphysical | physical | agent, |
70 | 70 | ||
@@ -97,13 +97,20 @@ namespace OpenSim.Region.Physics.Manager | |||
97 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 97 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
98 | 98 | ||
99 | /// <summary> | 99 | /// <summary> |
100 | /// Name of this scene. Useful in debug messages to distinguish one OdeScene instance from another. | 100 | /// A unique identifying string for this instance of the physics engine. |
101 | /// Useful in debug messages to distinguish one OdeScene instance from another. | ||
102 | /// Usually set to include the region name that the physics engine is acting for. | ||
101 | /// </summary> | 103 | /// </summary> |
102 | public string Name { get; protected set; } | 104 | public string Name { get; protected set; } |
103 | 105 | ||
106 | /// <summary> | ||
107 | /// A string identifying the family of this physics engine. Most common values returned | ||
108 | /// are "OpenDynamicsEngine" and "BulletSim" but others are possible. | ||
109 | /// </summary> | ||
110 | public string EngineType { get; protected set; } | ||
111 | |||
104 | // The only thing that should register for this event is the SceneGraph | 112 | // The only thing that should register for this event is the SceneGraph |
105 | // Anything else could cause problems. | 113 | // Anything else could cause problems. |
106 | |||
107 | public event physicsCrash OnPhysicsCrash; | 114 | public event physicsCrash OnPhysicsCrash; |
108 | 115 | ||
109 | public static PhysicsScene Null | 116 | public static PhysicsScene Null |
diff --git a/OpenSim/Region/Physics/Manager/ZeroMesher.cs b/OpenSim/Region/Physics/Manager/ZeroMesher.cs index 16846e6..80ecf66 100644 --- a/OpenSim/Region/Physics/Manager/ZeroMesher.cs +++ b/OpenSim/Region/Physics/Manager/ZeroMesher.cs | |||
@@ -64,16 +64,21 @@ namespace OpenSim.Region.Physics.Manager | |||
64 | { | 64 | { |
65 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod) | 65 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod) |
66 | { | 66 | { |
67 | return CreateMesh(primName, primShape, size, lod, false); | 67 | return CreateMesh(primName, primShape, size, lod, false, false); |
68 | } | 68 | } |
69 | 69 | ||
70 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex,bool forOde) | 70 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool shouldCache, bool convex,bool forOde) |
71 | { | 71 | { |
72 | return CreateMesh(primName, primShape, size, lod, false); | 72 | return CreateMesh(primName, primShape, size, lod, false); |
73 | } | 73 | } |
74 | 74 | ||
75 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical) | 75 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical) |
76 | { | 76 | { |
77 | return CreateMesh(primName, primShape, size, lod, false, false); | ||
78 | } | ||
79 | |||
80 | public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool shouldCache) | ||
81 | { | ||
77 | // Remove the reference to the encoded JPEG2000 data so it can be GCed | 82 | // Remove the reference to the encoded JPEG2000 data so it can be GCed |
78 | primShape.SculptData = OpenMetaverse.Utils.EmptyBytes; | 83 | primShape.SculptData = OpenMetaverse.Utils.EmptyBytes; |
79 | 84 | ||