def __init__(self, name, model_file=None): self.name = name self.timescale = TimeScalesFactory.getTDB() self.ref_frame = FramesFactory.getICRF() self.trj_date = None self.trajectory = None self.propagator = None self.event_handler = TimingEvent().of_(TimeSampler) self.time_sampler = None self.model_file = model_file self.render_obj = None self.pos = None self.vel = None self.date_history = self.event_handler.date_history self.pos_history = self.event_handler.pos_history self.vel_history = self.event_handler.vel_history self.rot_history = self.event_handler.rot_history logger.debug("Init finished")
def __init__(self, res_dir, starcat_dir, instrument, with_infobox, with_clipping, sssb, sun, lightref, encounter_date, duration, frames, encounter_distance, relative_velocity, with_sunnyside, with_terminator, timesampler_mode, slowmotion_factor, exposure, samples, device, tile_size, oneshot=False, spacecraft=None, opengl_renderer=False): self.opengl_renderer = opengl_renderer self.brdf_params = sssb.get('brdf_params', None) self.root_dir = Path(__file__).parent.parent.parent data_dir = self.root_dir / "data" self.models_dir = utils.check_dir(data_dir / "models") self.res_dir = res_dir self.starcat_dir = starcat_dir self.inst = sc.Instrument(instrument) self.ts = TimeScalesFactory.getTDB() self.ref_frame = FramesFactory.getICRF() self.mu_sun = Constants.IAU_2015_NOMINAL_SUN_GM encounter_date = encounter_date self.encounter_date = AbsoluteDate(int(encounter_date["year"]), int(encounter_date["month"]), int(encounter_date["day"]), int(encounter_date["hour"]), int(encounter_date["minutes"]), float(encounter_date["seconds"]), self.ts) self.duration = duration self.start_date = self.encounter_date.shiftedBy(-self.duration / 2.) self.end_date = self.encounter_date.shiftedBy(self.duration / 2.) self.frames = frames self.minimum_distance = encounter_distance self.relative_velocity = relative_velocity self.with_terminator = bool(with_terminator) self.with_sunnyside = bool(with_sunnyside) self.timesampler_mode = timesampler_mode self.slowmotion_factor = slowmotion_factor self.render_settings = dict() self.render_settings["exposure"] = exposure self.render_settings["samples"] = samples self.render_settings["device"] = device self.render_settings["tile"] = tile_size self.sssb_settings = sssb self.with_infobox = with_infobox self.with_clipping = with_clipping # Setup rendering engine (renderer) self.setup_renderer() # Setup SSSB self.setup_sssb(sssb) # Setup SC self.setup_spacecraft(spacecraft, oneshot=oneshot) if not self.opengl_renderer: # Setup Sun self.setup_sun(sun) # Setup Lightref self.setup_lightref(lightref) logger.debug("Init finished")