コード例 #1
0
    /* calculates the region this OB occupies while orbiting */
    public void CalculateOrbitRegion()
    {
        if (!_path)
        {
            return;
        }

        _region = new OrbitRegion
        {
            upperRad1 = _path.Radius1,
            upperRad2 = _path.Radius2,
            lowerRad1 = _path.Radius1,
            lowerRad2 = _path.Radius2
        };

        if (this.NumSatellites <= 0)
        {
            _region += this.naturalMaxSize;
        }
        else
        {
            _region += this.GetFurthestSatellite().Region;
        }

        if (debugMode)
        {
            RenderRegion();
        }
    }
コード例 #2
0
    public static OrbitRegion operator+(OrbitRegion a, OrbitRegion b)
    {
        OrbitRegion region = new OrbitRegion
        {
            upperRad1 = a.upperRad1 + b.upperRad1,
            upperRad2 = a.upperRad2 + b.upperRad2,
            lowerRad1 = a.lowerRad1 - b.lowerRad1,
            lowerRad2 = a.lowerRad2 - b.lowerRad2
        };

        return(region);
    }
コード例 #3
0
    public static OrbitRegion operator+(OrbitRegion a, float f)
    {
        OrbitRegion region = new OrbitRegion
        {
            upperRad1 = a.upperRad1 + f,
            upperRad2 = a.upperRad2 + f,
            lowerRad1 = a.lowerRad1 - f,
            lowerRad2 = a.lowerRad2 - f
        };

        return(region);
    }