* Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.

* Warning! Physics API change. This means that the NBodySimulation needs to be updated!
* PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
0.6.1-post-fixes
Teravus Ovares 2008-12-09 11:11:16 +00:00
parent 44d133da66
commit 3844e73d27
12 changed files with 64 additions and 2 deletions

View File

@ -49,6 +49,7 @@ Patches
* devalnor-#708 * devalnor-#708
* Diva Canto * Diva Canto
* dmiles (Daxtron Labs) * dmiles (Daxtron Labs)
* Gerhard
* Godfrey * Godfrey
* Grumly57 * Grumly57
* jhurliman * jhurliman

View File

@ -2366,6 +2366,14 @@ if (m_shape != null) {
} }
} }
public void SetVolumeDetect(int param)
{
if (PhysActor != null)
{
PhysActor.SetVolumeDetect(param);
}
}
public void SetGroup(UUID groupID, IClientAPI client) public void SetGroup(UUID groupID, IClientAPI client)
{ {
_groupID = groupID; _groupID = groupID;

View File

@ -360,6 +360,11 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }

View File

@ -971,6 +971,11 @@ namespace OpenSim.Region.Physics.BulletXPlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }

View File

@ -180,6 +180,8 @@ namespace OpenSim.Region.Physics.Manager
public abstract void VehicleVectorParam(int param, PhysicsVector value); public abstract void VehicleVectorParam(int param, PhysicsVector value);
public abstract void VehicleRotationParam(int param, Quaternion rotation); public abstract void VehicleRotationParam(int param, Quaternion rotation);
public abstract void SetVolumeDetect(int param); // Allows the detection of collisions with inherently non-physical prims. see llVolumeDetect for more
public abstract PhysicsVector GeometricCenter { get; } public abstract PhysicsVector GeometricCenter { get; }
public abstract PhysicsVector CenterOfMass { get; } public abstract PhysicsVector CenterOfMass { get; }
public abstract PhysicsVector Velocity { get; set; } public abstract PhysicsVector Velocity { get; set; }
@ -303,6 +305,11 @@ namespace OpenSim.Region.Physics.Manager
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }

View File

@ -560,6 +560,10 @@ namespace OpenSim.Region.Physics.OdePlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {

View File

@ -2099,6 +2099,11 @@ namespace OpenSim.Region.Physics.OdePlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }

View File

@ -261,7 +261,7 @@ namespace OpenSim.Region.Physics.OdePlugin
public int physics_logging_interval = 0; public int physics_logging_interval = 0;
public bool physics_logging_append_existing_logfile = false; public bool physics_logging_append_existing_logfile = false;
public d.Vector3 xyz = new d.Vector3(2.1640f, -1.3079f, 1.7600f); public d.Vector3 xyz = new d.Vector3(128.1640f, 128.3079f, 25.7600f);
public d.Vector3 hpr = new d.Vector3(125.5000f, -17.0000f, 0.0000f); public d.Vector3 hpr = new d.Vector3(125.5000f, -17.0000f, 0.0000f);
/// <summary> /// <summary>

View File

@ -185,6 +185,11 @@ namespace OpenSim.Region.Physics.POSPlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }

View File

@ -142,6 +142,11 @@ namespace OpenSim.Region.Physics.POSPlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }

View File

@ -364,6 +364,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }
@ -715,6 +721,11 @@ namespace OpenSim.Region.Physics.PhysXPlugin
} }
public override void SetVolumeDetect(int param)
{
}
public override PhysicsVector CenterOfMass public override PhysicsVector CenterOfMass
{ {
get { return PhysicsVector.Zero; } get { return PhysicsVector.Zero; }

View File

@ -5671,7 +5671,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public void llVolumeDetect(int detect) public void llVolumeDetect(int detect)
{ {
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
NotImplemented("llVolumeDetect"); if (m_host.ParentGroup != null)
{
if (!m_host.ParentGroup.IsDeleted)
{
m_host.ParentGroup.RootPart.SetVolumeDetect(detect);
}
}
} }
/// <summary> /// <summary>