@@ -55,26 +55,28 @@ def for_flight(cls) -> 'DiscretizeConfig':
5555
5656class InfinityEncoder (RocketPyEncoder ):
5757 def default (self , o ):
58- obj = o
5958 if (
60- isinstance (obj , Function )
61- and not callable (obj .source )
62- and obj .__dom_dim__ == 1
59+ isinstance (o , Function )
60+ and not callable (o .source )
61+ and o .__dom_dim__ == 1
6362 ):
64- size = len (obj ._domain )
63+ size = len (o ._domain )
6564 reduction_factor = 1
6665 if size > 25 :
6766 reduction_factor = size // 25
6867 if reduction_factor > 1 :
69- obj = obj .set_discrete (
70- obj .x_array [0 ],
71- obj .x_array [- 1 ],
68+ o = o .set_discrete (
69+ o .x_array [0 ],
70+ o .x_array [- 1 ],
7271 size // reduction_factor ,
7372 mutate_self = False ,
7473 )
75- if isinstance (obj , Flight ):
76- obj ._Flight__evaluate_post_process ()
77- solution = np .array (obj .solution )
74+ if isinstance (o , Flight ):
75+ try :
76+ o ._Flight__evaluate_post_process
77+ except Exception :
78+ pass
79+ solution = np .array (o .solution )
7880 size = len (solution )
7981 if size > 25 :
8082 reduction_factor = size // 25
@@ -88,12 +90,12 @@ def default(self, o):
8890 reduced_solution [:, i ] = interp1d (
8991 solution [:, 0 ], col , assume_sorted = True
9092 )(reduced_scale )
91- obj .solution = reduced_solution .tolist ()
93+ o .solution = reduced_solution .tolist ()
9294
93- obj .flight_phases = None
94- obj .function_evaluations = None
95+ o .flight_phases = None
96+ o .function_evaluations = None
9597
96- return super ().default (obj )
98+ return super ().default (o )
9799
98100
99101def rocketpy_encoder (obj ):
0 commit comments