1 /*
2 
3 -Header_File SpiceCK.h ( CSPICE CK definitions )
4 
5 -Abstract
6 
7    Perform CSPICE definitions to support CK wrapper interfaces.
8 
9 -Disclaimer
10 
11    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
12    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
13    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
14    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
15    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
16    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
17    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
18    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
19    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
20    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
21 
22    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
23    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
24    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
25    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
26    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
27    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
28 
29    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
30    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
31    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
32    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
33 
34 -Required_Reading
35 
36    None.
37 
38 -Particulars
39 
40    This header defines types that may be referenced in
41    application code that calls CSPICE CK functions.
42 
43       Typedef
44       =======
45 
46          Name                  Description
47          ----                  ----------
48 
49          SpiceCK05Subtype      Typedef for enum indicating the
50                                mathematical representation used
51                                in an CK type 05 segment.  Possible
52                                values and meanings are:
53 
54                                C05TP0:
55 
56                                   Hermite interpolation, 8-
57                                   element packets containing
58 
59                                      q0,      q1,      q2,     q3,
60                                      dq0/dt,  dq1/dt,  dq2/dt  dq3/dt
61 
62                                   where q0, q1, q2, q3 represent
63                                   quaternion components and dq0/dt,
64                                   dq1/dt, dq2/dt, dq3/dt represent
65                                   quaternion time derivative components.
66 
67                                   Quaternions are unitless.  Quaternion
68                                   time derivatives have units of
69                                   1/second.
70 
71 
72                                C05TP1:
73 
74                                   Lagrange interpolation, 4-
75                                   element packets containing
76 
77                                      q0,     q1,     q2,     q3,
78 
79                                   where q0, q1, q2, q3 represent
80                                   quaternion components.  Quaternion
81                                   derivatives are obtained by
82                                   differentiating interpolating
83                                   polynomials.
84 
85 
86                                C05TP2:
87 
88                                   Hermite interpolation, 14-
89                                   element packets containing
90 
91                                      q0,      q1,      q2,     q3,
92                                      dq0/dt,  dq1/dt,  dq2/dt  dq3/dt,
93                                      av0,     av1,     av2,
94                                      dav0/dt, dav1/dt, dav2/dt
95 
96                                   where q0, q1, q2, q3 represent
97                                   quaternion components and dq0/dt,
98                                   dq1/dt, dq2/dt, dq3/dt represent
99                                   quaternion time derivative components,
100                                   av0, av1, av2 represent angular
101                                   velocity components, and
102                                   dav0/dt, dav1/dt, dav2/dt represent
103                                   angular acceleration components.
104 
105 
106                                C05TP3:
107 
108                                   Lagrange interpolation, 7-
109                                   element packets containing
110 
111                                      q0,     q1,     q2,     q3,
112                                      av0,    av1,    av2
113 
114                                   where q0, q1, q2, q3 represent
115                                   quaternion components and
116                                   av0, av1, av2 represent angular
117                                   velocity components.
118 
119 
120 
121 Literature_References
122 
123    None.
124 
125 -Author_and_Institution
126 
127    N.J. Bachman       (JPL)
128 
129 -Restrictions
130 
131    None.
132 
133 -Version
134 
135    -CSPICE Version 1.0.0, 20-AUG-2002 (NJB)
136 
137 */
138 
139 #ifndef HAVE_SPICE_CK_H
140 
141    #define HAVE_SPICE_CK_H
142 
143 
144 
145    /*
146    CK type 05 subtype codes:
147    */
148 
149    enum _SpiceCK05Subtype  { C05TP0, C05TP1, C05TP2, C05TP3 };
150 
151 
152    typedef enum _SpiceCK05Subtype SpiceCK05Subtype;
153 
154 #endif
155 
156