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.ndm.adm.AttitudeEndoints;
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 SpinStabilizedWriter extends AbstractWriter {
33
34
35 private final SpinStabilized spinStabilized;
36
37
38
39
40
41
42 SpinStabilizedWriter(final String xmlTag, final String kvnTag,
43 final SpinStabilized spinStabilized) {
44 super(xmlTag, kvnTag);
45 this.spinStabilized = spinStabilized;
46 }
47
48
49 @Override
50 protected void writeContent(final Generator generator) throws IOException {
51
52 generator.writeComments(spinStabilized.getComments());
53
54
55 generator.writeEntry(SpinStabilizedKey.SPIN_FRAME_A.name(), spinStabilized.getEndpoints().getFrameA().getName(), null, true);
56 generator.writeEntry(SpinStabilizedKey.SPIN_FRAME_B.name(), spinStabilized.getEndpoints().getFrameB().getName(), null, true);
57 generator.writeEntry(SpinStabilizedKey.SPIN_DIR.name(),
58 spinStabilized.getEndpoints().isA2b() ? AttitudeEndoints.A2B : AttitudeEndoints.B2A,
59 null, true);
60
61
62 generator.writeEntry(SpinStabilizedKey.SPIN_ALPHA.name(), spinStabilized.getSpinAlpha(), Unit.DEGREE, true);
63 generator.writeEntry(SpinStabilizedKey.SPIN_DELTA.name(), spinStabilized.getSpinDelta(), Unit.DEGREE, true);
64 generator.writeEntry(SpinStabilizedKey.SPIN_ANGLE.name(), spinStabilized.getSpinAngle(), Unit.DEGREE, true);
65 generator.writeEntry(SpinStabilizedKey.SPIN_ANGLE_VEL.name(), spinStabilized.getSpinAngleVel(), Units.DEG_PER_S, true);
66
67
68 generator.writeEntry(SpinStabilizedKey.NUTATION.name(), spinStabilized.getNutation(), Unit.DEGREE, false);
69 generator.writeEntry(SpinStabilizedKey.NUTATION_PER.name(), spinStabilized.getNutationPeriod(), Unit.SECOND, false);
70 generator.writeEntry(SpinStabilizedKey.NUTATION_PHASE.name(), spinStabilized.getNutationPhase(), Unit.DEGREE, false);
71
72 }
73
74 }