/* 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(); } }
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); }
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); }