From 46491f8e2fc233fc6457a2631386d2745a03aa4a Mon Sep 17 00:00:00 2001 From: Hartmut Seichter Date: Tue, 8 Jul 2025 08:49:36 +0200 Subject: [PATCH] rename to VRPN_Client to make sure there is no confusion --- addons/vrpn/examples/optitrack.tscn | 10 +++--- addons/vrpn/examples/spin_tracker.tscn | 18 +++++----- addons/vrpn/scripts/VRPN_Button.gd | 6 ++-- .../vrpn/scripts/{VRPN.gd => VRPN_Client.gd} | 34 +++++++++---------- .../{VRPN.gd.uid => VRPN_Client.gd.uid} | 0 addons/vrpn/scripts/VRPN_Tracker.gd | 15 ++++---- 6 files changed, 41 insertions(+), 42 deletions(-) rename addons/vrpn/scripts/{VRPN.gd => VRPN_Client.gd} (91%) rename addons/vrpn/scripts/{VRPN.gd.uid => VRPN_Client.gd.uid} (100%) diff --git a/addons/vrpn/examples/optitrack.tscn b/addons/vrpn/examples/optitrack.tscn index f1ee4d5..3c4e20b 100644 --- a/addons/vrpn/examples/optitrack.tscn +++ b/addons/vrpn/examples/optitrack.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://en7tpf1d6yak"] -[ext_resource type="Script" uid="uid://dmq3i7qmo1qe0" path="res://addons/vrpn/scripts/VRPN.gd" id="1_jrm7s"] +[ext_resource type="Script" uid="uid://dmq3i7qmo1qe0" path="res://addons/vrpn/scripts/VRPN_Client.gd" id="1_jrm7s"] [ext_resource type="Script" uid="uid://dpj1wrvfsiq4v" path="res://addons/vrpn/scripts/VRPN_Tracker.gd" id="2_fp2uy"] [ext_resource type="PackedScene" uid="uid://b426fy7d6jw2d" path="res://addons/vrpn/assets/axis.blend" id="3_73ywu"] @@ -23,17 +23,17 @@ shadow_enabled = true script = ExtResource("1_jrm7s") vrpn_server = "212.201.64.122" -[node name="RB1" type="Node3D" parent="Root/VRPN" node_paths=PackedStringArray("vrpn")] +[node name="RB1" type="Node3D" parent="Root/VRPN" node_paths=PackedStringArray("vrpn_client")] script = ExtResource("2_fp2uy") -vrpn = NodePath("..") +vrpn_client = NodePath("..") tracker_name = "RB1" [node name="axis" parent="Root/VRPN/RB1" instance=ExtResource("3_73ywu")] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) -[node name="RB2" type="Node3D" parent="Root/VRPN" node_paths=PackedStringArray("vrpn")] +[node name="RB2" type="Node3D" parent="Root/VRPN" node_paths=PackedStringArray("vrpn_client")] script = ExtResource("2_fp2uy") -vrpn = NodePath("..") +vrpn_client = NodePath("..") tracker_name = "RB2" [node name="axis" parent="Root/VRPN/RB2" instance=ExtResource("3_73ywu")] diff --git a/addons/vrpn/examples/spin_tracker.tscn b/addons/vrpn/examples/spin_tracker.tscn index a02eceb..a75fc4c 100644 --- a/addons/vrpn/examples/spin_tracker.tscn +++ b/addons/vrpn/examples/spin_tracker.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://bj5ykdjle10tt"] -[ext_resource type="Script" uid="uid://dmq3i7qmo1qe0" path="res://addons/vrpn/scripts/VRPN.gd" id="2_24d08"] +[ext_resource type="Script" uid="uid://dmq3i7qmo1qe0" path="res://addons/vrpn/scripts/VRPN_Client.gd" id="2_24d08"] [ext_resource type="Script" uid="uid://dpj1wrvfsiq4v" path="res://addons/vrpn/scripts/VRPN_Tracker.gd" id="2_170dk"] [ext_resource type="PackedScene" uid="uid://b426fy7d6jw2d" path="res://addons/vrpn/assets/axis.blend" id="3_170dk"] [ext_resource type="Script" uid="uid://bmlyip5xa5df4" path="res://addons/vrpn/scripts/VRPN_Button.gd" id="4_j4l28"] @@ -28,9 +28,9 @@ mesh = SubResource("PlaneMesh_24d08") [node name="SpinTracker" type="Node3D" parent="Root"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.764802, 0) -[node name="Tracker1" type="Node3D" parent="Root/SpinTracker" node_paths=PackedStringArray("vrpn")] +[node name="Tracker1" type="Node3D" parent="Root/SpinTracker" node_paths=PackedStringArray("vrpn_client")] script = ExtResource("2_170dk") -vrpn = NodePath("../../VRPN") +vrpn_client = NodePath("../../VRPN") tracker_name = "Tracker1" tracker_use_position = false @@ -44,9 +44,9 @@ text = "Y-Axis" [node name="Offset2" type="Node3D" parent="Root/SpinTracker"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0) -[node name="Tracker2" type="Node3D" parent="Root/SpinTracker/Offset2" node_paths=PackedStringArray("vrpn")] +[node name="Tracker2" type="Node3D" parent="Root/SpinTracker/Offset2" node_paths=PackedStringArray("vrpn_client")] script = ExtResource("2_170dk") -vrpn = NodePath("../../../VRPN") +vrpn_client = NodePath("../../../VRPN") tracker_name = "Tracker2" tracker_use_position = false @@ -60,9 +60,9 @@ text = "Z-Axis" [node name="Offset0" type="Node3D" parent="Root/SpinTracker"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 0) -[node name="Tracker0" type="Node3D" parent="Root/SpinTracker/Offset0" node_paths=PackedStringArray("vrpn")] +[node name="Tracker0" type="Node3D" parent="Root/SpinTracker/Offset0" node_paths=PackedStringArray("vrpn_client")] script = ExtResource("2_170dk") -vrpn = NodePath("../../../VRPN") +vrpn_client = NodePath("../../../VRPN") tracker_use_position = false [node name="axis" parent="Root/SpinTracker/Offset0/Tracker0" instance=ExtResource("3_170dk")] @@ -72,6 +72,6 @@ transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.769847, 0) text = "X-Axis" -[node name="Button0" type="Node3D" parent="Root/SpinTracker" node_paths=PackedStringArray("vrpn")] +[node name="Button0" type="Node3D" parent="Root/SpinTracker" node_paths=PackedStringArray("vrpn_client")] script = ExtResource("4_j4l28") -vrpn = NodePath("../../VRPN") +vrpn_client = NodePath("../../VRPN") diff --git a/addons/vrpn/scripts/VRPN_Button.gd b/addons/vrpn/scripts/VRPN_Button.gd index 2bb825d..41fd2e2 100644 --- a/addons/vrpn/scripts/VRPN_Button.gd +++ b/addons/vrpn/scripts/VRPN_Button.gd @@ -1,17 +1,17 @@ class_name VRPN_Button extends Node -@export var vrpn : VRPN = null +@export var vrpn_client : VRPN_Client = null @export var button_sensor : String = "Button0" @export var register_on_start : bool = true var state : int = 0 func _ready(): - if not vrpn: + if not vrpn_client: push_warning("No VRPN client for button on '%s' given." % [self.name]) elif register_on_start: - vrpn.buttons.append(self) + vrpn_client.buttons.append(self) func _on_vrpn(vrpn_data : Dictionary) -> void: if vrpn_data['sensor'] == button_sensor: diff --git a/addons/vrpn/scripts/VRPN.gd b/addons/vrpn/scripts/VRPN_Client.gd similarity index 91% rename from addons/vrpn/scripts/VRPN.gd rename to addons/vrpn/scripts/VRPN_Client.gd index 0282655..2902d31 100644 --- a/addons/vrpn/scripts/VRPN.gd +++ b/addons/vrpn/scripts/VRPN_Client.gd @@ -1,4 +1,4 @@ -class_name VRPN +class_name VRPN_Client extends Node # tracking associated data @@ -88,11 +88,11 @@ func _on_data(data : Array): var as_cookie = bytes.get_string_from_ascii() # Cookie Hack! - if as_cookie.begins_with(VRPN.magic_cookie_start): # + if as_cookie.begins_with(VRPN_Client.magic_cookie_start): # # kaboom we just send back the same cookie :) self.send(bytes) else: - VRPN.marshall_block(bytes,self) + VRPN_Client.marshall_block(bytes,self) func _on_connected(s : StreamPeerTCP): @@ -105,7 +105,7 @@ func _on_error(msg:String): push_warning(msg) # Replace with function body. -static func marshall_block(data : PackedByteArray,session : VRPN) -> void: +static func marshall_block(data : PackedByteArray,client : VRPN_Client) -> void: # need to fix that var block_offset : int = 0 @@ -134,7 +134,7 @@ static func marshall_block(data : PackedByteArray,session : VRPN) -> void: #print("message_type '%d'" % message_type) #print("sequence_num '%d'" % sequence_num) - marshall_body(data.slice(block_offset+header_size,block_offset+length),message_type,sender_id,session) + marshall_body(data.slice(block_offset+header_size,block_offset+length),message_type,sender_id,client) # next datablock block_offset += aligned_size(length) @@ -144,7 +144,7 @@ static func decode_string(stream : StreamPeerBuffer) -> String: return stream.get_string(len) -static func marshall_body(data : PackedByteArray,message_type : int, sender_id: int, session : VRPN): +static func marshall_body(data : PackedByteArray,message_type : int, sender_id: int, client : VRPN_Client): var body := StreamPeerBuffer.new() body.data_array = data body.big_endian = true @@ -157,16 +157,16 @@ static func marshall_body(data : PackedByteArray,message_type : int, sender_id: -1: # sensor names var name = decode_string(body) print("sensor name is '%s' with '%d" % [name,sender_id]) - session.sensors[sender_id] = name + client.sensors[sender_id] = name -2: # message names var name = decode_string(body) print("message name is '%s' for message_type '%d'" % [name,sender_id]) - session.messages[sender_id] = name + client.messages[sender_id] = name return # now we use the string identifiers # because they are supposedly dynamically assigned - match session.messages[message_type]: + match client.messages[message_type]: 'vrpn_Tracker Pos_Quat': # quat pos # get id var sensor_id = body.get_32() @@ -176,10 +176,10 @@ static func marshall_body(data : PackedByteArray,message_type : int, sender_id: # VRPN quat layout and Godot Quaternion c'tor identical with x,y,z,w var quat = Quaternion(body.get_double(),body.get_double(),body.get_double(),body.get_double()).normalized() # submit to listener - for r in session.tracker: + for r in client.tracker: r._on_vrpn({ "type" : TrackingDataType.POS_QUAT, - "tracker" : session.sensors[sender_id], + "tracker" : client.sensors[sender_id], "sensor" : sensor_id, "position" : pos, "rotation" : quat @@ -193,10 +193,10 @@ static func marshall_body(data : PackedByteArray,message_type : int, sender_id: # VRPN quat layout and Godot Quaternion c'tor identical with x,y,z,w var vel_rot = Quaternion(body.get_double(),body.get_double(),body.get_double(),body.get_double()).normalized() # submit to listener - for r in session.tracker: + for r in client.tracker: r._on_vrpn({ "type" : TrackingDataType.VELOCITY, - "tracker" : session.sensors[sender_id], + "tracker" : client.sensors[sender_id], "sensor" : sensor_id, "velocity_linear" : vel, "velocity_rotation" : vel_rot @@ -212,10 +212,10 @@ static func marshall_body(data : PackedByteArray,message_type : int, sender_id: var acc_dt = body.get_double() # padding # submit to listener - for r in session.tracker: + for r in client.tracker: r._on_vrpn({ "type" : TrackingDataType.ACCELERATION, - "tracker" : session.sensors[sender_id], + "tracker" : client.sensors[sender_id], "sensor" : sensor_id, "acceleration_linear" : acc, "acceleration_rotation" : acc_rot, @@ -226,11 +226,11 @@ static func marshall_body(data : PackedByteArray,message_type : int, sender_id: var button_changes : Dictionary = {} for i in range(num_buttons): button_changes[i] = body.get_32() - for button in session.buttons: + for button in client.buttons: button._on_vrpn( { "type" : ButtonDataType.BUTTON_CHANGE, - "sensor" : session.sensors[sender_id], + "sensor" : client.sensors[sender_id], "changes" : button_changes } ) diff --git a/addons/vrpn/scripts/VRPN.gd.uid b/addons/vrpn/scripts/VRPN_Client.gd.uid similarity index 100% rename from addons/vrpn/scripts/VRPN.gd.uid rename to addons/vrpn/scripts/VRPN_Client.gd.uid diff --git a/addons/vrpn/scripts/VRPN_Tracker.gd b/addons/vrpn/scripts/VRPN_Tracker.gd index ea44069..2a1186b 100644 --- a/addons/vrpn/scripts/VRPN_Tracker.gd +++ b/addons/vrpn/scripts/VRPN_Tracker.gd @@ -1,7 +1,7 @@ class_name VRPN_Tracker extends Node3D -@export var vrpn : VRPN = null +@export var vrpn_client : VRPN_Client = null @export var tracker_name : String = "Tracker0" @export var tracker_sensor : int = 0 @export var tracker_use_position : bool = true @@ -9,25 +9,24 @@ extends Node3D @export var register_on_start : bool = true func _ready() -> void: - if vrpn and register_on_start: - vrpn.tracker.append(self) + if vrpn_client and register_on_start: + vrpn_client.tracker.append(self) func _on_vrpn(vrpn_data : Dictionary): - match vrpn_data['type'] as VRPN.TrackingDataType: - VRPN.TrackingDataType.POS_QUAT: + match vrpn_data['type'] as VRPN_Client.TrackingDataType: + VRPN_Client.TrackingDataType.POS_QUAT: if vrpn_data['tracker'] == tracker_name and vrpn_data['sensor'] == tracker_sensor: if tracker_use_position: self.global_position = vrpn_data['position'] if tracker_use_rotation: var rotation := vrpn_data['rotation'] as Quaternion self.global_basis = Basis(rotation) - VRPN.TrackingDataType.ACCELERATION: + VRPN_Client.TrackingDataType.ACCELERATION: pass - VRPN.TrackingDataType.VELOCITY: + VRPN_Client.TrackingDataType.VELOCITY: pass _: push_warning("unknown tracker datatype") - func _on_vrpn_connected(s): pass # Replace with function body.