1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.ccsds.ndm.adm.aem;
18
19 import java.util.List;
20
21 import org.orekit.attitudes.BoundedAttitudeProvider;
22 import org.orekit.attitudes.TabulatedProvider;
23 import org.orekit.files.ccsds.section.Segment;
24 import org.orekit.files.general.AttitudeEphemerisFile;
25 import org.orekit.frames.Frame;
26 import org.orekit.time.AbsoluteDate;
27 import org.orekit.utils.AngularDerivativesFilter;
28 import org.orekit.utils.TimeStampedAngularCoordinates;
29
30
31
32
33
34
35 public class AemSegment extends Segment<AemMetadata, AemData>
36 implements AttitudeEphemerisFile.AttitudeEphemerisSegment<TimeStampedAngularCoordinates> {
37
38
39
40
41
42 public AemSegment(final AemMetadata metadata, final AemData data) {
43 super(metadata, data);
44 }
45
46
47 @Override
48 public List<TimeStampedAngularCoordinates> getAngularCoordinates() {
49 return getData().getAngularCoordinates();
50 }
51
52
53 @Override
54 public Frame getReferenceFrame() {
55 return getMetadata().getEndpoints().getExternal();
56 }
57
58
59 @Override
60 public AbsoluteDate getStart() {
61 return getMetadata().getStart();
62 }
63
64
65 @Override
66 public AbsoluteDate getStop() {
67 return getMetadata().getStop();
68 }
69
70
71 @Override
72 public String getInterpolationMethod() {
73 return getMetadata().getInterpolationMethod();
74 }
75
76
77 @Override
78 public int getInterpolationSamples() {
79 return getMetadata().getInterpolationSamples();
80 }
81
82
83 @Override
84 public AngularDerivativesFilter getAvailableDerivatives() {
85 return getMetadata().getAttitudeType().getAngularDerivativesFilter();
86 }
87
88
89 @Override
90 public BoundedAttitudeProvider getAttitudeProvider() {
91 return new TabulatedProvider(getAngularCoordinates(), getInterpolationSamples(),
92 getAvailableDerivatives(), getStart(), getStop(),
93 getMetadata().getEndpoints());
94 }
95
96 }