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

GetSetPosTarget() protected method

protected GetSetPosTarget ( SceneObjectPart part, OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3 targetPos, OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3 fromPos, bool adjust ) : OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3
part OpenSim.Region.Framework.Scenes.SceneObjectPart
targetPos OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3
fromPos OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3
adjust bool
return OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3
        protected LSL_Vector GetSetPosTarget(SceneObjectPart part, LSL_Vector targetPos, LSL_Vector fromPos, bool adjust)
        {
            if (part == null || part.ParentGroup == null || part.ParentGroup.IsDeleted)
                return fromPos;

            // Capped movemment if distance > 10m (http://wiki.secondlife.com/wiki/LlSetPos)


            float ground = World.GetGroundHeight((float)targetPos.x, (float)targetPos.y);
            bool disable_underground_movement = m_ScriptEngine.Config.GetBoolean("DisableUndergroundMovement", true);

            if (part.ParentGroup.RootPart == part)
            {
                if ((targetPos.z < ground) && disable_underground_movement && m_host.ParentGroup.AttachmentPoint == 0)
                    targetPos.z = ground;
            }
            if (adjust)
                return SetPosAdjust(fromPos, targetPos);

            return targetPos;
        }
LSL_Api