Universe.Physics.BulletSPlugin.BSTerrainManager.ClampPositionIntoKnownTerrain C# (CSharp) Method

ClampPositionIntoKnownTerrain() public method

public ClampPositionIntoKnownTerrain ( System.Vector3 pPos ) : System.Vector3
pPos System.Vector3
return System.Vector3
        public Vector3 ClampPositionIntoKnownTerrain(Vector3 pPos)
        {
            Vector3 ret = pPos;

            // First, base addresses are never negative so correct for that possible problem.
            if (ret.X < 0f || ret.Y < 0f)
            {
                ret.X = Util.Clamp<float>(ret.X, 0f, 1000000f);
                ret.Y = Util.Clamp<float>(ret.Y, 0f, 1000000f);
                DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,zeroingNegXorY,oldPos={1},newPos={2}",
                    BSScene.DetailLogZero, pPos, ret);
            }
            if (ret.X >= m_worldMax.X || ret.Y >= m_worldMax.Y)
            {
                ret.X = Util.Clamp<float>(ret.X, ret.X, m_worldMax.X);
                ret.Y = Util.Clamp<float>(ret.Y, ret.X, m_worldMax.Y);
                DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,maxingPosXorY,oldPos={1},newPos={2}",
                    BSScene.DetailLogZero, pPos, ret);
            }

            return ret;
        }