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

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

?? playerdevice.hh

?? 一個機器人平臺
?? HH
字號:
/* *  Stage : a multi-robot simulator. *  Copyright (C) 2001, 2002 Richard Vaughan, Andrew Howard and Brian Gerkey. * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * *//* * Desc: Base class for movable entities. * Author: Richard Vaughan, Andrew Howard * Date: 04 Dec 2000 * CVS info: $Id: playerdevice.hh,v 1.10.2.1 2003/05/24 01:11:19 inspectorg Exp $ */#ifndef PLAYERENTITY_HH#define PLAYERENTITY_HH#include "entity.hh"#if HAVE_STDINT_H#include <stdint.h>#endif// (a little hacky - might engineer out of this one day - rtv)class CPlayerEntity;#include <typeinfo>#define RTTI_ISTYPE(className, pObj) \		(NULL != dynamic_cast<className> (pObj))// macro is true if object X is a CPlayerEntity #define RTTI_ISPLAYER(obj) RTTI_ISTYPE( CPlayerEntity, obj)// macro is true if object X is a CPlayerEntity*#define RTTI_ISPLAYERP(pobj) RTTI_ISTYPE( CPlayerEntity*, pobj)class CPlayerEntity : public CEntity{  // Minimal constructor  // Requires a pointer to the parent and a pointer to the world.public: CPlayerEntity( LibraryItem *libit, 		       CWorld *world, 		       CEntity *parent_entity );  // Destructor  public: virtual ~CPlayerEntity();  // Load the entity from the worldfile  public: virtual bool Load(CWorldFile *worldfile, int section);    // Save the entity to the worldfile  public: virtual bool Save(CWorldFile *worldfile, int section);    // Initialise entity  public: virtual bool Startup( void );     // Finalize entity  public: virtual void Shutdown();  // Get/set properties  public: virtual int SetProperty( int con,                                   EntityProperty property, void* value, size_t len );  public: virtual int GetProperty( EntityProperty property, void* value );  public: virtual void Update( double sim_time );  // writes a description of this device into the bufferpublic: virtual void GetStatusString( char* buf, int buflen );  // Get the shared memory size  private: int SharedMemorySize( void );  //////////////////////////////////////////////////////////////////////  // PLAYER IO STUFF    // Port and index numbers for player  // identify this device as belonging to the Player on port N at index M  public: player_device_id_t m_player;  // basic external IO functions  // copies data from src to dest (if there is room), updates the  // timestamp with the current time, sets the availability value to  // the number of bytes copied  size_t PutIOData( void* dest, size_t dest_len,                      void* src, size_t src_len,                    uint32_t* ts_sec, uint32_t* ts_usec, uint32_t* avail );    // copies data from src to dest if there is room and if there is the  // right amount of data available  size_t GetIOData( void* dest, size_t dest_len,                      void* src, uint32_t* avail );      // specific external IO functions  // Write to the driver name segment of the IO buffer  //  // every player device should invoke this method early, like in the  // constructor.  protected: void SetDriverName( char* name );    // Write to the data buffer  // Returns the number of bytes copied  // timestamp should be the time the data was created/sensed. if timestamp  //   is 0, then current time is used  protected: size_t PutData( void* data, size_t len );  // Read from the data buffer  // Returns the number of bytes copied  public: size_t GetData( void* data, size_t len );     // gets a command from the mmapped command buffer  // returns the number of bytes copied (on success, this is == len)  protected: size_t GetCommand( void* command, size_t len);  // returns number of bytes copied  protected: size_t PutCommand( void* command, size_t len);  // Read from the configuration buffer  // Returns the number of bytes copied  protected: size_t GetConfig(void** client, void* config, size_t len);  // Push a configuration reply onto the outgoing queue.  // Returns 0 on success, non-zero on error.  protected: size_t PutReply(void* client, unsigned short type,                             struct timeval* ts, void* reply, size_t len);  // A short form for zero-length replies.  // Returns 0 on success, non-zero on error.  protected: size_t PutReply(void* client, unsigned short type);  // See if the device is subscribed  // returns the number of current subscriptions  //private int player_subs;   public: virtual int Subscribed();  // subscribe to / unsubscribe from the device  // these are used when one device (e.g., lbd) depends on another (e.g.,  // laser)  public: virtual void Subscribe();  public: virtual void Unsubscribe();    // these versions sub/unsub to this device and all its decendantspublic: virtual void FamilySubscribe();public: virtual void FamilyUnsubscribe();  // packages and sends data via rtp  protected: void AnnounceDataViaRTP( void* data, size_t len );  // Pointers into shared mmap for the IO structures  // the io buffer is allocated by the World   // after it has loaded all the Entities (so it knows how   // much to allocate). Then the world calls Startup() to allocate   // the local storage for each entity.   protected: player_stage_info_t *m_info_io;  protected: uint8_t *m_data_io;   protected: uint8_t *m_command_io;  protected: uint8_t *m_config_io;  protected: uint8_t *m_reply_io;  // the sizes of these buffers in bytes  protected: size_t m_data_len;  protected: size_t m_command_len;  protected: size_t m_config_len;  protected: size_t m_reply_len;  protected: size_t m_info_len;  // we'll use these entitys to access the configuration request/reply queues  protected: PlayerQueue* m_reqqueue;  protected: PlayerQueue* m_repqueue;  // set and unset the semaphore that protects this entity's shared memory   protected: bool Lock( void );  protected: bool Unlock( void );    // pointer to the  semaphore in the shared memory  //private: sem_t* m_lock;   // IO access to this device is controlled by an advisory lock   // on this byte in the shared lock file  private: int lock_byte;   private: char device_filename[256];#ifdef INCLUDE_RTK2  // Initialise the rtk gui  protected: virtual void RtkStartup();  // Process mouse events  protected: virtual void RtkOnMouse(rtk_fig_t *fig, int event, int mode);#endif};#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线视频一区| 亚洲已满18点击进入久久| 1区2区3区国产精品| 日本三级韩国三级欧美三级| 丰满亚洲少妇av| 4438x成人网最大色成网站| 国产精品福利一区二区| 精品系列免费在线观看| 欧洲精品一区二区三区在线观看| 国产亚洲婷婷免费| 日韩二区三区四区| 在线观看欧美黄色| 亚洲人成网站色在线观看| 国产成人免费av在线| 精品国产髙清在线看国产毛片| 一区二区三区资源| 91在线免费播放| 欧美激情一区二区三区蜜桃视频 | 国产精品18久久久久久久久久久久| 91黄色免费看| 亚洲精品老司机| 91一区二区三区在线播放| 国产欧美综合色| 国产成人免费视频| 日本一区二区三区电影| 大桥未久av一区二区三区中文| 日韩免费观看高清完整版在线观看| 香蕉成人伊视频在线观看| 欧美亚洲自拍偷拍| 午夜精品免费在线| 欧美一区二区国产| 久久se精品一区精品二区| 欧美成人一区二区三区片免费| 首页国产欧美日韩丝袜| 欧美日本在线播放| 青草av.久久免费一区| 91麻豆精品国产91| 蜜臀av一区二区| 国产午夜精品福利| 91麻豆精品秘密| 亚洲一区二区高清| 欧美一区二区在线视频| 极品少妇一区二区| 国产日韩精品久久久| 91免费视频网址| 午夜视频一区在线观看| 精品精品欲导航| 国产成人免费视频网站| 亚洲日本乱码在线观看| 欧美日韩国产系列| 国产精品一区一区| 亚洲免费观看视频| 在线综合+亚洲+欧美中文字幕| 久久99久久精品| 国产三级精品视频| 欧美三级午夜理伦三级中视频| 六月丁香综合在线视频| 欧美激情一区二区三区四区| 在线看不卡av| 久久91精品久久久久久秒播| 国产精品美女久久久久aⅴ国产馆| 91免费看`日韩一区二区| 偷窥少妇高潮呻吟av久久免费| 精品国产伦一区二区三区免费| 成人av免费在线| 视频一区中文字幕国产| 欧美极品美女视频| 欧美日韩精品欧美日韩精品一综合| 久久狠狠亚洲综合| 一区二区三区四区国产精品| 日韩欧美国产综合一区| 色成人在线视频| 国产伦精品一区二区三区在线观看| 亚洲欧洲美洲综合色网| 欧美mv和日韩mv国产网站| 色综合久久88色综合天天 | 日韩福利视频导航| 中文av一区二区| 欧美哺乳videos| 欧美丝袜自拍制服另类| 懂色av中文字幕一区二区三区| 婷婷久久综合九色综合绿巨人| 欧美激情综合网| 精品国产一区二区三区忘忧草 | 91看片淫黄大片一级在线观看| 日日夜夜免费精品| 亚洲色图在线播放| 26uuu国产一区二区三区| 欧美日韩中文精品| 色婷婷亚洲婷婷| 成人动漫视频在线| 国产一区二区三区免费看| 美女在线视频一区| 丝瓜av网站精品一区二区| 一卡二卡欧美日韩| 中文字幕在线观看一区| 国产色产综合色产在线视频| 日韩一卡二卡三卡四卡| 欧美高清视频www夜色资源网| 色呦呦网站一区| 一本色道久久综合亚洲91| 成人免费va视频| 国产福利不卡视频| 国产剧情av麻豆香蕉精品| 麻豆专区一区二区三区四区五区| 亚洲丰满少妇videoshd| 亚洲免费观看高清完整版在线| 国产精品视频九色porn| 欧美高清一级片在线观看| 国产日韩欧美一区二区三区综合| 欧美不卡一区二区三区| 欧美精品一区二区三区四区| 精品国产亚洲在线| 久久―日本道色综合久久| 久久久精品国产免大香伊| 久久美女艺术照精彩视频福利播放| 精品日韩一区二区| 久久久久国色av免费看影院| 久久精品一区二区| 中文字幕av资源一区| 中文字幕av资源一区| 中文字幕中文字幕一区二区| 最新国产精品久久精品| 一区二区在线观看免费| 亚洲一区二区三区国产| 视频一区中文字幕| 久久99精品国产.久久久久 | 久久精品日韩一区二区三区| 亚洲精品一区二区三区蜜桃下载| www成人在线观看| 日本一区二区免费在线观看视频 | 蜜臀av性久久久久蜜臀aⅴ四虎| 久久99精品网久久| 国产jizzjizz一区二区| 97国产精品videossex| 欧美另类变人与禽xxxxx| 欧美电影免费观看高清完整版在线 | 日本在线不卡一区| 国精品**一区二区三区在线蜜桃| 成人自拍视频在线| 精品视频1区2区| 欧美精品一区二区精品网| 欧美国产精品中文字幕| 亚洲一区二区欧美激情| 国产精品一区二区视频| 色噜噜狠狠色综合中国| 欧美成人vps| 亚洲人吸女人奶水| 久久99这里只有精品| 99国产欧美久久久精品| 欧美久久久久久久久中文字幕| 国产婷婷色一区二区三区四区 | 久久先锋影音av鲁色资源网| 亚洲日本在线a| 另类小说色综合网站| av在线免费不卡| 91精品国产综合久久国产大片| 中文字幕第一区| 日韩中文字幕一区二区三区| 成人小视频免费观看| 91精品综合久久久久久| 国产精品久久免费看| 玖玖九九国产精品| 在线亚洲免费视频| 国产欧美视频一区二区| 日韩有码一区二区三区| youjizz久久| 欧美成人猛片aaaaaaa| 亚洲国产欧美日韩另类综合| 成人深夜在线观看| 日韩久久久久久| 天天综合日日夜夜精品| 91亚洲国产成人精品一区二三| 精品入口麻豆88视频| 丝袜美腿成人在线| 色素色在线综合| 中文字幕在线不卡国产视频| 国产精品91一区二区| 日韩欧美在线不卡| 视频一区视频二区中文字幕| 欧美性大战久久| 亚洲视频免费看| 成人激情图片网| 日本一区二区三区四区在线视频 | 欧美精品一区二区三区一线天视频| 亚洲国产日韩在线一区模特| 91亚洲大成网污www| 久久久国产精品麻豆 | 日本欧美在线看| 欧美日韩中文另类| 午夜在线电影亚洲一区| 欧美吻胸吃奶大尺度电影| 一区二区三区在线观看网站| 97精品久久久午夜一区二区三区 | 欧美久久一二区| 视频一区二区国产| 911精品国产一区二区在线| 日韩在线一区二区| 欧美一区二区日韩一区二区| 日本在线不卡视频一二三区|