Merge branch 'avination' into careminster
commit
8d9bfda727
|
@ -1561,17 +1561,42 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_doingCamRayCast = false;
|
||||
if (hitYN && localid != LocalId)
|
||||
{
|
||||
CameraConstraintActive = true;
|
||||
pNormal.X = (float)Math.Round(pNormal.X, 2);
|
||||
pNormal.Y = (float)Math.Round(pNormal.Y, 2);
|
||||
pNormal.Z = (float)Math.Round(pNormal.Z, 2);
|
||||
pNormal.Normalize();
|
||||
collisionPoint.X = (float)Math.Round(collisionPoint.X, 1);
|
||||
collisionPoint.Y = (float)Math.Round(collisionPoint.Y, 1);
|
||||
collisionPoint.Z = (float)Math.Round(collisionPoint.Z, 1);
|
||||
SceneObjectGroup group = m_scene.GetGroupByPrim(localid);
|
||||
bool IsPrim = group != null;
|
||||
if (IsPrim)
|
||||
{
|
||||
SceneObjectPart part = group.GetPart(localid);
|
||||
if (part != null && !part.VolumeDetectActive)
|
||||
{
|
||||
CameraConstraintActive = true;
|
||||
pNormal.X = (float) Math.Round(pNormal.X, 2);
|
||||
pNormal.Y = (float) Math.Round(pNormal.Y, 2);
|
||||
pNormal.Z = (float) Math.Round(pNormal.Z, 2);
|
||||
pNormal.Normalize();
|
||||
collisionPoint.X = (float) Math.Round(collisionPoint.X, 1);
|
||||
collisionPoint.Y = (float) Math.Round(collisionPoint.Y, 1);
|
||||
collisionPoint.Z = (float) Math.Round(collisionPoint.Z, 1);
|
||||
|
||||
Vector4 plane = new Vector4(pNormal.X, pNormal.Y, pNormal.Z, Vector3.Dot(collisionPoint, pNormal));
|
||||
UpdateCameraCollisionPlane(plane);
|
||||
Vector4 plane = new Vector4(pNormal.X, pNormal.Y, pNormal.Z,
|
||||
Vector3.Dot(collisionPoint, pNormal));
|
||||
UpdateCameraCollisionPlane(plane);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CameraConstraintActive = true;
|
||||
pNormal.X = (float) Math.Round(pNormal.X, 2);
|
||||
pNormal.Y = (float) Math.Round(pNormal.Y, 2);
|
||||
pNormal.Z = (float) Math.Round(pNormal.Z, 2);
|
||||
pNormal.Normalize();
|
||||
collisionPoint.X = (float) Math.Round(collisionPoint.X, 1);
|
||||
collisionPoint.Y = (float) Math.Round(collisionPoint.Y, 1);
|
||||
collisionPoint.Z = (float) Math.Round(collisionPoint.Z, 1);
|
||||
|
||||
Vector4 plane = new Vector4(pNormal.X, pNormal.Y, pNormal.Z,
|
||||
Vector3.Dot(collisionPoint, pNormal));
|
||||
UpdateCameraCollisionPlane(plane);
|
||||
}
|
||||
}
|
||||
else if (!m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) ||
|
||||
!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE))
|
||||
|
|
|
@ -512,7 +512,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
|
|||
else if (o is LSL_Types.LSLFloat)
|
||||
size += 8;
|
||||
else if (o is LSL_Types.LSLString)
|
||||
size += ((LSL_Types.LSLString)o).m_string.Length;
|
||||
size += ((LSL_Types.LSLString)o).m_string == null ? 0 : ((LSL_Types.LSLString)o).m_string.Length;
|
||||
else if (o is LSL_Types.key)
|
||||
size += ((LSL_Types.key)o).value.Length;
|
||||
else if (o is LSL_Types.Vector3)
|
||||
|
|
Loading…
Reference in New Issue