diff options
author | Robert Adams | 2011-08-18 14:32:09 -0700 |
---|---|---|
committer | Mic Bowman | 2011-08-18 14:32:09 -0700 |
commit | fef73a1a1011126d4df2da2279caae9cef7984d1 (patch) | |
tree | af54473f37f419648b98c4b8ddc815ff7aea98a3 /OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs | |
parent | BulletSim: fix problem with not convex hulling large objects by creating unit... (diff) | |
download | opensim-SC_OLD-fef73a1a1011126d4df2da2279caae9cef7984d1.zip opensim-SC_OLD-fef73a1a1011126d4df2da2279caae9cef7984d1.tar.gz opensim-SC_OLD-fef73a1a1011126d4df2da2279caae9cef7984d1.tar.bz2 opensim-SC_OLD-fef73a1a1011126d4df2da2279caae9cef7984d1.tar.xz |
BulletSim: add runtime setting of physics parameters. Update default values.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs index 819fce1..bf953df 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs | |||
@@ -51,9 +51,6 @@ public struct ShapeData | |||
51 | SHAPE_SPHERE = 4, | 51 | SHAPE_SPHERE = 4, |
52 | SHAPE_HULL = 5 | 52 | SHAPE_HULL = 5 |
53 | }; | 53 | }; |
54 | // note that bools are passed as ints since bool size changes by language | ||
55 | public const int numericTrue = 1; | ||
56 | public const int numericFalse = 0; | ||
57 | public uint ID; | 54 | public uint ID; |
58 | public PhysicsShapeType Type; | 55 | public PhysicsShapeType Type; |
59 | public Vector3 Position; | 56 | public Vector3 Position; |
@@ -67,6 +64,10 @@ public struct ShapeData | |||
67 | public float Restitution; | 64 | public float Restitution; |
68 | public int Collidable; | 65 | public int Collidable; |
69 | public int Static; // true if a static object. Otherwise gravity, etc. | 66 | public int Static; // true if a static object. Otherwise gravity, etc. |
67 | |||
68 | // note that bools are passed as ints since bool size changes by language and architecture | ||
69 | public const int numericTrue = 1; | ||
70 | public const int numericFalse = 0; | ||
70 | } | 71 | } |
71 | [StructLayout(LayoutKind.Sequential)] | 72 | [StructLayout(LayoutKind.Sequential)] |
72 | public struct SweepHit | 73 | public struct SweepHit |
@@ -121,23 +122,34 @@ public struct ConfigurationParameters | |||
121 | public float ccdSweptSphereRadius; | 122 | public float ccdSweptSphereRadius; |
122 | 123 | ||
123 | public float terrainFriction; | 124 | public float terrainFriction; |
124 | public float terrainHitFriction; | 125 | public float terrainHitFraction; |
125 | public float terrainRestitution; | 126 | public float terrainRestitution; |
126 | public float avatarFriction; | 127 | public float avatarFriction; |
127 | public float avatarDensity; | 128 | public float avatarDensity; |
128 | public float avatarRestitution; | 129 | public float avatarRestitution; |
129 | public float avatarCapsuleRadius; | 130 | public float avatarCapsuleRadius; |
130 | public float avatarCapsuleHeight; | 131 | public float avatarCapsuleHeight; |
132 | |||
133 | public const float numericTrue = 1f; | ||
134 | public const float numericFalse = 0f; | ||
131 | } | 135 | } |
132 | 136 | ||
133 | static class BulletSimAPI { | 137 | static class BulletSimAPI { |
134 | 138 | ||
135 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 139 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
140 | [return: MarshalAs(UnmanagedType.LPStr)] | ||
141 | public static extern string GetVersion(); | ||
142 | |||
143 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
136 | public static extern uint Initialize(Vector3 maxPosition, IntPtr parms, | 144 | public static extern uint Initialize(Vector3 maxPosition, IntPtr parms, |
137 | int maxCollisions, IntPtr collisionArray, | 145 | int maxCollisions, IntPtr collisionArray, |
138 | int maxUpdates, IntPtr updateArray); | 146 | int maxUpdates, IntPtr updateArray); |
139 | 147 | ||
140 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 148 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
149 | public static extern bool UpdateParameter(uint worldID, uint localID, | ||
150 | [MarshalAs(UnmanagedType.LPStr)]string paramCode, float value); | ||
151 | |||
152 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
141 | public static extern void SetHeightmap(uint worldID, [MarshalAs(UnmanagedType.LPArray)] float[] heightMap); | 153 | public static extern void SetHeightmap(uint worldID, [MarshalAs(UnmanagedType.LPArray)] float[] heightMap); |
142 | 154 | ||
143 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 155 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |