aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/Manager
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/Manager')
-rw-r--r--OpenSim/Region/Physics/Manager/IMesher.cs27
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs221
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsScene.cs72
-rw-r--r--OpenSim/Region/Physics/Manager/VehicleConstants.cs45
-rw-r--r--OpenSim/Region/Physics/Manager/ZeroMesher.cs14
5 files changed, 288 insertions, 91 deletions
diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs
index 3a9ca1b..ecc2918 100644
--- a/OpenSim/Region/Physics/Manager/IMesher.cs
+++ b/OpenSim/Region/Physics/Manager/IMesher.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Runtime.InteropServices;
30using OpenSim.Framework; 31using OpenSim.Framework;
31using OpenMetaverse; 32using OpenMetaverse;
32 33
@@ -36,6 +37,11 @@ namespace OpenSim.Region.Physics.Manager
36 { 37 {
37 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod); 38 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod);
38 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);
41 IMesh GetMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex);
42 void ReleaseMesh(IMesh mesh);
43 void ExpireReleaseMeshs();
44 void ExpireFileCache();
39 } 45 }
40 46
41 // Values for level of detail to be passed to the mesher. 47 // Values for level of detail to be passed to the mesher.
@@ -53,6 +59,25 @@ namespace OpenSim.Region.Physics.Manager
53 { 59 {
54 } 60 }
55 61
62 [Serializable()]
63 [StructLayout(LayoutKind.Explicit)]
64 public struct AMeshKey
65 {
66 [FieldOffset(0)]
67 public UUID uuid;
68 [FieldOffset(0)]
69 public ulong hashA;
70 [FieldOffset(8)]
71 public ulong hashB;
72 [FieldOffset(16)]
73 public ulong hashC;
74
75 public override string ToString()
76 {
77 return uuid.ToString() + "-" + hashC.ToString("x") ;
78 }
79 }
80
56 public interface IMesh 81 public interface IMesh
57 { 82 {
58 List<Vector3> getVertexList(); 83 List<Vector3> getVertexList();
@@ -65,5 +90,7 @@ namespace OpenSim.Region.Physics.Manager
65 void releasePinned(); 90 void releasePinned();
66 void Append(IMesh newMesh); 91 void Append(IMesh newMesh);
67 void TransformLinear(float[,] matrix, float[] offset); 92 void TransformLinear(float[,] matrix, float[] offset);
93 Vector3 GetCentroid();
94 Vector3 GetOBB();
68 } 95 }
69} 96}
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
index 34413e5..5af6373 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
@@ -43,7 +43,8 @@ namespace OpenSim.Region.Physics.Manager
43 Unknown = 0, 43 Unknown = 0,
44 Agent = 1, 44 Agent = 1,
45 Prim = 2, 45 Prim = 2,
46 Ground = 3 46 Ground = 3,
47 Water = 4
47 } 48 }
48 49
49 public enum PIDHoverType 50 public enum PIDHoverType
@@ -59,15 +60,30 @@ namespace OpenSim.Region.Physics.Manager
59 public Vector3 Position; 60 public Vector3 Position;
60 public Vector3 SurfaceNormal; 61 public Vector3 SurfaceNormal;
61 public float PenetrationDepth; 62 public float PenetrationDepth;
63 public float RelativeSpeed;
62 64
63 public ContactPoint(Vector3 position, Vector3 surfaceNormal, float penetrationDepth) 65 public ContactPoint(Vector3 position, Vector3 surfaceNormal, float penetrationDepth)
64 { 66 {
65 Position = position; 67 Position = position;
66 SurfaceNormal = surfaceNormal; 68 SurfaceNormal = surfaceNormal;
67 PenetrationDepth = penetrationDepth; 69 PenetrationDepth = penetrationDepth;
70 RelativeSpeed = 0f; // for now let this one be set explicity
68 } 71 }
69 } 72 }
70 73
74 public struct ContactData
75 {
76 public float mu;
77 public float bounce;
78 public bool softcolide;
79
80 public ContactData(float _mu, float _bounce, bool _softcolide)
81 {
82 mu = _mu;
83 bounce = _bounce;
84 softcolide = _softcolide;
85 }
86 }
71 /// <summary> 87 /// <summary>
72 /// Used to pass collision information to OnCollisionUpdate listeners. 88 /// Used to pass collision information to OnCollisionUpdate listeners.
73 /// </summary> 89 /// </summary>
@@ -99,7 +115,7 @@ namespace OpenSim.Region.Physics.Manager
99 m_objCollisionList.Add(localID, contact); 115 m_objCollisionList.Add(localID, contact);
100 } 116 }
101 else 117 else
102 { 118 {
103 if (m_objCollisionList[localID].PenetrationDepth < contact.PenetrationDepth) 119 if (m_objCollisionList[localID].PenetrationDepth < contact.PenetrationDepth)
104 m_objCollisionList[localID] = contact; 120 m_objCollisionList[localID] = contact;
105 } 121 }
@@ -135,6 +151,8 @@ namespace OpenSim.Region.Physics.Manager
135 /// </summary> 151 /// </summary>
136 public event CollisionUpdate OnCollisionUpdate; 152 public event CollisionUpdate OnCollisionUpdate;
137 153
154 public virtual void SetVehicle(object vdata) { }
155
138 public event OutOfBounds OnOutOfBounds; 156 public event OutOfBounds OnOutOfBounds;
139#pragma warning restore 67 157#pragma warning restore 67
140 158
@@ -142,11 +160,29 @@ namespace OpenSim.Region.Physics.Manager
142 { 160 {
143 get { return new NullPhysicsActor(); } 161 get { return new NullPhysicsActor(); }
144 } 162 }
163
164 public virtual bool Building { get; set; }
165
166 public virtual void getContactData(ref ContactData cdata)
167 {
168 cdata.mu = 0;
169 cdata.bounce = 0;
170 }
145 171
146 public abstract bool Stopped { get; } 172 public abstract bool Stopped { get; }
147 173
148 public abstract Vector3 Size { get; set; } 174 public abstract Vector3 Size { get; set; }
149 175
176 public virtual bool Phantom { get; set; }
177
178 public virtual bool IsVolumeDtc
179 {
180 get { return false; }
181 set { return; }
182 }
183
184 public virtual byte PhysicsShapeType { get; set; }
185
150 public abstract PrimitiveBaseShape Shape { set; } 186 public abstract PrimitiveBaseShape Shape { set; }
151 187
152 uint m_baseLocalID; 188 uint m_baseLocalID;
@@ -167,7 +203,7 @@ namespace OpenSim.Region.Physics.Manager
167 /// XXX: Bizarrely, this cannot be "Terrain" or "Water" right now unless it really is simulating terrain or 203 /// XXX: Bizarrely, this cannot be "Terrain" or "Water" right now unless it really is simulating terrain or
168 /// water. This is not a problem due to the formatting of names given by prims and avatars. 204 /// water. This is not a problem due to the formatting of names given by prims and avatars.
169 /// </remarks> 205 /// </remarks>
170 public string Name { get; protected set; } 206 public string Name { get; set; }
171 207
172 /// <summary> 208 /// <summary>
173 /// This is being used by ODE joint code. 209 /// This is being used by ODE joint code.
@@ -218,9 +254,11 @@ namespace OpenSim.Region.Physics.Manager
218 handler(e); 254 handler(e);
219 } 255 }
220 256
221 public virtual void SetMaterial (int material) 257 public virtual void SetMaterial (int material) { }
222 { 258 public virtual float Density { get; set; }
223 } 259 public virtual float GravModifier { get; set; }
260 public virtual float Friction { get; set; }
261 public virtual float Bounce { get; set; }
224 262
225 /// <summary> 263 /// <summary>
226 /// Position of this actor. 264 /// Position of this actor.
@@ -249,6 +287,51 @@ namespace OpenSim.Region.Physics.Manager
249 public abstract Vector3 GeometricCenter { get; } 287 public abstract Vector3 GeometricCenter { get; }
250 public abstract Vector3 CenterOfMass { get; } 288 public abstract Vector3 CenterOfMass { get; }
251 289
290 public virtual Vector3 OOBsize
291 {
292 get
293 {
294 Vector3 s=Size;
295 s.X *=0.5f;
296 s.Y *=0.5f;
297 s.Z *=0.5f;
298 return s;
299 }
300 }
301
302 public virtual Vector3 OOBoffset
303 {
304 get
305 {
306 return Vector3.Zero;
307 }
308 }
309
310 public virtual float OOBRadiusSQ
311 {
312 get
313 {
314 return Size.LengthSquared() * 0.25f; // ((0.5^2)
315 }
316 }
317
318
319 public virtual float PhysicsCost
320 {
321 get
322 {
323 return 0.1f;
324 }
325 }
326
327 public virtual float StreamCost
328 {
329 get
330 {
331 return 1.0f;
332 }
333 }
334
252 /// <summary> 335 /// <summary>
253 /// Velocity of this actor. 336 /// Velocity of this actor.
254 /// </summary> 337 /// </summary>
@@ -306,13 +389,21 @@ namespace OpenSim.Region.Physics.Manager
306 public abstract void SubscribeEvents(int ms); 389 public abstract void SubscribeEvents(int ms);
307 public abstract void UnSubscribeEvents(); 390 public abstract void UnSubscribeEvents();
308 public abstract bool SubscribedEvents(); 391 public abstract bool SubscribedEvents();
392
393 public virtual void AddCollisionEvent(uint CollidedWith, ContactPoint contact) { }
394
395 // Warning in a parent part it returns itself, not null
396 public virtual PhysicsActor ParentActor { get { return this; } }
397
309 } 398 }
310 399
311 public class NullPhysicsActor : PhysicsActor 400 public class NullPhysicsActor : PhysicsActor
312 { 401 {
402 private ActorTypes m_actorType = ActorTypes.Unknown;
403
313 public override bool Stopped 404 public override bool Stopped
314 { 405 {
315 get{ return false; } 406 get{ return true; }
316 } 407 }
317 408
318 public override Vector3 Position 409 public override Vector3 Position
@@ -329,6 +420,7 @@ namespace OpenSim.Region.Physics.Manager
329 420
330 public override uint LocalID 421 public override uint LocalID
331 { 422 {
423 get { return 0; }
332 set { return; } 424 set { return; }
333 } 425 }
334 426
@@ -388,50 +480,17 @@ namespace OpenSim.Region.Physics.Manager
388 set { return; } 480 set { return; }
389 } 481 }
390 482
391 public override void VehicleFloatParam(int param, float value) 483 public override void VehicleFloatParam(int param, float value) {}
392 { 484 public override void VehicleVectorParam(int param, Vector3 value) { }
393 485 public override void VehicleRotationParam(int param, Quaternion rotation) { }
394 } 486 public override void VehicleFlags(int param, bool remove) { }
487 public override void SetVolumeDetect(int param) {}
488 public override void SetMaterial(int material) {}
489 public override Vector3 CenterOfMass { get { return Vector3.Zero; }}
395 490
396 public override void VehicleVectorParam(int param, Vector3 value) 491 public override Vector3 GeometricCenter { get { return Vector3.Zero; }}
397 {
398 492
399 } 493 public override PrimitiveBaseShape Shape { set { return; }}
400
401 public override void VehicleRotationParam(int param, Quaternion rotation)
402 {
403
404 }
405
406 public override void VehicleFlags(int param, bool remove)
407 {
408
409 }
410
411 public override void SetVolumeDetect(int param)
412 {
413
414 }
415
416 public override void SetMaterial(int material)
417 {
418
419 }
420
421 public override Vector3 CenterOfMass
422 {
423 get { return Vector3.Zero; }
424 }
425
426 public override Vector3 GeometricCenter
427 {
428 get { return Vector3.Zero; }
429 }
430
431 public override PrimitiveBaseShape Shape
432 {
433 set { return; }
434 }
435 494
436 public override Vector3 Velocity 495 public override Vector3 Velocity
437 { 496 {
@@ -451,9 +510,7 @@ namespace OpenSim.Region.Physics.Manager
451 set { } 510 set { }
452 } 511 }
453 512
454 public override void CrossingFailure() 513 public override void CrossingFailure() {}
455 {
456 }
457 514
458 public override Quaternion Orientation 515 public override Quaternion Orientation
459 { 516 {
@@ -493,8 +550,20 @@ namespace OpenSim.Region.Physics.Manager
493 550
494 public override int PhysicsActorType 551 public override int PhysicsActorType
495 { 552 {
496 get { return (int) ActorTypes.Unknown; } 553 get { return (int)m_actorType; }
497 set { return; } 554 set {
555 ActorTypes type = (ActorTypes)value;
556 switch (type)
557 {
558 case ActorTypes.Ground:
559 case ActorTypes.Water:
560 m_actorType = type;
561 break;
562 default:
563 m_actorType = ActorTypes.Unknown;
564 break;
565 }
566 }
498 } 567 }
499 568
500 public override bool Kinematic 569 public override bool Kinematic
@@ -503,26 +572,11 @@ namespace OpenSim.Region.Physics.Manager
503 set { return; } 572 set { return; }
504 } 573 }
505 574
506 public override void link(PhysicsActor obj) 575 public override void link(PhysicsActor obj) { }
507 { 576 public override void delink() { }
508 } 577 public override void LockAngularMotion(Vector3 axis) { }
509 578 public override void AddForce(Vector3 force, bool pushforce) { }
510 public override void delink() 579 public override void AddAngularForce(Vector3 force, bool pushforce) { }
511 {
512 }
513
514 public override void LockAngularMotion(Vector3 axis)
515 {
516 }
517
518 public override void AddForce(Vector3 force, bool pushforce)
519 {
520 }
521
522 public override void AddAngularForce(Vector3 force, bool pushforce)
523 {
524
525 }
526 580
527 public override Vector3 RotationalVelocity 581 public override Vector3 RotationalVelocity
528 { 582 {
@@ -544,21 +598,10 @@ namespace OpenSim.Region.Physics.Manager
544 public override float APIDStrength { set { return; } } 598 public override float APIDStrength { set { return; } }
545 public override float APIDDamping { set { return; } } 599 public override float APIDDamping { set { return; } }
546 600
547 public override void SetMomentum(Vector3 momentum) 601 public override void SetMomentum(Vector3 momentum) { }
548 {
549 }
550
551 public override void SubscribeEvents(int ms)
552 {
553 602
554 } 603 public override void SubscribeEvents(int ms) { }
555 public override void UnSubscribeEvents() 604 public override void UnSubscribeEvents() { }
556 { 605 public override bool SubscribedEvents() { return false; }
557
558 }
559 public override bool SubscribedEvents()
560 {
561 return false;
562 }
563 } 606 }
564} 607}
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
index 488900e..ce269fa 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
@@ -43,6 +43,34 @@ namespace OpenSim.Region.Physics.Manager
43 public delegate void JointDeactivated(PhysicsJoint joint); 43 public delegate void JointDeactivated(PhysicsJoint joint);
44 public delegate void JointErrorMessage(PhysicsJoint joint, string message); // this refers to an "error message due to a problem", not "amount of joint constraint violation" 44 public delegate void JointErrorMessage(PhysicsJoint joint, string message); // this refers to an "error message due to a problem", not "amount of joint constraint violation"
45 45
46 public enum RayFilterFlags:ushort
47 {
48 // the flags
49 water = 0x01,
50 land = 0x02,
51 agent = 0x04,
52 nonphysical = 0x08,
53 physical = 0x10,
54 phantom = 0x20,
55 volumedtc = 0x40,
56
57 // ray cast colision control (may only work for meshs)
58 BackFaceCull = 0x4000,
59 ClosestHit = 0x8000,
60
61 // some combinations
62 LSLPhanton = phantom | volumedtc,
63 PrimsNonPhantom = nonphysical | physical,
64 PrimsNonPhantomAgents = nonphysical | physical | agent,
65
66 AllPrims = nonphysical | phantom | volumedtc | physical,
67 AllButLand = agent | nonphysical | physical | phantom | volumedtc,
68
69 ClosestAndBackCull = ClosestHit | BackFaceCull,
70
71 All = 0x3f
72 }
73
46 public delegate void RequestAssetDelegate(UUID assetID, AssetReceivedDelegate callback); 74 public delegate void RequestAssetDelegate(UUID assetID, AssetReceivedDelegate callback);
47 public delegate void AssetReceivedDelegate(AssetBase asset); 75 public delegate void AssetReceivedDelegate(AssetBase asset);
48 76
@@ -57,6 +85,8 @@ namespace OpenSim.Region.Physics.Manager
57 public Vector3 Normal; 85 public Vector3 Normal;
58 } 86 }
59 87
88
89
60 public abstract class PhysicsScene 90 public abstract class PhysicsScene
61 { 91 {
62// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 92// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -130,6 +160,25 @@ namespace OpenSim.Region.Physics.Manager
130 public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, 160 public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position,
131 Vector3 size, Quaternion rotation, bool isPhysical, uint localid); 161 Vector3 size, Quaternion rotation, bool isPhysical, uint localid);
132 162
163 public virtual PhysicsActor AddPrimShape(string primName, PhysicsActor parent, PrimitiveBaseShape pbs, Vector3 position,
164 uint localid, byte[] sdata)
165 {
166 return null;
167 }
168
169 public virtual PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position,
170 Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, uint localid)
171 {
172 return AddPrimShape(primName, pbs, position, size, rotation, isPhysical, localid);
173 }
174
175
176 public virtual PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position,
177 Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, byte shapetype, uint localid)
178 {
179 return AddPrimShape(primName, pbs, position, size, rotation, isPhysical, localid);
180 }
181
133 public virtual float TimeDilation 182 public virtual float TimeDilation
134 { 183 {
135 get { return 1.0f; } 184 get { return 1.0f; }
@@ -197,6 +246,9 @@ namespace OpenSim.Region.Physics.Manager
197 246
198 public abstract void AddPhysicsActorTaint(PhysicsActor prim); 247 public abstract void AddPhysicsActorTaint(PhysicsActor prim);
199 248
249
250 public virtual void PrepareSimulation() { }
251
200 /// <summary> 252 /// <summary>
201 /// Perform a simulation of the current physics scene over the given timestep. 253 /// Perform a simulation of the current physics scene over the given timestep.
202 /// </summary> 254 /// </summary>
@@ -241,7 +293,7 @@ namespace OpenSim.Region.Physics.Manager
241 } 293 }
242 294
243 public virtual void Combine(PhysicsScene pScene, Vector3 offset, Vector3 extents) {} 295 public virtual void Combine(PhysicsScene pScene, Vector3 offset, Vector3 extents) {}
244 296 public virtual void CombineTerrain(float[] heightMap, Vector3 pOffset) {}
245 public virtual void UnCombine(PhysicsScene pScene) {} 297 public virtual void UnCombine(PhysicsScene pScene) {}
246 298
247 /// <summary> 299 /// <summary>
@@ -279,5 +331,23 @@ namespace OpenSim.Region.Physics.Manager
279 { 331 {
280 return new List<ContactResult>(); 332 return new List<ContactResult>();
281 } 333 }
334
335 public virtual object RaycastWorld(Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags filter)
336 {
337 return null;
338 }
339
340 public virtual bool SuportsRaycastWorldFiltered()
341 {
342 return false;
343 }
344
345 public virtual void RaycastActor(PhysicsActor actor, Vector3 position, Vector3 direction, float length, RaycastCallback retMethod){}
346 public virtual void RaycastActor(PhysicsActor actor, Vector3 position, Vector3 direction, float length, int Count, RayCallback retMethod) { }
347 public virtual List<ContactResult> RaycastActor(PhysicsActor actor, Vector3 position, Vector3 direction, float length, int Count)
348 {
349 return new List<ContactResult>();
350 }
351
282 } 352 }
283} 353}
diff --git a/OpenSim/Region/Physics/Manager/VehicleConstants.cs b/OpenSim/Region/Physics/Manager/VehicleConstants.cs
index f0775c1..8e24b4c 100644
--- a/OpenSim/Region/Physics/Manager/VehicleConstants.cs
+++ b/OpenSim/Region/Physics/Manager/VehicleConstants.cs
@@ -26,6 +26,7 @@
26 */ 26 */
27 27
28using System; 28using System;
29using OpenMetaverse;
29 30
30namespace OpenSim.Region.Physics.Manager 31namespace OpenSim.Region.Physics.Manager
31{ 32{
@@ -117,5 +118,47 @@ namespace OpenSim.Region.Physics.Manager
117 NO_DEFLECTION = 16392, 118 NO_DEFLECTION = 16392,
118 LOCK_ROTATION = 32784 119 LOCK_ROTATION = 32784
119 } 120 }
120 121
122 public struct VehicleData
123 {
124 public Vehicle m_type;
125 public VehicleFlag m_flags;
126
127 // Linear properties
128 public Vector3 m_linearMotorDirection;
129 public Vector3 m_linearFrictionTimescale;
130 public float m_linearMotorDecayTimescale;
131 public float m_linearMotorTimescale;
132 public Vector3 m_linearMotorOffset;
133
134 //Angular properties
135 public Vector3 m_angularMotorDirection;
136 public float m_angularMotorTimescale;
137 public float m_angularMotorDecayTimescale;
138 public Vector3 m_angularFrictionTimescale;
139
140 //Deflection properties
141 public float m_angularDeflectionEfficiency;
142 public float m_angularDeflectionTimescale;
143 public float m_linearDeflectionEfficiency;
144 public float m_linearDeflectionTimescale;
145
146 //Banking properties
147 public float m_bankingEfficiency;
148 public float m_bankingMix;
149 public float m_bankingTimescale;
150
151 //Hover and Buoyancy properties
152 public float m_VhoverHeight;
153 public float m_VhoverEfficiency;
154 public float m_VhoverTimescale;
155 public float m_VehicleBuoyancy;
156
157 //Attractor properties
158 public float m_verticalAttractionEfficiency;
159 public float m_verticalAttractionTimescale;
160
161 // Axis
162 public Quaternion m_referenceFrame;
163 }
121} 164}
diff --git a/OpenSim/Region/Physics/Manager/ZeroMesher.cs b/OpenSim/Region/Physics/Manager/ZeroMesher.cs
index ba19db6..16846e6 100644
--- a/OpenSim/Region/Physics/Manager/ZeroMesher.cs
+++ b/OpenSim/Region/Physics/Manager/ZeroMesher.cs
@@ -67,6 +67,11 @@ namespace OpenSim.Region.Physics.Manager
67 return CreateMesh(primName, primShape, size, lod, false); 67 return CreateMesh(primName, primShape, size, lod, false);
68 } 68 }
69 69
70 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex,bool forOde)
71 {
72 return CreateMesh(primName, primShape, size, lod, false);
73 }
74
70 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)
71 { 76 {
72 // Remove the reference to the encoded JPEG2000 data so it can be GCed 77 // Remove the reference to the encoded JPEG2000 data so it can be GCed
@@ -74,5 +79,14 @@ namespace OpenSim.Region.Physics.Manager
74 79
75 return null; 80 return null;
76 } 81 }
82
83 public IMesh GetMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex)
84 {
85 return null;
86 }
87
88 public void ReleaseMesh(IMesh mesh) { }
89 public void ExpireReleaseMeshs() { }
90 public void ExpireFileCache() { }
77 } 91 }
78} 92}