Skip to content

Commit 00e4952

Browse files
BUG: call evaluate_rotation_matrix in EllipticalFin/FreeFormFin __init__
EllipticalFin.__init__ and FreeFormFin.__init__ never called self.evaluate_rotation_matrix(), unlike TrapezoidalFin. As a result the _rotation_body_to_fin / _rotation_fin_to_body_uncanted matrices were never created, so adding either fin to a Rocket crashed: Rocket.__add_single_surface -> Fin._compute_leading_edge_position -> AttributeError: 'EllipticalFin' object has no attribute '_rotation_fin_to_body_uncanted' Both are new public classes in v1.13.0 and were fully unusable on the normal add-to-rocket / simulate path. Existing tests only exercised the trapezoidal singular fin, so this went uncaught. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent bee0e16 commit 00e4952

2 files changed

Lines changed: 2 additions & 0 deletions

File tree

rocketpy/rocket/aero_surface/fins/elliptical_fin.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ def __init__(
160160
self.geometry = _EllipticalGeometry(self)
161161
self._update_geometry_chain()
162162
self.evaluate_shape()
163+
self.evaluate_rotation_matrix()
163164

164165
self.prints = _EllipticalFinPrints(self)
165166
self.plots = _EllipticalFinPlots(self)

rocketpy/rocket/aero_surface/fins/free_form_fin.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ def __init__(
148148
self.geometry = _FreeFormGeometry(self, shape_points)
149149
self._update_geometry_chain()
150150
self.evaluate_shape()
151+
self.evaluate_rotation_matrix()
151152

152153
self.prints = _FreeFormFinPrints(self)
153154
self.plots = _FreeFormFinPlots(self)

0 commit comments

Comments
 (0)