mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 01:35:46 +08:00
initial steps to support physical phantoms
This commit is contained in:
@@ -65,6 +65,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private bool m_isphysical;
|
||||
private bool m_isPhantom;
|
||||
private bool m_fakeisphysical;
|
||||
|
||||
protected bool m_building;
|
||||
@@ -831,9 +832,10 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
|
||||
|
||||
public OdePrim(String primName, OdeScene parent_scene, Vector3 pos, Vector3 size,
|
||||
Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical)
|
||||
Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical,bool pisPhantom,uint plocalID)
|
||||
{
|
||||
Name = primName;
|
||||
LocalID = plocalID;
|
||||
|
||||
m_vehicle = null;
|
||||
|
||||
@@ -908,6 +910,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
m_isSelected = false;
|
||||
m_delaySelect = false;
|
||||
|
||||
m_isPhantom = pisPhantom;
|
||||
|
||||
mu = parent_scene.m_materialContactsData[(int)Material.Wood].mu;
|
||||
bounce = parent_scene.m_materialContactsData[(int)Material.Wood].bounce;
|
||||
|
||||
|
||||
@@ -1140,12 +1140,29 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
OdePrim newPrim;
|
||||
lock (OdeLock)
|
||||
{
|
||||
newPrim = new OdePrim(name, this, pos, siz, rot, pbs, isphysical);
|
||||
newPrim = new OdePrim(name, this, pos, siz, rot, pbs, isphysical,false,localID);
|
||||
|
||||
lock (_prims)
|
||||
_prims.Add(newPrim);
|
||||
}
|
||||
return newPrim;
|
||||
}
|
||||
|
||||
private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation,
|
||||
PrimitiveBaseShape pbs, bool isphysical, bool isPhantom, uint localID)
|
||||
{
|
||||
Vector3 pos = position;
|
||||
Vector3 siz = size;
|
||||
Quaternion rot = rotation;
|
||||
|
||||
OdePrim newPrim;
|
||||
lock (OdeLock)
|
||||
{
|
||||
newPrim = new OdePrim(name, this, pos, siz, rot, pbs, isphysical,isPhantom,localID);
|
||||
|
||||
lock (_prims)
|
||||
_prims.Add(newPrim);
|
||||
}
|
||||
newPrim.LocalID = localID;
|
||||
return newPrim;
|
||||
}
|
||||
|
||||
@@ -1168,6 +1185,13 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
}
|
||||
}
|
||||
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position,
|
||||
Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, uint localid)
|
||||
{
|
||||
return AddPrim(primName, position, size, rotation, pbs, isPhysical, isPhantom, localid);
|
||||
}
|
||||
|
||||
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position,
|
||||
Vector3 size, Quaternion rotation, bool isPhysical, uint localid)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user