질문하기질문하기
 

답변됨External flight model

  • 2009년 6월 6일 토요일 오후 9:19mamucz 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    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

답변

모든 응답

  • 2009년 6월 7일 일요일 오후 6: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/
  • 2009년 6월 8일 월요일 오전 7:17mamucz 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    Define my own data structure is not problem, but how set it? Please can you give me some example?


    THX

    Petr
  • 2009년 6월 17일 수요일 오후 6: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
  • 2009년 7월 9일 목요일 오후 12:02mamucz 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     답변됨
    Thank you it is what I need!!!
    • 답변으로 표시됨mamucz 2009년 7월 9일 목요일 오후 12:02
    •