Задайте вопросЗадайте вопрос
 

ОтвеченоExternal flight model

Ответы

Все ответы

  • 7 июня 2009 г. 18:10Tim Gregson [MSFT] Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     Предложенный ответ
    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/
    • Предложено в качестве ответаTim Gregson [MSFT] 7 июня 2009 г. 18:10
    •  
  • 8 июня 2009 г. 7:17mamucz Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    Define my own data structure is not problem, but how set it? Please can you give me some example?


    THX

    Petr
  • 17 июня 2009 г. 18:16Jon Hart ______________ Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     С кодом
    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 call

    	res = 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
  • 9 июля 2009 г. 12:02mamucz Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     Отвечено
    Thank you it is what I need!!!
    • Помечено в качестве ответаmamucz 9 июля 2009 г. 12:02
    •