本文整理汇总了C#中OpenSim.Region.Framework.Scenes.SceneObjectPart.GetCameraEyeOffset方法的典型用法代码示例。如果您正苦于以下问题:C# SceneObjectPart.GetCameraEyeOffset方法的具体用法?C# SceneObjectPart.GetCameraEyeOffset怎么用?C# SceneObjectPart.GetCameraEyeOffset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenSim.Region.Framework.Scenes.SceneObjectPart
的用法示例。
在下文中一共展示了SceneObjectPart.GetCameraEyeOffset方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreatePrimParameters
/// <summary>
/// Creates the prim parameters for storing in DB.
/// </summary>
/// <param name="prim">Basic data of SceneObjectpart prim.</param>
/// <param name="sceneGroupID">The scenegroup ID.</param>
/// <param name="regionUUID">The region ID.</param>
/// <returns></returns>
private SqlParameter[] CreatePrimParameters(SceneObjectPart prim, UUID sceneGroupID, UUID regionUUID)
{
List<SqlParameter> parameters = new List<SqlParameter>();
parameters.Add(_Database.CreateParameter("UUID", prim.UUID));
parameters.Add(_Database.CreateParameter("RegionUUID", regionUUID));
parameters.Add(_Database.CreateParameter("CreationDate", prim.CreationDate));
parameters.Add(_Database.CreateParameter("Name", prim.Name));
parameters.Add(_Database.CreateParameter("SceneGroupID", sceneGroupID));
// the UUID of the root part for this SceneObjectGroup
// various text fields
parameters.Add(_Database.CreateParameter("Text", prim.Text));
parameters.Add(_Database.CreateParameter("ColorR", prim.Color.R));
parameters.Add(_Database.CreateParameter("ColorG", prim.Color.G));
parameters.Add(_Database.CreateParameter("ColorB", prim.Color.B));
parameters.Add(_Database.CreateParameter("ColorA", prim.Color.A));
parameters.Add(_Database.CreateParameter("Description", prim.Description));
parameters.Add(_Database.CreateParameter("SitName", prim.SitName));
parameters.Add(_Database.CreateParameter("TouchName", prim.TouchName));
// permissions
parameters.Add(_Database.CreateParameter("ObjectFlags", (uint)prim.Flags));
parameters.Add(_Database.CreateParameter("CreatorID", prim.CreatorID));
parameters.Add(_Database.CreateParameter("OwnerID", prim.OwnerID));
parameters.Add(_Database.CreateParameter("GroupID", prim.GroupID));
parameters.Add(_Database.CreateParameter("LastOwnerID", prim.LastOwnerID));
parameters.Add(_Database.CreateParameter("OwnerMask", prim.OwnerMask));
parameters.Add(_Database.CreateParameter("NextOwnerMask", prim.NextOwnerMask));
parameters.Add(_Database.CreateParameter("GroupMask", prim.GroupMask));
parameters.Add(_Database.CreateParameter("EveryoneMask", prim.EveryoneMask));
parameters.Add(_Database.CreateParameter("BaseMask", prim.BaseMask));
// vectors
parameters.Add(_Database.CreateParameter("PositionX", prim.OffsetPosition.X));
parameters.Add(_Database.CreateParameter("PositionY", prim.OffsetPosition.Y));
parameters.Add(_Database.CreateParameter("PositionZ", prim.OffsetPosition.Z));
parameters.Add(_Database.CreateParameter("GroupPositionX", prim.GroupPosition.X));
parameters.Add(_Database.CreateParameter("GroupPositionY", prim.GroupPosition.Y));
parameters.Add(_Database.CreateParameter("GroupPositionZ", prim.GroupPosition.Z));
parameters.Add(_Database.CreateParameter("VelocityX", prim.Velocity.X));
parameters.Add(_Database.CreateParameter("VelocityY", prim.Velocity.Y));
parameters.Add(_Database.CreateParameter("VelocityZ", prim.Velocity.Z));
parameters.Add(_Database.CreateParameter("AngularVelocityX", prim.AngularVelocity.X));
parameters.Add(_Database.CreateParameter("AngularVelocityY", prim.AngularVelocity.Y));
parameters.Add(_Database.CreateParameter("AngularVelocityZ", prim.AngularVelocity.Z));
parameters.Add(_Database.CreateParameter("AccelerationX", prim.Acceleration.X));
parameters.Add(_Database.CreateParameter("AccelerationY", prim.Acceleration.Y));
parameters.Add(_Database.CreateParameter("AccelerationZ", prim.Acceleration.Z));
// quaternions
parameters.Add(_Database.CreateParameter("RotationX", prim.RotationOffset.X));
parameters.Add(_Database.CreateParameter("RotationY", prim.RotationOffset.Y));
parameters.Add(_Database.CreateParameter("RotationZ", prim.RotationOffset.Z));
parameters.Add(_Database.CreateParameter("RotationW", prim.RotationOffset.W));
// Sit target
Vector3 sitTargetPos = prim.SitTargetPositionLL;
parameters.Add(_Database.CreateParameter("SitTargetOffsetX", sitTargetPos.X));
parameters.Add(_Database.CreateParameter("SitTargetOffsetY", sitTargetPos.Y));
parameters.Add(_Database.CreateParameter("SitTargetOffsetZ", sitTargetPos.Z));
Quaternion sitTargetOrient = prim.SitTargetOrientationLL;
parameters.Add(_Database.CreateParameter("SitTargetOrientW", sitTargetOrient.W));
parameters.Add(_Database.CreateParameter("SitTargetOrientX", sitTargetOrient.X));
parameters.Add(_Database.CreateParameter("SitTargetOrientY", sitTargetOrient.Y));
parameters.Add(_Database.CreateParameter("SitTargetOrientZ", sitTargetOrient.Z));
parameters.Add(_Database.CreateParameter("PayPrice", prim.PayPrice[0]));
parameters.Add(_Database.CreateParameter("PayButton1", prim.PayPrice[1]));
parameters.Add(_Database.CreateParameter("PayButton2", prim.PayPrice[2]));
parameters.Add(_Database.CreateParameter("PayButton3", prim.PayPrice[3]));
parameters.Add(_Database.CreateParameter("PayButton4", prim.PayPrice[4]));
if ((prim.SoundFlags & 1) != 0) // Looped
{
parameters.Add(_Database.CreateParameter("LoopedSound", prim.Sound));
parameters.Add(_Database.CreateParameter("LoopedSoundGain", prim.SoundGain));
}
else
{
parameters.Add(_Database.CreateParameter("LoopedSound", UUID.Zero));
parameters.Add(_Database.CreateParameter("LoopedSoundGain", 0.0f));
}
parameters.Add(_Database.CreateParameter("TextureAnimation", prim.TextureAnimation));
parameters.Add(_Database.CreateParameter("ParticleSystem", prim.ParticleSystem));
parameters.Add(_Database.CreateParameter("OmegaX", prim.AngularVelocity.X));
parameters.Add(_Database.CreateParameter("OmegaY", prim.AngularVelocity.Y));
parameters.Add(_Database.CreateParameter("OmegaZ", prim.AngularVelocity.Z));
parameters.Add(_Database.CreateParameter("CameraEyeOffsetX", prim.GetCameraEyeOffset().X));
parameters.Add(_Database.CreateParameter("CameraEyeOffsetY", prim.GetCameraEyeOffset().Y));
parameters.Add(_Database.CreateParameter("CameraEyeOffsetZ", prim.GetCameraEyeOffset().Z));
parameters.Add(_Database.CreateParameter("CameraAtOffsetX", prim.GetCameraAtOffset().X));
//.........这里部分代码省略.........
示例2: fillPrimRow
// private void fillTerrainRow(DataRow row, UUID regionUUID, int rev, double[,] val)
// {
// row["RegionUUID"] = regionUUID;
// row["Revision"] = rev;
// MemoryStream str = new MemoryStream(((int)Constants.RegionSize * (int)Constants.RegionSize)*sizeof (double));
// BinaryWriter bw = new BinaryWriter(str);
// // TODO: COMPATIBILITY - Add byte-order conversions
// for (int x = 0; x < (int)Constants.RegionSize; x++)
// for (int y = 0; y < (int)Constants.RegionSize; y++)
// bw.Write(val[x, y]);
// row["Heightfield"] = str.ToArray();
// }
/// <summary>
///
/// </summary>
/// <param name="row"></param>
/// <param name="prim"></param>
/// <param name="sceneGroupID"></param>
/// <param name="regionUUID"></param>
private static void fillPrimRow(DataRow row, SceneObjectPart prim, UUID sceneGroupID, UUID regionUUID)
{
row["UUID"] = prim.UUID.ToString();
row["RegionUUID"] = regionUUID.ToString();
row["CreationDate"] = prim.CreationDate;
row["Name"] = prim.Name;
row["SceneGroupID"] = sceneGroupID.ToString();
// the UUID of the root part for this SceneObjectGroup
// various text fields
row["Text"] = prim.Text;
row["Description"] = prim.Description;
row["SitName"] = prim.SitName;
row["TouchName"] = prim.TouchName;
// permissions
row["ObjectFlags"] = prim.ObjectFlags;
row["CreatorID"] = prim.CreatorIdentification.ToString();
row["OwnerID"] = prim.OwnerID.ToString();
row["GroupID"] = prim.GroupID.ToString();
row["LastOwnerID"] = prim.LastOwnerID.ToString();
row["OwnerMask"] = prim.OwnerMask;
row["NextOwnerMask"] = prim.NextOwnerMask;
row["GroupMask"] = prim.GroupMask;
row["EveryoneMask"] = prim.EveryoneMask;
row["BaseMask"] = prim.BaseMask;
// vectors
row["PositionX"] = prim.OffsetPosition.X;
row["PositionY"] = prim.OffsetPosition.Y;
row["PositionZ"] = prim.OffsetPosition.Z;
row["GroupPositionX"] = prim.GroupPosition.X;
row["GroupPositionY"] = prim.GroupPosition.Y;
row["GroupPositionZ"] = prim.GroupPosition.Z;
row["VelocityX"] = prim.Velocity.X;
row["VelocityY"] = prim.Velocity.Y;
row["VelocityZ"] = prim.Velocity.Z;
row["AngularVelocityX"] = prim.AngularVelocity.X;
row["AngularVelocityY"] = prim.AngularVelocity.Y;
row["AngularVelocityZ"] = prim.AngularVelocity.Z;
row["AccelerationX"] = prim.Acceleration.X;
row["AccelerationY"] = prim.Acceleration.Y;
row["AccelerationZ"] = prim.Acceleration.Z;
// quaternions
row["RotationX"] = prim.RotationOffset.X;
row["RotationY"] = prim.RotationOffset.Y;
row["RotationZ"] = prim.RotationOffset.Z;
row["RotationW"] = prim.RotationOffset.W;
// Sit target
Vector3 sitTargetPos = prim.SitTargetPositionLL;
row["SitTargetOffsetX"] = sitTargetPos.X;
row["SitTargetOffsetY"] = sitTargetPos.Y;
row["SitTargetOffsetZ"] = sitTargetPos.Z;
Quaternion sitTargetOrient = prim.SitTargetOrientationLL;
row["SitTargetOrientW"] = sitTargetOrient.W;
row["SitTargetOrientX"] = sitTargetOrient.X;
row["SitTargetOrientY"] = sitTargetOrient.Y;
row["SitTargetOrientZ"] = sitTargetOrient.Z;
row["ColorR"] = Convert.ToInt32(prim.Color.R);
row["ColorG"] = Convert.ToInt32(prim.Color.G);
row["ColorB"] = Convert.ToInt32(prim.Color.B);
row["ColorA"] = Convert.ToInt32(prim.Color.A);
row["PayPrice"] = prim.PayPrice[0];
row["PayButton1"] = prim.PayPrice[1];
row["PayButton2"] = prim.PayPrice[2];
row["PayButton3"] = prim.PayPrice[3];
row["PayButton4"] = prim.PayPrice[4];
row["TextureAnimation"] = Convert.ToBase64String(prim.TextureAnimation);
row["ParticleSystem"] = Convert.ToBase64String(prim.ParticleSystem);
row["OmegaX"] = prim.AngularVelocity.X;
row["OmegaY"] = prim.AngularVelocity.Y;
row["OmegaZ"] = prim.AngularVelocity.Z;
row["CameraEyeOffsetX"] = prim.GetCameraEyeOffset().X;
row["CameraEyeOffsetY"] = prim.GetCameraEyeOffset().Y;
row["CameraEyeOffsetZ"] = prim.GetCameraEyeOffset().Z;
//.........这里部分代码省略.........
示例3: FillPrimCommand
/// <summary>
/// Fill the prim command with prim values
/// </summary>
/// <param name="row"></param>
/// <param name="prim"></param>
/// <param name="sceneGroupID"></param>
/// <param name="regionUUID"></param>
private void FillPrimCommand(MySqlCommand cmd, SceneObjectPart prim, UUID sceneGroupID, UUID regionUUID)
{
cmd.Parameters.AddWithValue("UUID", prim.UUID.ToString());
cmd.Parameters.AddWithValue("RegionUUID", regionUUID.ToString());
cmd.Parameters.AddWithValue("CreationDate", prim.CreationDate);
cmd.Parameters.AddWithValue("Name", prim.Name);
cmd.Parameters.AddWithValue("SceneGroupID", sceneGroupID.ToString());
// the UUID of the root part for this SceneObjectGroup
// various text fields
cmd.Parameters.AddWithValue("Text", prim.Text);
cmd.Parameters.AddWithValue("ColorR", prim.Color.R);
cmd.Parameters.AddWithValue("ColorG", prim.Color.G);
cmd.Parameters.AddWithValue("ColorB", prim.Color.B);
cmd.Parameters.AddWithValue("ColorA", prim.Color.A);
cmd.Parameters.AddWithValue("Description", prim.Description);
cmd.Parameters.AddWithValue("SitName", prim.SitName);
cmd.Parameters.AddWithValue("TouchName", prim.TouchName);
// permissions
cmd.Parameters.AddWithValue("ObjectFlags", prim.ObjectFlags);
cmd.Parameters.AddWithValue("CreatorID", prim.CreatorID.ToString());
cmd.Parameters.AddWithValue("OwnerID", prim.OwnerID.ToString());
cmd.Parameters.AddWithValue("GroupID", prim.GroupID.ToString());
cmd.Parameters.AddWithValue("LastOwnerID", prim.LastOwnerID.ToString());
cmd.Parameters.AddWithValue("OwnerMask", prim.OwnerMask);
cmd.Parameters.AddWithValue("NextOwnerMask", prim.NextOwnerMask);
cmd.Parameters.AddWithValue("GroupMask", prim.GroupMask);
cmd.Parameters.AddWithValue("EveryoneMask", prim.EveryoneMask);
cmd.Parameters.AddWithValue("BaseMask", prim.BaseMask);
// vectors
cmd.Parameters.AddWithValue("PositionX", (double)prim.OffsetPosition.X);
cmd.Parameters.AddWithValue("PositionY", (double)prim.OffsetPosition.Y);
cmd.Parameters.AddWithValue("PositionZ", (double)prim.OffsetPosition.Z);
cmd.Parameters.AddWithValue("GroupPositionX", (double)prim.GroupPosition.X);
cmd.Parameters.AddWithValue("GroupPositionY", (double)prim.GroupPosition.Y);
cmd.Parameters.AddWithValue("GroupPositionZ", (double)prim.GroupPosition.Z);
cmd.Parameters.AddWithValue("VelocityX", (double)prim.Velocity.X);
cmd.Parameters.AddWithValue("VelocityY", (double)prim.Velocity.Y);
cmd.Parameters.AddWithValue("VelocityZ", (double)prim.Velocity.Z);
cmd.Parameters.AddWithValue("AngularVelocityX", (double)prim.AngularVelocity.X);
cmd.Parameters.AddWithValue("AngularVelocityY", (double)prim.AngularVelocity.Y);
cmd.Parameters.AddWithValue("AngularVelocityZ", (double)prim.AngularVelocity.Z);
cmd.Parameters.AddWithValue("AccelerationX", (double)prim.Acceleration.X);
cmd.Parameters.AddWithValue("AccelerationY", (double)prim.Acceleration.Y);
cmd.Parameters.AddWithValue("AccelerationZ", (double)prim.Acceleration.Z);
// quaternions
cmd.Parameters.AddWithValue("RotationX", (double)prim.RotationOffset.X);
cmd.Parameters.AddWithValue("RotationY", (double)prim.RotationOffset.Y);
cmd.Parameters.AddWithValue("RotationZ", (double)prim.RotationOffset.Z);
cmd.Parameters.AddWithValue("RotationW", (double)prim.RotationOffset.W);
// Sit target
Vector3 sitTargetPos = prim.SitTargetPositionLL;
cmd.Parameters.AddWithValue("SitTargetOffsetX", (double)sitTargetPos.X);
cmd.Parameters.AddWithValue("SitTargetOffsetY", (double)sitTargetPos.Y);
cmd.Parameters.AddWithValue("SitTargetOffsetZ", (double)sitTargetPos.Z);
Quaternion sitTargetOrient = prim.SitTargetOrientationLL;
cmd.Parameters.AddWithValue("SitTargetOrientW", (double)sitTargetOrient.W);
cmd.Parameters.AddWithValue("SitTargetOrientX", (double)sitTargetOrient.X);
cmd.Parameters.AddWithValue("SitTargetOrientY", (double)sitTargetOrient.Y);
cmd.Parameters.AddWithValue("SitTargetOrientZ", (double)sitTargetOrient.Z);
cmd.Parameters.AddWithValue("PayPrice", prim.PayPrice[0]);
cmd.Parameters.AddWithValue("PayButton1", prim.PayPrice[1]);
cmd.Parameters.AddWithValue("PayButton2", prim.PayPrice[2]);
cmd.Parameters.AddWithValue("PayButton3", prim.PayPrice[3]);
cmd.Parameters.AddWithValue("PayButton4", prim.PayPrice[4]);
if ((prim.SoundFlags & 1) != 0) // Looped
{
cmd.Parameters.AddWithValue("LoopedSound", prim.Sound.ToString());
cmd.Parameters.AddWithValue("LoopedSoundGain", prim.SoundGain);
}
else
{
cmd.Parameters.AddWithValue("LoopedSound", UUID.Zero);
cmd.Parameters.AddWithValue("LoopedSoundGain", 0.0f);
}
cmd.Parameters.AddWithValue("TextureAnimation", prim.TextureAnimation);
cmd.Parameters.AddWithValue("ParticleSystem", prim.ParticleSystem);
cmd.Parameters.AddWithValue("OmegaX", (double)prim.RotationalVelocity.X);
cmd.Parameters.AddWithValue("OmegaY", (double)prim.RotationalVelocity.Y);
cmd.Parameters.AddWithValue("OmegaZ", (double)prim.RotationalVelocity.Z);
cmd.Parameters.AddWithValue("CameraEyeOffsetX", (double)prim.GetCameraEyeOffset().X);
cmd.Parameters.AddWithValue("CameraEyeOffsetY", (double)prim.GetCameraEyeOffset().Y);
cmd.Parameters.AddWithValue("CameraEyeOffsetZ", (double)prim.GetCameraEyeOffset().Z);
cmd.Parameters.AddWithValue("CameraAtOffsetX", (double)prim.GetCameraAtOffset().X);
cmd.Parameters.AddWithValue("CameraAtOffsetY", (double)prim.GetCameraAtOffset().Y);
cmd.Parameters.AddWithValue("CameraAtOffsetZ", (double)prim.GetCameraAtOffset().Z);
//.........这里部分代码省略.........
示例4: ContinueSitAsRootAgent
private void ContinueSitAsRootAgent(IClientAPI client, SceneObjectPart part, Vector3 offset)
{
Vector3 pos = new Vector3();
Quaternion sitOrientation = Quaternion.Identity;
Vector3 cameraEyeOffset = Vector3.Zero;
Vector3 cameraAtOffset = Vector3.Zero;
bool forceMouselook = false;
DumpDebug("ContinueSitAsRootAgent", "n/a");
if (part != null)
{
lock (m_posInfo)
{
part.SitTargetAvatar = client.AgentId;
sitOrientation = part.SitTargetOrientation;
pos = part.AbsolutePosition + offset;
cameraAtOffset = part.GetCameraAtOffset();
cameraEyeOffset = part.GetCameraEyeOffset();
forceMouselook = part.GetForceMouselook();
m_requestedSitTargetUUID = part.UUID;
m_requestedSitTargetID = part.LocalId;
Vector3 sitTargetPos = part.SitTargetPosition;
Quaternion sitTargetOrient = part.SitTargetOrientation;
Vector3 newPos = sitTargetPos;
newPos += m_sitTargetCorrectionOffset;
m_bodyRot = sitTargetOrient;
//Rotation = sitTargetOrient;
SetAgentPositionInfo(true, newPos, part, part.AbsolutePosition, Vector3.Zero);
}
//m_animPersistUntil = 0; // abort any timed animation
// Avatar has arrived on prim
int avatarsRemainingOnPrim = part.ParentGroup.RidingAvatarArrivedFromOtherSim();
if (avatarsRemainingOnPrim > 0)
{
m_log.InfoFormat("[SCENE PRESENCE]: {0} Recognizing incoming avatar {1} seated on {2} ({3} remain)",
Scene.RegionInfo.RegionName, this.UUID.ToString(), part.ParentGroup.Name, part.ParentGroup.AvatarsToExpect);
}
m_scene.EventManager.TriggerOnCrossedAvatarReady(part, this.UUID);
//mitigation for client not getting the required immediate update for crossing objects
//part.ParentGroup.SendFullUpdateToClientImmediate(this.ControllingClient);
// Trigger any remaining events that rely on the avatar being present.
if (!part.ParentGroup.IsAttachment)
if (avatarsRemainingOnPrim == 0)
part.ParentGroup.TriggerScriptChangedEvent(Changed.REGION);
}
else
{
m_log.ErrorFormat("[SCENE PRESENCE]: ContinueSitAsRootAgent could not find seated prim {0} for agent {1}", part.UUID.ToString(), client.AgentId.ToString());
}
}