diff --git a/project.godot b/project.godot index 83b22736..d198fa64 100644 --- a/project.godot +++ b/project.godot @@ -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" diff --git a/scenes/pribor-prd-n-1/pribor-prd-n-1.tscn b/scenes/pribor-prd-n-1/pribor-prd-n-1.tscn index 9a47eccf..d379d25f 100644 --- a/scenes/pribor-prd-n-1/pribor-prd-n-1.tscn +++ b/scenes/pribor-prd-n-1/pribor-prd-n-1.tscn @@ -168,10 +168,11 @@ patch_margin_right = 16 patch_margin_bottom = 16 [node name="ref_A1" parent="ref_ZZ0" instance=ExtResource("3_2shxq")] -offset_left = 7.0 +offset_left = 12.0 offset_top = 5.0 offset_right = 57.0 offset_bottom = 155.0 +self_size = Vector2i(45, 150) fname = "ИП5-25" rname = "A1" @@ -179,7 +180,8 @@ rname = "A1" offset_left = 56.0 offset_top = 5.0 offset_right = 106.0 -offset_bottom = 155.0 +offset_bottom = 148.0 +self_size = Vector2i(50, 143) fname = "ЯУ-07Б" rname = "A2" @@ -187,7 +189,8 @@ rname = "A2" offset_left = 102.0 offset_top = 5.0 offset_right = 152.0 -offset_bottom = 155.0 +offset_bottom = 148.0 +self_size = Vector2i(50, 143) fname = "ЭМС-Г" rname = "A3" @@ -195,7 +198,8 @@ rname = "A3" offset_left = 147.0 offset_top = 5.0 offset_right = 197.0 -offset_bottom = 155.0 +offset_bottom = 148.0 +self_size = Vector2i(50, 143) fname = "УГ" rname = "A4" @@ -203,7 +207,8 @@ rname = "A4" offset_left = 192.0 offset_top = 5.0 offset_right = 242.0 -offset_bottom = 155.0 +offset_bottom = 148.0 +self_size = Vector2i(50, 143) fname = "УКП" rname = "A5" @@ -211,7 +216,8 @@ rname = "A5" offset_left = 237.0 offset_top = 4.0 offset_right = 287.0 -offset_bottom = 154.0 +offset_bottom = 146.0 +self_size = Vector2i(50, 142) fname = "УКП" rname = "A6" diff --git a/scenes/контроль/element_v.tscn b/scenes/контроль/element_v.tscn index e07e9d4c..f11ca09c 100644 --- a/scenes/контроль/element_v.tscn +++ b/scenes/контроль/element_v.tscn @@ -17,6 +17,15 @@ extends Control @export var textures: Array[Texture] +@export var self_size: Vector2i = Vector2i(50, 150): + set(v): + self_size = v + size = v + $np_rect.size = v + _resize_children() + get: return size + + @export var fname: String: set(v): fname = v @@ -40,12 +49,13 @@ func _resize_children() -> void: func _on_nine_patch_rect_resized() -> void: size = $np_rect.size + self_size = $np_rect.size _resize_children() - func _on_resized() -> void: $np_rect.size = size + self_size = size _resize_children() diff --git a/scripts/mercator.gd b/scripts/mercator.gd index 0eb300b3..5c96db4d 100644 --- a/scripts/mercator.gd +++ b/scripts/mercator.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] ## Расстояние по горизонтали в метрах, представленное одним пикселем diff --git a/scripts/tools.gd b/scripts/tools.gd index 70d9fdd1..61a5e985 100644 --- a/scripts/tools.gd +++ b/scripts/tools.gd @@ -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() diff --git a/scripts/yemsboards.gd b/scripts/yems-boards.gd similarity index 100% rename from scripts/yemsboards.gd rename to scripts/yems-boards.gd