OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.SetPos C# (CSharp) Method

SetPos() protected method

set object position, optionally capping the distance.
protected SetPos ( SceneObjectPart part, OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3 targetPos, bool adjust ) : void
part OpenSim.Region.Framework.Scenes.SceneObjectPart
targetPos OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3
adjust bool if TRUE, will cap the distance to 10m.
return void
        protected void SetPos(SceneObjectPart part, LSL_Vector targetPos, bool adjust)
        {
            if (part == null || part.ParentGroup == null || part.ParentGroup.IsDeleted)
                return;

            LSL_Vector currentPos = GetPartLocalPos(part);
            LSL_Vector toPos = GetSetPosTarget(part, targetPos, currentPos, adjust);


            if (part.ParentGroup.RootPart == part)
            {
                SceneObjectGroup parent = part.ParentGroup;
                if (!parent.IsAttachment && !World.Permissions.CanObjectEntry(parent.UUID, false, (Vector3)toPos))
                    return;
                parent.UpdateGroupPosition((Vector3)toPos);
            }
            else
            {
                part.OffsetPosition = (Vector3)toPos;
//                SceneObjectGroup parent = part.ParentGroup;
//                parent.HasGroupChanged = true;
//                parent.ScheduleGroupForTerseUpdate();
                part.ScheduleTerseUpdate();
            }
        }
LSL_Api