Рефактор.
This commit is contained in:
@@ -40,7 +40,7 @@ capsrpb="*res://scripts/capsrpb.gd"
|
||||
table="*res://table/table.gd"
|
||||
threats="*res://scripts/threats.gd"
|
||||
yemsdevs="*res://scripts/yems-devs.gd"
|
||||
yemsboards="*res://scripts/yemsboards.gd"
|
||||
yemsboards="*res://scripts/yems-boards.gd"
|
||||
yemsconsts="*res://scripts/yems-consts.gd"
|
||||
interfer="*res://scripts/interfer.gd"
|
||||
hotkeys="*res://scripts/hotkeys.gd"
|
||||
|
||||
@@ -128,21 +128,20 @@ func find_up_left(tiles: Array):
|
||||
|
||||
|
||||
## Lon./lat. to tile numbers
|
||||
func deg2num(lat_deg: float, lon_deg: float, zoom: int):
|
||||
var lat_rad: = radians(lat_deg)
|
||||
func deg2num(lat: float, lon: float, zoom: int):
|
||||
lat = radians(lat)
|
||||
var n: = float(1 << zoom)
|
||||
var xtile: = int((lon_deg + 180.0) / 360.0 * n)
|
||||
var ytile: = int((1.0 - asinh(tan(lat_rad)) / PI) / 2.0 * n)
|
||||
var xtile: = int((lon + 180.0) / 360.0 * n)
|
||||
var ytile: = int((1.0 - asinh(tan(lat)) / PI) / 2.0 * n)
|
||||
return [xtile, ytile]
|
||||
|
||||
|
||||
## Tile numbers to lon./lat.
|
||||
func num2deg(xtile: int, ytile: int, zoom: int):
|
||||
var n: = float(1 << zoom)
|
||||
var lon_deg: = float(xtile) / n * 360.0 - 180.0
|
||||
var lat_rad: = atan(sinh(PI * (1.0 - 2.0 * float(ytile) / n)))
|
||||
var lat_deg = degrees(lat_rad)
|
||||
return [lat_deg, lon_deg]
|
||||
var lon: = float(xtile) / n * 360.0 - 180.0
|
||||
var lat: = atan(sinh(PI * (1.0 - 2.0 * float(ytile) / n)))
|
||||
return [degrees(lat), lon]
|
||||
|
||||
|
||||
## Расстояние по горизонтали в метрах, представленное одним пикселем
|
||||
|
||||
@@ -15,7 +15,8 @@ func type_is_num(val) -> bool: return (typeof(val) == TYPE_INT) or (typeof(val)
|
||||
func radians(val: float): return (val * PI) / 180.0
|
||||
|
||||
|
||||
## Возвращает значение из байтового массива в 16 битное слово
|
||||
## Возвращает значение из байтового массива в 16 битном слове[br]
|
||||
## [i]Следует использовать встроенные в[/i] [b]PackedByteArray[/b] [i]методы вместо этой функции.[/i]
|
||||
func ibytes_to_word(buf: PackedByteArray, i: int) -> int: return buf[i] + (buf[i + 1] * 256)
|
||||
|
||||
|
||||
@@ -23,18 +24,15 @@ func ibytes_to_word(buf: PackedByteArray, i: int) -> int: return buf[i] + (buf[i
|
||||
func hypot(x: float, y: float) -> float: return sqrt(x * x + y * y)
|
||||
|
||||
|
||||
## Проверяет пересечение диапазона x1, x2 с диапазоном y1, y2 """
|
||||
## Проверяет пересечение диапазона [param x1], [param x2] с диапазоном [param y1], [param y2]
|
||||
func is_overlap(x1, x2, y1, y2): return max(x1, y1) <= min(x2, y2)
|
||||
|
||||
|
||||
## Производит преобразование из декартовой в полярную систему координат
|
||||
func pos_calc(freq: float, aoa: float, pos0: Vector2, r0: float, r1: float, f0: float, f1: float):
|
||||
var df = f1 - f0
|
||||
var r = ((freq - f0) / df) * r1 + r0
|
||||
var r = ((freq - f0) / (f1 - f0)) * r1 + r0
|
||||
var aoa_rad = radians(aoa) - PI / 2.0
|
||||
var x = cos(aoa_rad) * r + pos0.x
|
||||
var y = sin(aoa_rad) * r + pos0.y
|
||||
return Vector2(x, y)
|
||||
return Vector2(cos(aoa_rad), sin(aoa_rad)) * r + pos0
|
||||
|
||||
|
||||
## Отсекает значение до заданного диапазона
|
||||
@@ -44,7 +42,7 @@ func clip_value(val, val_min, val_max):
|
||||
return val
|
||||
|
||||
|
||||
## Возвращает массив с именами членов класса [param obj]
|
||||
## Возвращает массив с именами членов [param obj]
|
||||
func get_members_names(obj: Object) -> Array:
|
||||
var pl = obj.get_property_list()
|
||||
var names: = Array()
|
||||
|
||||
Reference in New Issue
Block a user