Microsoft Developer Network >
Domovská stránka fór
>
Microsoft ESP Platform Development
>
External flight model
External flight model
- Hi,
I wont use ESP only for graphics rendering and i have external flight model. In input to ESP i have only alt,lat,lon,Pitch,Bank and Heading. What is best way do it please? I try it via SIMCONNECT_DATA_INITPOSITION but it invite progress dialog.
THX
Odpovědi
- Thank you it is what I need!!!
- Označen jako odpověďmamucz 9. července 2009 12:02
Všechny reakce
- You need to define your own data struct with the variables you need to set, and then use that data struct to set the position and orientation. Using the INITPOSITION structure, as you've found out, causes the sim to do a partial reset (reloading terrain, AI aircraft, etc) and is designed specifically to set the Initial Position for an object.
Tim
http://beatlesblog.spaces.live.com/- Navržen jako odpověďTim Gregson [MSFT] 7. června 2009 18:10
- Define my own data structure is not problem, but how set it? Please can you give me some example?
THX
Petr - First, set up your structure definition in ESP:
hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Altitude", "feet", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED); hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Latitude", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED); hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Longitude","degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED); hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Heading Degrees True", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED); hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Pitch Degrees", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED); hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Bank Degrees", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED);
.and have a struct for it:struct PLANE_XYZ_HPR { double altitude; double latitude; double longitude; double heading; double pitch; double roll; } _PlanePos;populate the above, then callres = SimConnect_SetDataOnSimObject(_hSimConnect,DEFINITION, SIMCONNECT_OBJECT_ID_USER, 0, 0, sizeof(_PlanePos),&_PlanePos );
to set the data.I have more code if you want to PM me.
Regards, Jon - Thank you it is what I need!!!
- Označen jako odpověďmamucz 9. července 2009 12:02

