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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ptzdevice.cc

?? 一個(gè)機(jī)器人平臺(tái)
?? CC
字號(hào):
/////////////////////////////////////////////////////////////////////////////// File: ptzdevice.cc// Author: Andrew Howard// Date: 01 Dev 2000// Desc: Simulates the Sony pan-tilt-zoom device//// CVS info://  $Source: /cvsroot/playerstage/code/stage/src/models/Attic/ptzdevice.cc,v $//  $Author: gerkey $//  $Revision: 1.3.8.1 $//// Usage://  (empty)//// Theory of operation://  (empty)//// Known bugs://  (empty)//// Possible enhancements://  (empty)///////////////////////////////////////////////////////////////////////////////#define ENABLE_RTK_TRACE 1#include <math.h> // RTV - RH-7.0 compiler needs explicit declarations#include "world.hh"#include "ptzdevice.hh"///////////////////////////////////////////////////////////////////////////// Default constructor//CPtzDevice::CPtzDevice(LibraryItem* libit,CWorld *world, CEntity *parent )  : CPlayerEntity(libit,world, parent ){     // set the Player IO sizes correctly for this type of Entity  m_data_len    = sizeof( player_ptz_data_t );   m_command_len = sizeof( player_ptz_cmd_t );  m_config_len  = 0;  m_reply_len  = 0;   m_player.code = PLAYER_PTZ_CODE;  m_interval = 0.1;  m_last_update = 0;  // Set default shape and geometry  this->shape = ShapeRect;  this->size_x = 0.165;  this->size_y = 0.145;  // these pans are the right numbers for our PTZ - RTV  m_pan_min = -100;  m_pan_max = +100;    // and it's probably just as well to disable tilt for the moment. - RTV  m_tilt_max = 0;  m_tilt_min = 0;    m_zoom_min = 10;  m_zoom_max = 120;    m_pan = m_tilt = 0;  m_zoom = m_zoom_max;}///////////////////////////////////////////////////////////////////////////// Startup routine//bool CPtzDevice::Startup(){  if (!CPlayerEntity::Startup())    return false;  return true;}///////////////////////////////////////////////////////////////////////////// Load the entity from the world filebool CPtzDevice::Load(CWorldFile *worldfile, int section){  if (!CPlayerEntity::Load(worldfile, section))    return false;  // Field of view (for scaling zoom values)  //  // should look in the Sony manual to get these numbers right,  // but they'll change with the lens, and we have 2 lenses  // eventually all this stuff'll come from config files  //    // these are my guesses, based on a vague memory that the basic Sony   // cameras lens has a 60-degree FOV and 12x zoom (and an assumption of linear  // zoom.  note that the normal/wide lens issue is dealt with via a   // .world file option - BPG  double normal_lens_fov = 60.0;  double max_zoom = 12.0;  double wide_lens_multiplier = 2.0;  // Read ptz settings  const char *lens = worldfile->ReadString(section, "lens", "normal");  if(!strcmp(lens, "normal"))    m_zoom_max = normal_lens_fov;  else if(!strcmp(lens, "wide"))    m_zoom_max = normal_lens_fov * wide_lens_multiplier;  else  {    PRINT_ERR1(" ignoring unknown lens specifier \"%s\"\n", lens);    m_zoom_max = normal_lens_fov;  }  m_zoom_min = m_zoom_max / max_zoom;  m_zoom = m_zoom_max;    return true;}///////////////////////////////////////////////////////////////////////////// Update the device data//void CPtzDevice::Update( double sim_time ){  char buffer[PLAYER_MAX_REQREP_SIZE];  void *client;  CPlayerEntity::Update( sim_time );    ASSERT(m_world != NULL);      // if its time to recalculate ptz  //  if( sim_time - m_last_update < m_interval )  return;      m_last_update = sim_time;    // Dont update anything if we are not subscribed  //  if(!Subscribed())  {    // reset the camera to (0,0,0) to better simulate the physical camera    m_pan = 0;    m_tilt = 0;    m_zoom = m_zoom_max;    return;  }    // we're subscribed, so do the update  // we don't support any config requests, but some exist for the ptz  // interface, so we'll NACK to all of them  if(GetConfig(&client, buffer, sizeof(buffer)) > 0)  {    PLAYER_WARN("tried to make unsupported configuration change to simulated ptz device");                    PutReply(client, PLAYER_MSGTYPE_RESP_NACK);  }  // Get the command string  //  player_ptz_cmd_t cmd;  int len = GetCommand(&cmd, sizeof(cmd));  if (len > 0 && len != sizeof(cmd))  {    PRINT_MSG("command buffer has incorrect length -- ignored");    return;  }    // Parse the command string (if there is one)  //  if (len > 0)  {    // TODO: put a little controller in here to pan gradually    // rather than instantly for better realism - rtv    double pan = (short) ntohs(cmd.pan);    double tilt = (short) ntohs(cmd.tilt);    double zoom = (short) ntohs(cmd.zoom);          // Threshold    //    pan = (pan < m_pan_max ? pan : m_pan_max);    pan = (pan > m_pan_min ? pan : m_pan_min);          tilt = (tilt < m_tilt_max ? tilt : m_tilt_max);    tilt = (tilt > m_tilt_min ? tilt : m_tilt_min);          zoom = (zoom < m_zoom_max ? zoom : m_zoom_max);    zoom = (zoom > m_zoom_min ? zoom : m_zoom_min);          // Set the current values    // This basically assumes instantaneous changes    // We could add a velocity in here later. ahoward    //    m_pan = pan;    m_tilt = tilt;    m_zoom = zoom;  }    // Construct the return data buffer  //  player_ptz_data_t data;  data.pan = htons((short) m_pan);  data.tilt = htons((short) m_tilt);  data.zoom = htons((short) m_zoom);  data.panspeed = data.tiltspeed = 0;    // Pass back the data  //  PutData(&data, sizeof(data));}///////////////////////////////////////////////////////////////////////////// Get the pan/tilt/zoom values// All values are angles.void CPtzDevice::GetPTZ(double &pan, double &tilt, double &zoom){  pan = DTOR(m_pan);  tilt = DTOR(m_tilt);  zoom = DTOR(m_zoom);  return;}#ifdef INCLUDE_RTK2///////////////////////////////////////////////////////////////////////////// Initialise the rtk guivoid CPtzDevice::RtkStartup(){  CPlayerEntity::RtkStartup();    // Create a figure representing this object  this->fov_fig = rtk_fig_create(m_world->canvas, NULL, 49);  // Set the color  rtk_fig_color_rgb32(this->fov_fig, this->color);}///////////////////////////////////////////////////////////////////////////// Finalise the rtk guivoid CPtzDevice::RtkShutdown(){  // Clean up the figure we created  rtk_fig_destroy(this->fov_fig);  CPlayerEntity::RtkShutdown();} ///////////////////////////////////////////////////////////////////////////// Update the rtk guivoid CPtzDevice::RtkUpdate(){  CPlayerEntity::RtkUpdate();   // Get global pose  double gx, gy, gth;  GetGlobalPose(gx, gy, gth);  rtk_fig_clear(this->fov_fig);  rtk_fig_origin(this->fov_fig, gx, gy, gth );  player_ptz_data_t data;  // if a client is subscribed to this device  if( Subscribed() > 0 && m_world->ShowDeviceData( this->lib_entry->type_num) )  {    // attempt to get the right size chunk of data from the mmapped buffer    if( GetData( &data, sizeof(data) ) == sizeof(data) )    {             short pan_deg = (short)ntohs(data.pan);      //short tilt_deg = (short)ntohs(data.tilt); // unused..?      //unsigned short zoom = ntohs(data.zoom);      double pan = DTOR((double)pan_deg);            double ox, oy;      double fx;      // Camera field of view in x-direction (radians), based on zoom      fx = DTOR(m_zoom);            ox = 100 * cos(pan);      oy = 100 * sin(pan);      rtk_fig_line(this->fov_fig, 0.0, 0.0, ox, oy);      ox = 100 * cos(pan + fx / 2);      oy = 100 * sin(pan + fx / 2);      rtk_fig_line(this->fov_fig, 0.0, 0.0, ox, oy);      ox = 100 * cos(pan - fx / 2);      oy = 100 * sin(pan - fx / 2);      rtk_fig_line(this->fov_fig, 0.0, 0.0, ox, oy);          }  }}#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区久久久| 日韩福利电影在线观看| 97久久精品人人做人人爽50路| 成人动漫视频在线| www.在线欧美| 午夜电影一区二区三区| 成人午夜激情片| 欧美成人一区二区三区在线观看 | 亚洲国产一二三| 国产精品中文欧美| 亚洲一区视频在线观看视频| 91精品综合久久久久久| 国产一区二区网址| 91精品国产综合久久香蕉麻豆| 欧美色男人天堂| 亚洲国产精华液网站w| 免费成人av资源网| 精品嫩草影院久久| 99在线视频精品| 日韩av电影免费观看高清完整版 | 欧美精品一区二区久久久| 色欧美片视频在线观看| 国产·精品毛片| 国产在线精品一区二区不卡了| 亚洲高清免费一级二级三级| 亚洲六月丁香色婷婷综合久久| 国产亚洲精久久久久久| 精品裸体舞一区二区三区| 欧美疯狂做受xxxx富婆| 欧美吻胸吃奶大尺度电影 | 国产乱子轮精品视频| 男女男精品视频| 三级在线观看一区二区| 亚洲妇熟xx妇色黄| 亚洲丶国产丶欧美一区二区三区| 亚洲综合色噜噜狠狠| 亚洲人成网站色在线观看| 亚洲视频免费在线| 亚洲老妇xxxxxx| 亚洲视频香蕉人妖| 一区二区三区在线观看欧美| 亚洲视频精选在线| 亚洲美女区一区| 一区二区三区成人在线视频| 亚洲激情综合网| 亚洲一区影音先锋| 亚洲一区二区三区小说| 无吗不卡中文字幕| 人人爽香蕉精品| 久久99热99| 国产麻豆视频精品| 成人黄色一级视频| 91影视在线播放| 欧美调教femdomvk| 欧美一级片在线看| 精品久久久久久亚洲综合网| 久久日一线二线三线suv| 国产三级三级三级精品8ⅰ区| 久久久不卡影院| 亚洲色图在线播放| 午夜一区二区三区在线观看| 麻豆成人综合网| 国产传媒欧美日韩成人| 91麻豆自制传媒国产之光| 欧美激情自拍偷拍| 亚洲男女一区二区三区| 五月天亚洲婷婷| 国模套图日韩精品一区二区| 波多野结衣一区二区三区 | 国产成a人无v码亚洲福利| 99re这里只有精品视频首页| 欧美乱妇15p| 久久久精品日韩欧美| 亚洲激情一二三区| 麻豆91精品视频| gogo大胆日本视频一区| 欧美网站大全在线观看| 久久婷婷国产综合精品青草| 亚洲精品日韩一| 狠狠网亚洲精品| 日本精品一区二区三区高清| 欧美一区二区成人6969| 国产精品久久久久久久久果冻传媒| 亚洲成a人片在线不卡一二三区 | 激情偷乱视频一区二区三区| 91美女片黄在线观看91美女| 日韩欧美国产午夜精品| 亚洲欧洲日韩在线| 美国三级日本三级久久99| 91视频免费播放| 久久精品人人爽人人爽| 污片在线观看一区二区| 成+人+亚洲+综合天堂| 91精品国产高清一区二区三区蜜臀| 中文字幕av在线一区二区三区| 日韩精品乱码av一区二区| 91一区二区三区在线观看| 欧美精品一区二区在线播放| 亚洲一区二区精品视频| www.日本不卡| 精品国产一区a| 日韩国产精品大片| 欧美在线免费播放| 国产精品久久久久婷婷二区次| 另类小说综合欧美亚洲| 欧美视频完全免费看| 国产精品无圣光一区二区| 麻豆成人在线观看| 欧美精三区欧美精三区| 国产精品久久久久久一区二区三区| 秋霞午夜鲁丝一区二区老狼| 欧美在线短视频| 亚洲欧美激情在线| 国产精品一区二区久久不卡 | 4438x亚洲最大成人网| 亚洲视频香蕉人妖| 成人免费视频视频在线观看免费 | 日产精品久久久久久久性色| 91欧美一区二区| 国产精品嫩草久久久久| 国产综合成人久久大片91| 日韩精品资源二区在线| 秋霞电影网一区二区| 欧美精品日韩一本| 99麻豆久久久国产精品免费| 精品999在线播放| 久久er精品视频| 欧美大片在线观看一区| 久久精品国产在热久久| 欧美一区欧美二区| 日本女优在线视频一区二区| 欧美日韩亚洲另类| 亚洲福中文字幕伊人影院| 一本色道久久加勒比精品| 亚洲精品自拍动漫在线| 色婷婷综合久色| 亚洲二区在线观看| 欧美日产国产精品| 日韩精品国产欧美| 欧美电影免费观看高清完整版在线观看| 欧美aaaaaa午夜精品| 日韩精品一区二区在线观看| 国产一区二区网址| 国产精品青草久久| 91丨porny丨户外露出| 亚洲宅男天堂在线观看无病毒| 欧美影院精品一区| 日本不卡视频在线观看| 欧美成人激情免费网| 国内外精品视频| 国产精品久久午夜夜伦鲁鲁| 91色在线porny| 丝袜亚洲另类欧美| 欧美xxx久久| 成人免费观看男女羞羞视频| 亚洲免费在线电影| 在线综合亚洲欧美在线视频| 久久99国产精品尤物| 国产欧美日韩激情| 色综合久久久网| 日本午夜精品视频在线观看| 2021中文字幕一区亚洲| 91在线精品秘密一区二区| 午夜精品影院在线观看| 精品国产乱码91久久久久久网站| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲成在人线免费| 欧美不卡一区二区三区四区| 成人黄色在线网站| 婷婷国产v国产偷v亚洲高清| 久久伊99综合婷婷久久伊| 一本大道久久精品懂色aⅴ| 视频一区二区三区入口| 中文字幕乱码日本亚洲一区二区| 91九色02白丝porn| 免费美女久久99| 亚洲欧美日韩成人高清在线一区| 欧美一区二区三区视频在线观看 | 欧美欧美午夜aⅴ在线观看| 久久99精品国产麻豆婷婷洗澡| 九色porny丨国产精品| 国产午夜亚洲精品不卡| 欧美视频精品在线| 国产福利精品一区二区| 亚洲成人久久影院| 国产欧美综合色| 欧美一区二区三区在线电影| 99免费精品视频| 激情综合色综合久久综合| 一区二区三区美女| 国产人成一区二区三区影院| 欧美日本免费一区二区三区| 不卡电影免费在线播放一区| 免费的成人av| 亚洲午夜私人影院| 国产精品国产三级国产aⅴ中文| 日韩一卡二卡三卡| 自拍视频在线观看一区二区| 日韩精品一区国产麻豆| 欧美三级电影网|