Skip to content

Conversation

@SiboVG
Copy link
Member

@SiboVG SiboVG commented Apr 9, 2025

This PR fixes #2776. The issue was not just a simple rendering glitch, but a more fundamental issue, namely that rocket component locations (the return value of getComponentLocations() in RocketComponent) did not account for rotations of super-parents. For example, take this structure:

Pod Set 1
├─ Phantom Body Tube
│  ├─ Pod Set 2
│  │  ├─ Body Tube

Conditions:

  • Pod Set 1 rotation: -90°
  • Pod Set 2 rotation: -90°
  • Pod Set 2 radial offset: 10 cm

With a total rotation of -180°, you would expect the 10 cm offset to cause the body tube to move 10 cm in the negative y direction. However, it was moving 10 cm in the negative z direction, because only the -90° rotation of Pod Set 2 was taken into account in the pod set instance locations.

A very extreme example with a double-nested pod set:
Screenshot 2025-04-09 at 02 58 38

After this PR:
image

@JoePfeiffer JoePfeiffer merged commit 6a22b04 into openrocket:unstable Apr 12, 2025
1 check passed
@SiboVG SiboVG deleted the issue-2776 branch April 12, 2025 09:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

In this design, motors are shown out of alignment with their respective motor tubes.

2 participants