1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.orekit.files.ccsds.ndm.adm.apm;
19
20 import java.io.IOException;
21
22 import org.orekit.files.ccsds.definitions.Units;
23 import org.orekit.files.ccsds.section.AbstractWriter;
24 import org.orekit.files.ccsds.utils.generation.Generator;
25
26
27
28
29
30 class SpacecraftParametersWriter extends AbstractWriter {
31
32
33 private final SpacecraftParameters spacecraftParameters;
34
35
36
37
38
39
40 SpacecraftParametersWriter(final String xmlTag, final String kvnTag,
41 final SpacecraftParameters spacecraftParameters) {
42 super(xmlTag, kvnTag);
43 this.spacecraftParameters = spacecraftParameters;
44 }
45
46
47 @Override
48 protected void writeContent(final Generator generator) throws IOException {
49
50 generator.writeComments(spacecraftParameters.getComments());
51
52
53 if (spacecraftParameters.getInertiaReferenceFrame() != null) {
54 generator.writeEntry(SpacecraftParametersKey.INERTIA_REF_FRAME.name(),
55 spacecraftParameters.getInertiaReferenceFrame().getName(),
56 null, false);
57 }
58
59
60 generator.writeEntry(SpacecraftParametersKey.I11.name(), spacecraftParameters.getI11(), Units.KG_M2, true);
61 generator.writeEntry(SpacecraftParametersKey.I22.name(), spacecraftParameters.getI22(), Units.KG_M2, true);
62 generator.writeEntry(SpacecraftParametersKey.I33.name(), spacecraftParameters.getI33(), Units.KG_M2, true);
63 generator.writeEntry(SpacecraftParametersKey.I12.name(), spacecraftParameters.getI12(), Units.KG_M2, true);
64 generator.writeEntry(SpacecraftParametersKey.I13.name(), spacecraftParameters.getI13(), Units.KG_M2, true);
65 generator.writeEntry(SpacecraftParametersKey.I23.name(), spacecraftParameters.getI23(), Units.KG_M2, true);
66
67 }
68
69 }