亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? entity.cc

?? 一個機器人平臺
?? CC
?? 第 1 頁 / 共 3 頁
字號:
    case PropSonarReturn:      memcpy( &sonar_return, (bool*)value, sizeof(sonar_return) );      break;    case PropObstacleReturn:      memcpy( &obstacle_return, (bool*)value, sizeof(obstacle_return) );      break;    case PropVisionReturn:      memcpy( &vision_return, (bool*)value, sizeof(vision_return));      break;    case PropPuckReturn:      memcpy( &puck_return, (bool*)value, sizeof(puck_return) );      break;    default:      //printf( "Stage Warning: attempting to set unknown property %d\n",       //      property );      break;  }    // indicate that the property is dirty on all _but_ the connection  // it came from - that way it gets propogated onto to other clients  // and everyone stays in sync. (assuming no recursive connections...)    this->SetDirty( property, 1 ); // dirty on all cons    if( con != -1 ) // unless this was a local change     this->SetDirty( con, property, 0 ); // clean on this con  if( refresh_figure )    {#ifdef INCLUDE_RTK2       if( this->fig )	{	  RtkShutdown();	  RtkStartup();	}#endif    }    if( move_figure )    {      //printf( "-- moving figure to %.2f %.2f %.2f\n",      //      local_px, local_py, local_pth );#ifdef INCLUDE_RTK2          if( this->fig )	rtk_fig_origin(this->fig, local_px, local_py, local_pth );#endif             //#ifdef USE_GNOME2       //this->GuiMove();      //#endif    }  // update the GUI with the new property  if( m_world->enable_gui )    GuiEntityPropertyChange( this, property );    return 0;}int CEntity::GetProperty( EntityProperty property, void* value ){  //PRINT_DEBUG1( "finding property %d", property );  //printf( "finding property %d", property );  assert( value );  // indicate no data - this should be overridden below  int retval = 0;  switch( property )  {    case PropParent:      // TODO - fix      // find the parent's position in the world's entity array      // if parent pointer is null or otherwise invalid, index is -1       //{ int parent_index = m_world->GetEntityIndex( m_parent_entity );      { 	int parent_index = -1;	if( m_parent_entity )	  parent_index = m_parent_entity->stage_id ;		memcpy( value, &parent_index, sizeof(parent_index) );	retval = sizeof(parent_index);       }    break;    case PropSizeX:      memcpy( value, &size_x, sizeof(size_x) );      retval = sizeof(size_x);      break;    case PropSizeY:      memcpy( value, &size_y, sizeof(size_y) );      retval = sizeof(size_y);      break;    case PropPoseX:      memcpy( value, &local_px, sizeof(local_px) );      retval = sizeof(local_px);      break;    case PropPoseY:      memcpy( value, &local_py, sizeof(local_py) );      retval = sizeof(local_py);      break;    case PropPoseTh:      memcpy( value, &local_pth, sizeof(local_pth) );      retval = sizeof(local_pth);      break;    case PropOriginX:      memcpy( value, &origin_x, sizeof(origin_x) );      retval = sizeof(origin_x);      break;      break;    case PropOriginY:      memcpy( value, &origin_y, sizeof(origin_y) );      retval = sizeof(origin_y);      break;    case PropName:      strcpy( (char*)value, name );      retval = strlen(name);      break;    case PropColor:      memcpy( value, &color, sizeof(color) );      retval = sizeof(color);      break;    case PropShape:      memcpy( value, &shape, sizeof(shape) );      retval = sizeof(shape);      break;    case PropLaserReturn:      memcpy( value, &laser_return, sizeof(laser_return) );      retval = sizeof(laser_return);      break;    case PropSonarReturn:      memcpy( value, &sonar_return, sizeof(sonar_return) );      retval = sizeof(sonar_return);      break;    case PropIdarReturn:      memcpy( value, &idar_return, sizeof(idar_return) );      retval = sizeof(idar_return);      break;    case PropObstacleReturn:      memcpy( value, &obstacle_return, sizeof(obstacle_return) );      retval = sizeof(obstacle_return);      break;    case PropVisionReturn:      memcpy( value, &vision_return, sizeof(vision_return) );      retval = sizeof(vision_return);      break;    case PropPuckReturn:      memcpy( value, &puck_return, sizeof(puck_return) );      retval = sizeof(puck_return);      break;    default:      // printf( "Stage Warning: attempting to get unknown property %d\n",       //      property );    break;  }  return retval;}// write the entity tree onto the consolevoid CEntity::Print( char* prefix ){  double ox, oy, oth;  this->GetGlobalPose( ox, oy, oth );  printf( "%s type: %s global: [%.2f,%.2f,%.2f]"	  " local: [%.2f,%.2f,%.2f] vision_return %d )", 	  prefix,	  this->lib_entry->token,	  ox, oy, oth,	  local_px, local_py, local_pth,	  this->vision_return );	    if( this->m_parent_entity == NULL )    puts( " - ROOT" );  else    puts( "" );  // add an indent to the prefix    char* buf = new char[ strlen(prefix) + 1 ];  sprintf( buf, "\t%s", prefix );  CHILDLOOP( ch )    ch->Print( buf );}// subscribe to / unsubscribe from the device// these don't do anything by default, but are overridden by CPlayerEntityvoid CEntity::Subscribe(){   //puts( "SUB" );};void CEntity::Unsubscribe(){   //puts( "UNSUB" );};  int CEntity::Subscribed(){   return 0;};// these versions sub/unsub to this device and all its decendantsvoid CEntity::FamilySubscribe(){   CHILDLOOP( ch ) ch->FamilySubscribe(); };void CEntity::FamilyUnsubscribe(){   CHILDLOOP( ch ) ch->FamilyUnsubscribe(); };void CEntity::GuiStartup( void ){  // use the interface library hook  GuiEntityStartup( this );    CHILDLOOP( ch )    ch->GuiStartup();}void CEntity::GetStatusString( char* buf, int buflen ){  double x, y, th;  this->GetGlobalPose( x, y, th );    // check for overflow  assert( -1 != 	  snprintf( buf, buflen, 		    "Pose(%.2f,%.2f,%.2f) Stage(%d:%d(%s))",		    x, y, th, 		    this->stage_id,		    this->lib_entry->type_num,		    this->lib_entry->token ) );}  #ifdef INCLUDE_RTK2///////////////////////////////////////////////////////////////////////////// Initialise the rtk guivoid CEntity::RtkStartup(){  assert( m_world );  PRINT_DEBUG2("RTK STARTUP %s %s",               this->lib_entry->token,               m_parent_entity ? "" : " - ROOT" );  // Create a figure representing this entity  if( m_parent_entity == NULL )    this->fig = rtk_fig_create(m_world->canvas, NULL, 50);  else    this->fig = rtk_fig_create(m_world->canvas, m_parent_entity->fig, 50);  assert( this->fig );  /* REMOVE  this->fig->thing = (void*)this;  this->fig->origin_callback = staticSetGlobalPose;  this->fig->select_callback = NULL;  this->fig->unselect_callback = NULL;  */  // Set the mouse handler  this->fig->userdata = this;  rtk_fig_add_mouse_handler(this->fig, StaticRtkOnMouse);  // add this device to the world's device menu   this->m_world->AddToDeviceMenu( this, true);       // visible by default  rtk_fig_show( this->fig, true );  // Set the color  rtk_fig_color_rgb32(this->fig, this->color);  // put the figure's origin at the entity's position  rtk_fig_origin( this->fig, local_px, local_py, local_pth );#ifdef RENDER_INITIAL_BOUNDING_BOXES  double xmin, ymin, xmax, ymax;  xmin = ymin = 999999.9;  xmax = ymax = 0.0;  this->GetBoundingBox( xmin, ymin, xmax, ymax );    rtk_fig_t* boundaries = rtk_fig_create( m_world->canvas, NULL, 99);  double width = xmax - xmin;  double height = ymax - ymin;  double xcenter = xmin + width/2.0;  double ycenter = ymin + height/2.0;  rtk_fig_rectangle( boundaries, xcenter, ycenter, 0, width, height, 0 );    #endif     // draw the shape using the center of rotation offsets  switch (this->shape)  {    case ShapeRect:      rtk_fig_rectangle(this->fig,                         this->origin_x, this->origin_y, 0,                         this->size_x, this->size_y, false);      break;    case ShapeCircle:      rtk_fig_ellipse(this->fig,                       this->origin_x, this->origin_y, 0,                        this->size_x, this->size_y, false);      break;    case ShapeNone: // no shape      break;  }    // everything except the root object has a label  if( m_parent_entity )  {    // Create the label    // By default, the label is not shown    this->fig_label = rtk_fig_create(m_world->canvas, this->fig, 51);    rtk_fig_show(this->fig_label, false);        rtk_fig_movemask(this->fig_label, 0);          char label[1024];    char tmp[1024];          label[0] = 0;    snprintf(tmp, sizeof(tmp), "%s %s",              this->name, this->lib_entry->token );    strncat(label, tmp, sizeof(label));          rtk_fig_color_rgb32(this->fig, this->color);    rtk_fig_text(this->fig_label,  0.75 * size_x,  0.75 * size_y, 0, label);          // attach the label to the main figure    // rtk will draw the label when the mouse goes over the figure    // TODO: FIX    //this->fig->mouseover_fig = fig_label;          // we can be moved only if we are on the root node    if (m_parent_entity != this->m_world->GetRoot() )      rtk_fig_movemask(this->fig, 0);    else      rtk_fig_movemask(this->fig, this->movemask);    }  // do our children after we're set  CHILDLOOP( child ) child->RtkStartup();  PRINT_DEBUG( "RTK STARTUP DONE" );}///////////////////////////////////////////////////////////////////////////// Finalise the rtk guivoid CEntity::RtkShutdown(){  // Clean up the figure we created  rtk_fig_destroy(this->fig);  rtk_fig_destroy(this->fig_label);} ///////////////////////////////////////////////////////////////////////////// Update the rtk guivoid CEntity::RtkUpdate(){  CHILDLOOP( child ) child->RtkUpdate();  // TODO this is nasty and inefficient - figure out a better way to  // do this    // if we're not looking at this device, hide it   if( !m_world->ShowDeviceBody( this->lib_entry->type_num ) )  {    rtk_fig_show(this->fig, false);  }  else // we need to show and update this figure  {    rtk_fig_show( this->fig, true );  }}///////////////////////////////////////////////////////////////////////////// Process mouse eventsvoid CEntity::RtkOnMouse(rtk_fig_t *fig, int event, int mode){  double px, py, pth;  switch (event)  {    case RTK_EVENT_PRESS:    case RTK_EVENT_MOTION:    case RTK_EVENT_RELEASE:      rtk_fig_get_origin(fig, &px, &py, &pth);      this->SetGlobalPose(px, py, pth);      break;    default:      break;  }  return;}///////////////////////////////////////////////////////////////////////////// Process mouse events (static callback)void CEntity::StaticRtkOnMouse(rtk_fig_t *fig, int event, int mode){  CEntity *entity;  entity = (CEntity*) fig->userdata;  entity->RtkOnMouse(fig, event, mode);  return;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久丁香综合五月国产三级网站| 亚洲一区二区影院| 欧美日韩高清一区| 色久综合一二码| 91麻豆成人久久精品二区三区| 国产在线视频精品一区| 国产一区二区三区久久悠悠色av| 久久国产精品99久久久久久老狼| 久久国产精品72免费观看| 精品一区二区三区在线播放视频 | 欧美大片顶级少妇| 国产激情91久久精品导航| 蜜臀国产一区二区三区在线播放| 免费精品99久久国产综合精品| 亚洲第一综合色| 日韩电影在线免费| 裸体健美xxxx欧美裸体表演| 激情av综合网| 成人高清视频在线观看| 色欧美乱欧美15图片| 精品久久久影院| 精品国产乱码久久久久久免费| 欧美精品一区二区蜜臀亚洲| 中文字幕一区二区三区四区不卡| 夜夜精品浪潮av一区二区三区| 丝袜亚洲另类欧美综合| 国产一区视频在线看| 成人爽a毛片一区二区免费| 色婷婷激情一区二区三区| 欧美男人的天堂一二区| 久久久久久久久久久久久夜| 成人免费在线播放视频| 日韩综合小视频| 高清在线不卡av| 欧美日韩久久久一区| 国产亚洲欧美日韩在线一区| 亚洲激情校园春色| 韩国一区二区视频| 色8久久精品久久久久久蜜| 精品国产麻豆免费人成网站| 亚洲欧洲成人自拍| 蜜桃91丨九色丨蝌蚪91桃色| 99久久99久久久精品齐齐| 欧美精品久久久久久久多人混战 | 色婷婷亚洲婷婷| 日韩美女在线视频| 亚洲一线二线三线久久久| 狠狠色丁香婷综合久久| 精品视频免费看| 国产精品久久毛片a| 久久国产尿小便嘘嘘| 91久久线看在观草草青青| 久久这里只有精品首页| 午夜日韩在线电影| jizzjizzjizz欧美| 久久毛片高清国产| 久久精品国产第一区二区三区| 色综合久久久久久久久| 欧美韩国日本一区| 国产精品自拍网站| 精品久久一区二区三区| 无码av免费一区二区三区试看| eeuss影院一区二区三区| 久久综合狠狠综合久久激情 | 久久免费精品国产久精品久久久久| 亚洲成a人v欧美综合天堂下载 | 在线观看91视频| 日韩毛片一二三区| av高清不卡在线| 国产精品久久久久aaaa| 成人黄色a**站在线观看| 国产精品丝袜黑色高跟| 国产成人av影院| 中文字幕精品在线不卡| 国产一区二区三区免费播放| 久久综合视频网| 精品视频在线免费| 亚洲永久免费视频| 欧美性猛交xxxx乱大交退制版| 日韩美女视频19| 色综合久久综合网欧美综合网| 亚洲欧美日韩精品久久久久| 99久久精品国产导航| 亚洲欧美在线观看| 在线日韩国产精品| 亚洲成人资源网| 欧美一区二区视频在线观看| 免费成人av在线| 久久蜜桃av一区精品变态类天堂 | 国产乱对白刺激视频不卡 | 成人性生交大片免费看视频在线| 久久久久久久久伊人| 丁香六月久久综合狠狠色| 国产精品国模大尺度视频| 91亚洲精品久久久蜜桃网站| 亚洲综合清纯丝袜自拍| 欧美日韩久久久| 极品美女销魂一区二区三区免费| 久久亚洲精精品中文字幕早川悠里| 国产一区二区三区蝌蚪| 日韩美女精品在线| 欧美丰满嫩嫩电影| 国产精品一区二区三区四区| 亚洲视频免费看| 欧美一区二区三区在线视频| 黑人巨大精品欧美一区| 国产精品另类一区| 欧美日韩亚洲高清一区二区| 久久97超碰国产精品超碰| 国产欧美视频一区二区| 欧洲国内综合视频| 麻豆国产精品一区二区三区 | 福利一区二区在线| 一二三区精品福利视频| 日韩一区二区电影网| 成人h动漫精品一区二区| 亚洲成人免费观看| 国产日韩三级在线| 欧美精品丝袜久久久中文字幕| 国产真实乱对白精彩久久| 亚洲综合男人的天堂| 国产清纯白嫩初高生在线观看91 | 99re在线精品| 国产一区二三区| 亚洲一区二区在线免费看| 国产欧美一区二区精品久导航| 欧美另类videos死尸| 不卡一区二区三区四区| 黑人精品欧美一区二区蜜桃| 99久久国产综合精品麻豆| 日韩不卡在线观看日韩不卡视频| 国产精品全国免费观看高清| 日韩西西人体444www| 色综合久久天天| 成人午夜私人影院| 韩国欧美一区二区| 三级不卡在线观看| 亚洲1区2区3区4区| 亚洲精品免费在线播放| 国产精品久久久久一区 | 中文字幕亚洲综合久久菠萝蜜| 精品国产污网站| 日韩欧美在线1卡| 欧美久久久久久蜜桃| 欧美日韩免费电影| 91搞黄在线观看| 在线观看亚洲一区| 欧美亚日韩国产aⅴ精品中极品| 99国产精品久| av不卡一区二区三区| 成人av免费在线播放| 成人视屏免费看| 成人av在线看| 色综合一区二区| 丁香六月综合激情| 国产99久久久久| www.欧美色图| 91片在线免费观看| 在线观看免费成人| 69av一区二区三区| 日韩精品一区二区三区视频播放| 337p亚洲精品色噜噜狠狠| 欧美人动与zoxxxx乱| 制服丝袜日韩国产| 欧美xxxxxxxx| 国产人成亚洲第一网站在线播放| 中文字幕乱码一区二区免费| 亚洲三级理论片| 亚洲综合区在线| 免费在线观看日韩欧美| 免费成人美女在线观看| 国产99久久久国产精品免费看| 久久99国产精品久久| 风间由美中文字幕在线看视频国产欧美 | 成人一区二区三区视频| 91小视频在线免费看| 欧美视频一区二区在线观看| 欧美一级免费大片| 国产日韩欧美高清| 一区二区三区高清| 免费高清成人在线| 成人黄色片在线观看| 在线播放欧美女士性生活| 26uuu亚洲| 亚洲视频一二三| 青青草97国产精品免费观看| 国产成人综合亚洲91猫咪| 色婷婷av一区二区三区软件| 91精品国产91久久久久久最新毛片 | 亚洲欧美日韩国产综合在线| 午夜精品久久久久| 成人三级伦理片| 欧美美女激情18p| 国产日产欧产精品推荐色| 天堂午夜影视日韩欧美一区二区| 国产成人小视频| 欧美一级片免费看| 亚洲一区二区三区四区在线| 国产成人精品免费网站| 欧美一区二区三区四区高清|