1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.orekit.files.ccsds.ndm.odm.opm;
19
20 import java.io.IOException;
21
22 import org.orekit.files.ccsds.definitions.TimeConverter;
23 import org.orekit.files.ccsds.definitions.Units;
24 import org.orekit.files.ccsds.section.AbstractWriter;
25 import org.orekit.files.ccsds.utils.generation.Generator;
26 import org.orekit.utils.units.Unit;
27
28
29
30
31
32 class ManeuverWriter extends AbstractWriter {
33
34
35 private final Maneuver maneuver;
36
37
38 private final TimeConverter timeConverter;
39
40
41
42
43
44 ManeuverWriter(final Maneuver maneuver, final TimeConverter timeConverter) {
45 super(XmlSubStructureKey.maneuverParameters.name(), null);
46 this.maneuver = maneuver;
47 this.timeConverter = timeConverter;
48 }
49
50
51 @Override
52 protected void writeContent(final Generator generator) throws IOException {
53
54
55 generator.writeComments(maneuver.getComments());
56
57 generator.writeEntry(ManeuverKey.MAN_EPOCH_IGNITION.name(), timeConverter, maneuver.getEpochIgnition(), false, true);
58 generator.writeEntry(ManeuverKey.MAN_DURATION.name(), maneuver.getDuration(), Unit.SECOND, true);
59 generator.writeEntry(ManeuverKey.MAN_DELTA_MASS.name(), maneuver.getDeltaMass(), Unit.KILOGRAM, true);
60 generator.writeEntry(ManeuverKey.MAN_REF_FRAME.name(), maneuver.getReferenceFrame().getName(), null, true);
61 generator.writeEntry(ManeuverKey.MAN_DV_1.name(), maneuver.getDV().getX(), Units.KM_PER_S, true);
62 generator.writeEntry(ManeuverKey.MAN_DV_2.name(), maneuver.getDV().getY(), Units.KM_PER_S, true);
63 generator.writeEntry(ManeuverKey.MAN_DV_3.name(), maneuver.getDV().getZ(), Units.KM_PER_S, true);
64
65 }
66
67 }