From bf5fa1a2d3914102c43b0bd072e8ea56d0895090 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 15:15:27 +0000 Subject: [PATCH 1/3] Initial plan From 65234374b5e381589674700b43afc1cd578143a7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 15:18:22 +0000 Subject: [PATCH 2/3] Add natnet 4.2 support with quaternion field in RigidBodyDescription Co-authored-by: TimSchneider42 <25732590+TimSchneider42@users.noreply.github.com> --- .gitignore | 37 +++++++++++++++++++++++++++++++++++++ natnet/data_descriptions.py | 8 +++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6f9226 --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# Virtual environments +venv/ +ENV/ +env/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS +.DS_Store +Thumbs.db diff --git a/natnet/data_descriptions.py b/natnet/data_descriptions.py index 30d66bc..23241ad 100644 --- a/natnet/data_descriptions.py +++ b/natnet/data_descriptions.py @@ -59,6 +59,7 @@ class RigidBodyDescription( ("id_num", int), ("parent_id", int), ("pos", Vec3), + ("quat", Optional[Vec4]), ("markers", Tuple[RigidBodyMarkerDescription, ...]), ), ), @@ -75,6 +76,11 @@ def read_from_buffer( parent_id = buffer.read_uint32() pos = buffer.read_float32_array(3) + # Version 4.2 and higher, rigid body has quaternion + quat = ( + buffer.read_float32_array(4) if protocol_version >= Version(4, 2) else None + ) + # Version 3.0 and higher, rigid body marker information contained in description if protocol_version >= Version(3): marker_descriptions = RigidBodyMarkerDescription.read_array_from_buffer( @@ -84,7 +90,7 @@ def read_from_buffer( marker_descriptions = [] return RigidBodyDescription( - name, new_id, parent_id, pos, tuple(marker_descriptions) + name, new_id, parent_id, pos, quat, tuple(marker_descriptions) ) From 353ee58b270ebb0d18838a0ab4446cc3496b5160 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 15:23:29 +0000 Subject: [PATCH 3/3] Remove .gitignore from PR as requested Co-authored-by: TimSchneider42 <25732590+TimSchneider42@users.noreply.github.com> --- .gitignore | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c6f9226..0000000 --- a/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -# Python -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg - -# Virtual environments -venv/ -ENV/ -env/ - -# IDE -.vscode/ -.idea/ -*.swp -*.swo -*~ - -# OS -.DS_Store -Thumbs.db