1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| void ExampleInternalsPlugin::UpdateTelemetry( const TelemInfoV2 &info )
{
FILE *fo = fopen( "ExampleInternalsTelemetryOutput.txt", "a" );
if( fo != NULL )
{
fprintf( fo, "LocalVel=(%.2f,%.2f,%.2f)\n", info.mLocalVel.x, info.mLocalVel.y, info.mLocalVel.z );
fprintf( fo, "LocalAccel=(%.1f,%.1f,%.1f)\n", info.mLocalAccel.x, info.mLocalAccel.y, info.mLocalAccel.z );
TelemVect3 forwardVector = { -info.mOriX.z, -info.mOriY.z, -info.mOriZ.z };
TelemVect3 leftVector = { info.mOriX.x, info.mOriY.x, info.mOriZ.x };
const float pitch = atan2f( forwardVector.y, sqrtf( ( forwardVector.x * forwardVector.x ) + ( forwardVector.z * forwardVector.z ) ) );
const float roll = atan2f( leftVector.y, sqrtf( ( leftVector.x * leftVector.x ) + ( leftVector.z * leftVector.z ) ) );
const float radsToDeg = 57.296f;
fprintf( fo, "Pitch = %.1f deg, Roll = %.1f deg\n", pitch * radsToDeg, roll * radsToDeg );
fclose( fo );
}
} |
Partager