* On Ray casting. Now returning the face normal of the collision face.

0.6.0-stable
Teravus Ovares 2008-03-25 16:09:43 +00:00
parent ba2de258f4
commit 3d1b4f8578
3 changed files with 6 additions and 6 deletions

View File

@ -455,7 +455,7 @@ namespace OpenSim.Region.Capabilities
// "ScriptTaskInventory response: {0}",
// LLSDHelpers.SerialiseLLSDReply(uploadResponse)));
return LLSDHelpers.SerialiseLLSDReply("<llsd><map><key>parcel_local_id</key><integer>16</integer><key>region_name</key><string>Limbo</string><key>voice_credentials</key><map><key>channel_uri</key><string>sip:confctl-49730-1@bhr.vivox.com</string></map></map></llsd>");
return LLSDHelpers.SerialiseLLSDReply("<llsd><map><key>parcel_local_id</key><integer>16</integer><key>region_name</key><string>Teravus Test</string><key>voice_credentials</key><map><key>channel_uri</key><string>sip:conference@192.168.1.127\nsip:user@192.168.1.127</string></map></map></llsd>");
}
catch (Exception e)
{
@ -501,7 +501,7 @@ namespace OpenSim.Region.Capabilities
// "ScriptTaskInventory response: {0}",
// LLSDHelpers.SerialiseLLSDReply(uploadResponse)));
return LLSDHelpers.SerialiseLLSDReply("<llsd><map><key>events</key><array><map><key>body</key><map><key>major_version</key><integer>1</integer><key>minor_version</key><integer>0</integer><key>region_name</key><string>Cathedral</string></map><key>message</key><string>RequiredVoiceVersion</string></map></array><key>id</key><integer>152477222</integer></map></llsd>");
return LLSDHelpers.SerialiseLLSDReply("<llsd><map><key>events</key><array><map><key>body</key><map><key>major_version</key><integer>1</integer><key>minor_version</key><integer>0</integer><key>region_name</key><string>Teravus Test</string></map><key>message</key><string>RequiredVoiceVersion</string></map></array><key>id</key><integer>152477222</integer></map></llsd>");
}
catch (Exception e)
{

View File

@ -228,7 +228,7 @@ namespace OpenSim.Region.Environment.Scenes
public class EntityIntersection
{
public Vector3 ipoint = new Vector3(0, 0, 0);
public float normal = 0;
public Vector3 normal = new Vector3(0, 0, 0);
public bool HitTF = false;
public SceneObjectPart obj;
public float distance = 0;
@ -237,7 +237,7 @@ namespace OpenSim.Region.Environment.Scenes
{
}
public EntityIntersection(Vector3 _ipoint, float _normal, bool _HitTF)
public EntityIntersection(Vector3 _ipoint, Vector3 _normal, bool _HitTF)
{
ipoint = _ipoint;
normal = _normal;

View File

@ -953,7 +953,7 @@ namespace OpenSim.Region.Environment.Scenes
// Normal is calculated by the difference and then normalizing the result
Vector3 normalpart = ipoint - vAbsolutePosition;
returnresult.normal = normalpart.Normalize();
returnresult.normal = normalpart / normalpart.Length;
// It's funny how the LLVector3 object has a Distance function, but the Axiom.Math object doesnt.
// I can write a function to do it.. but I like the fact that this one is Static.
@ -1261,7 +1261,7 @@ namespace OpenSim.Region.Environment.Scenes
returnresult.HitTF = true;
returnresult.ipoint = q;
//m_log.Info("[POINT]: " + q.ToString());
returnresult.normal = 1;
returnresult.normal = normals[i];
}
}