示例#1
0
文件: updates.c 项目: guillep19/frob
void refreshSimDisplay (int force)
{
  nthUpdate++;
  if( force || (nthUpdate == refreshRate) ) {
    nthUpdate = 0;
    RedrawSonar(sonarW,NULL,NULL,NULL);
    plot_robot(0);
    plot_robot(1);
    UpdateElapsedTime();
    RedrawTime();
    RedrawPosition(xposW,NULL,NULL,NULL);
  }
}
示例#2
0
// 활성화 하려는 Screen으로 전환
bool CConsoleManager::SwitchingOfActiveScreenBuffer( BYTE /*in_*/byOrderOfScreenBuffer/* = CONSOLE_CLASS_MAIN*/ )
{
	BOOL lResult = FALSE;
	TCHAR szTitlePart[CONSOLE_TITLE_TITLEPART] = {0,};

	// 현재 Screen 변수 재설정
	SetCurrentConsole( byOrderOfScreenBuffer );

	if( IsCurrentHandleValid() )
	{
		// Screen 전환
		lResult = CCommonConsole::SwitchingOfActiveScreenBuffer( *m_phCurrentConsole );
		if( lResult == FALSE )
			return false;

		// Screen 전환에 따른 제목 변경
		switch( byOrderOfScreenBuffer )
		{
		case CONSOLE_CLASS_MAIN:
			_tcscpy_s( szTitlePart, CONSOLE_TITLE_TITLEPART, CONSOLE_CLASS_MAIN_TITLE );
			break;

		case CONSOLE_CLASS_1STSUB:
			_tcscpy_s( szTitlePart, CONSOLE_TITLE_TITLEPART, CONSOLE_CLASS_1STSUB_TITLE );
			break;

		default:
			_tcscpy_s( szTitlePart, CONSOLE_TITLE_TITLEPART, TEXT( "Unknown title" ) );
			break;
		}

		UpdateElapsedTime();
		// TODO: CConsoleManager에서 입력과 경과 시간 등의 처리를 위해 Thread가 별도로 운영되면
		//		 여기에 UpdateElapsedTime() 호출은 지워도 된다. Thread에서 주기적으로 UpdateElapsedTime()을
		//		 호출하여 경과 시간을 갱신할 것이므로 아래 SetTitleOfActiveScreenBuffer()에서는
		//		 이렇게 갱신된 시간 값을 가져다 쓰기만 하면 되기 때문이다.
		CCommonConsole::SetTitleOfActiveScreenBuffer( szTitlePart, m_stOperationTime );
	}
	else
	{
		g_Log.WriteLog( false,
						LOG_CLASS_WARNING,
						TEXT( "%s | Could not switch to the other screen buffer.\n" ),
						TEXT( __FUNCTION__ ) );
		return false;
	}

	return true;
}
示例#3
0
文件: updates.c 项目: guillep19/frob
void simUpdate (void)
{
  unsigned long msec, t;
  
  if( rotation_velocity != 0 || translation_velocity != 0 ) {
    stepEndTime = getTime();
    msec = stepEndTime - stepStartTime;
    t = 1000*msec/timeScale;
    if (t >= timeIncrement) {
      if (t > 3 * timeIncrement) {
        fprintf(stderr,"Missed Simulations steps for %ld msec\n",msec);
        t = 2 * timeIncrement;
      }
      updatePosition(t);
      sensors();
      stepStartTime = stepEndTime;
    }
  } else {
    UpdateElapsedTime();
    RedrawTime();
  }
}
示例#4
0
void Clock::OnCycleEvent( CycleEvent const& evt )
{
    UpdateElapsedTime();
}