10 #define SS_SHIP_MOTION
54 return m_shipPerformance;
64 void setNatoSeaState(
int natoSeaState );
84 void setWindSpeed(
float wind_knots );
115 void setShipSize(
float beam_length_m,
116 float length_between_perp_m,
117 float roll_const_sec_per_sqrt_m,
118 float metacentric_height_m );
133 void getShipSize(
float& beam_length_m,
134 float& length_between_perp_m,
135 float& roll_const_sec_per_sqrt_m,
136 float& metacentric_height_m )
138 beam_length_m = m_beamLength;
139 length_between_perp_m = m_lengthBetweenPerpendicular;
140 roll_const_sec_per_sqrt_m = m_rollConstant;
141 metacentric_height_m = m_metacentricHeight;
153 void setWorldOrientation(
float heading,
float pitch,
float roll )
155 m_initialHeading = heading;
156 m_initialPitch = pitch;
157 m_initialRoll = roll;
169 void getWorldOrientation(
float& heading,
float& pitch,
float& roll )
171 heading = m_initialHeading;
172 pitch = m_initialPitch;
173 roll = m_initialRoll;
186 void getOffsetOrientation(
double time_sec,
187 float& heading,
float& pitch,
float& roll );
198 void setWorldPosition(
double x,
double y,
double z )
214 void getWorldPosition(
double&
x,
double&
y,
double&
z )
232 void getOffsetTranslation(
double time_sec,
float&
x,
float&
y,
float&
z );
244 VECTOR getUnitTangentialVelocity(
double time_sec );
264 VECTOR getAngularVelocity(
double time_sec,
VECTOR shippoint);
276 rotmatrix getSensorMotionMatrix(
double time_sec );
281 void getAverageRotation(
double time_start,
double time_end,
double &heading,
double &pitch,
double &roll,
double &heading_rate,
double &pitch_rate,
double &roll_rate );
286 float getEstimatedRotationPotential();
306 void updatePerformanceData();
312 double SHMOscillations(
double time_sec,
314 double ang_freq_rad_per_sec,
321 double SHMOscillations_time_deriv(
double time_sec,
323 double ang_freq_rad_per_sec,
336 void getMotionAngles(
double time_sec,
double& pitch,
double& roll );
348 void getMotionRates(
double time_sec,
double& pitchrate,
double& rollrate );
377 #endif // #ifndef SS_SHIP_MOTION