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

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

?? stage_types.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: Shared types, constants, etc * Author: Andrew Howard, Richard Vaughan * Date: 12 Mar 2001 * CVS: $Id: stage_types.hh,v 1.9.2.1 2002/12/10 00:28:18 rtv Exp $ */#ifndef STAGE_TYPES_HH#define STAGE_TYPES_HH#if HAVE_CONFIG_H#  include <config.h>#endif#include <stddef.h>#include <assert.h>#include <math.h>// get player's message structures#include "player.h" ///////////////////////////////////////////////////////////////////////////// CONSTANTS - please don't use #defines here!// this is the default port bound by Stage's serverconst int DEFAULT_POSE_PORT = 6601;// we usually use 1 or 2, so this should be plenty// TODO - make this dynamicconst int MAX_POSE_CONNECTIONS = 100; // this is the root filename for stage devices// this is appended with the user name and instance number// so in practice you get something like /tmp/stageIO.vaughan.0// currently only the zero instance is supported// this line causes the compiler to complain about multiple// definitions of IOFILENAME. why? - rtv // const char* IOFILENAME = "/tmp/stageIO";// i'll stick to the macro...#define IOFILENAME "/tmp/stageIO"// the max size of an entity's worldfile tokenconst size_t STAGE_TOKEN_MAX = 48;const size_t STAGE_WORLD_FILENAME_MAX = 512;///////////////////////////////////////////////////////////////////////////// Global variables// raising this causes Stage to exit the main loop and die nicely// exception throwing would be better style...extern bool quit;///////////////////////////////////////////////////////////////////////////// Useful stage types// ENTITY TYPE DEFINITIONS /////////////////////////////////////////////////////////// a unique id for each entity equal to its position in the world's arraytypedef int stage_id_t;// Color typetypedef uint32_t StageColor;/* StageType is deprecated and has been removed */// these properties can be set with the SetProperty() methodconst int ENTITY_FIRST_PROPERTY = 1;enum EntityProperty{  PropParent = ENTITY_FIRST_PROPERTY,   PropSizeX,   PropSizeY,   PropPoseX,   PropPoseY,   PropPoseTh,   PropOriginX,   PropOriginY,   PropName,  PropColor,   PropShape,   PropLaserReturn,  PropSonarReturn,  PropIdarReturn,   PropObstacleReturn,   PropVisionReturn,   PropPuckReturn,  PropPlayerId,  PropPlayerSubscriptions,  PropCommand,  PropData,  PropConfig,  PropReply,  ENTITY_LAST_PROPERTY // this must be the final property - we use it // as a count of the number of properties.};// (currently) static memory allocation for getting and setting properties//const int MAX_NUM_PROPERTIES = 30;const int MAX_PROPERTY_DATA_LEN = 20000;class CEntity;class CWorld;class LibraryItem;// pointer to a function that returns a new  entity// given a world and a parenttypedef CEntity*(*CreatorFunctionPtr)( LibraryItem *libit, CWorld *world, CEntity *parent );typedef struct libitem{  const char* token;  //StageType type;  const char* colorstr;  CreatorFunctionPtr fp;} libitem_t;// PROPERTY DEFINITIONS ///////////////////////////////////////////////// Shapes for entitiesenum StageShape{  ShapeNone = 0,  ShapeCircle,  ShapeRect};// Possible laser return valuesenum LaserReturn{  LaserTransparent = 0,  LaserVisible,   LaserBright,};// Possible IDAR return valuesenum IDARReturn{  IDARTransparent=0,  IDARReflect,  IDARReceive};// Possible Gripper return valuesenum GripperReturn{  GripperDisabled = 0,  GripperEnabled};// any integer value other than this is a valid fiducial IDconst int FiducialNone = 0;// image types ////////////////////////////////////////////////////////unsigned int RGB( int r, int g, int b );typedef struct Point{  int x, y;};typedef struct Rect{  int toplx, toply, toprx, topry, botlx, botly, botrx, botry;};///////////////////////////////////////////////////////////////////////////// Some useful macros// Determine size of array#ifndef ARRAYSIZE#define ARRAYSIZE(x) (int) (sizeof(x) / sizeof(x[0]))#endif// size of char arrays for hostnames#define HOSTNAME_SIZE 256#define MILLION 1000000L#ifndef M_PI#define M_PI        3.14159265358979323846#endif#ifndef TWOPI#define TWOPI 2 * M_PI#endif#define STAGE_SYNC 0#define STAGE_ASYNC 1// Convert radians to degrees#define RTOD(r) ((r) * 180 / M_PI)// Convert degrees to radians#define DTOR(d) ((d) * M_PI / 180)// Normalize angle to domain -pi, pi#define NORMALIZE(z) atan2(sin(z), cos(z))#define ASSERT(m) assert(m)// Error macros#define PRINT_ERR(m)         printf("\nstage error : %s : "m"\n", \                                    __FILE__)#define PRINT_ERR1(m, a)     printf("\nstage error : %s : "m"\n", \                                    __FILE__, a)#define PRINT_ERR2(m, a, b)  printf("\nstage error : %s : "m"\n", \                                    __FILE__, a, b)// Warning macros#define PRINT_WARN(m)         printf("\nstage warning : %s %s "m"\n", \                                     __FILE__, __FUNCTION__)#define PRINT_WARN1(m, a)     printf("\nstage warning : %s %s "m"\n", \                                     __FILE__, __FUNCTION__, a)#define PRINT_WARN2(m, a, b)  printf("\nstage warning : %s %s "m"\n", \                                     __FILE__, __FUNCTION__, a, b)#define PRINT_WARN3(m, a, b, c) printf("\nstage warning : %s %s "m"\n", \                                     __FILE__, __FUNCTION__, a, b, c)// Message macros#define PRINT_MSG(m) printf("stage msg : %s :\n  "m"\n", __FILE__)#define PRINT_MSG1(m, a) printf("stage msg : %s :\n  "m"\n", __FILE__, a)#define PRINT_MSG2(m, a, b) printf("stage msg : %s :\n  "m"\n", __FILE__, a, b)// DEBUG macros#ifdef DEBUG#define PRINT_DEBUG(m)         printf("\rstage debug : %s %s\n  "m"\n", \                                     __FILE__, __FUNCTION__)#define PRINT_DEBUG1(m, a)     printf("\rstage debug : %s %s\n  "m"\n", \                                     __FILE__, __FUNCTION__, a)#define PRINT_DEBUG2(m, a, b)  printf("\rstage debug : %s %s\n  "m"\n", \                                     __FILE__, __FUNCTION__, a, b)#define PRINT_DEBUG3(m, a, b, c) printf("\rstage debug : %s %s\n  "m"\n", \                                     __FILE__, __FUNCTION__, a, b, c)#define PRINT_DEBUG4(m, a, b, c, d) printf("\rstage debug : %s %s\n  "m"\n", \                                     __FILE__, __FUNCTION__, a, b, c, d)#else#define PRINT_DEBUG(m)#define PRINT_DEBUG1(m, a)#define PRINT_DEBUG2(m, a, b)#define PRINT_DEBUG3(m, a, b, c)#define PRINT_DEBUG4(m, a, b, c, d)#endif// these are lifted from ahoward's rtk2 library code// Append an item to a linked list#define STAGE_LIST_APPEND(head, item) \item->prev = head;\item->next = NULL;\if (head == NULL)\    head = item;\else\{\    while (item->prev->next)\       item->prev = item->prev->next;\    item->prev->next = item;\}// Remove an item from a linked list#define STAGE_LIST_REMOVE(head, item) \if (item->prev)\    item->prev->next = item->next;\if (item->next)\    item->next->prev = item->prev;\if (item == head)\    head = item->next;#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色94色欧美sute亚洲线路二| 国产精品丝袜91| 国产丝袜欧美中文另类| 亚洲综合激情网| 成人免费高清在线| 日韩欧美中文字幕精品| 洋洋成人永久网站入口| 国产.欧美.日韩| 欧美成人a∨高清免费观看| 亚洲久草在线视频| 不卡区在线中文字幕| 欧美大尺度电影在线| 亚洲高清久久久| 91视频com| 精品亚洲免费视频| 婷婷开心久久网| 中文字幕在线不卡国产视频| 久久99精品国产.久久久久久| 91黄色小视频| 一区二区三区中文字幕精品精品 | 激情综合色丁香一区二区| 欧美日韩中字一区| 亚洲午夜久久久久久久久久久 | 免费视频一区二区| 欧美伊人久久久久久久久影院 | 中文字幕乱码一区二区免费| 国内精品久久久久影院色| 日韩欧美国产一二三区| 蜜臀91精品一区二区三区| 欧美一区2区视频在线观看| 性做久久久久久久免费看| 欧美卡1卡2卡| 午夜精品影院在线观看| 欧美久久高跟鞋激| 青青草国产精品亚洲专区无| 日韩视频国产视频| 国产制服丝袜一区| 久久精品视频一区二区三区| 成人永久免费视频| 中文字幕亚洲成人| 欧美少妇一区二区| 日本不卡视频在线| 精品国产一区二区三区av性色 | 中文字幕乱码日本亚洲一区二区| 国产精品1区2区3区| 国产精品系列在线| 91丨九色丨蝌蚪丨老版| 亚洲成a人v欧美综合天堂下载| 欧美乱妇15p| 国产裸体歌舞团一区二区| 中国色在线观看另类| 欧洲国产伦久久久久久久| 亚洲国产日产av| 欧美mv日韩mv国产| 成人成人成人在线视频| 午夜精品福利在线| 久久久综合网站| 色综合久久中文字幕综合网 | 亚洲精品水蜜桃| 7777精品伊人久久久大香线蕉| 久久av资源网| 亚洲男人的天堂一区二区| 欧美一区二区三区在线视频| 粉嫩aⅴ一区二区三区四区五区| 一级特黄大欧美久久久| 精品人伦一区二区色婷婷| 99re这里只有精品视频首页| 午夜视频一区二区三区| 国产精品丝袜91| 日韩一级视频免费观看在线| 成人国产精品免费观看| 日本麻豆一区二区三区视频| 国产精品免费丝袜| 欧美—级在线免费片| 欧美精品在线视频| 不卡av电影在线播放| 欧美a级理论片| 亚洲欧美乱综合| 精品成a人在线观看| 欧美日韩精品是欧美日韩精品| 国产一区二区精品久久| 日韩电影免费在线看| 亚洲视频一区在线观看| 久久人人爽爽爽人久久久| 欧美日韩日日骚| 不卡区在线中文字幕| 精品一区二区精品| 日韩精品欧美成人高清一区二区| 国产精品电影一区二区| 26uuu精品一区二区在线观看| 欧美视频一区二区| 色系网站成人免费| 春色校园综合激情亚洲| 黄色精品一二区| 美国毛片一区二区| 日韩专区一卡二卡| 亚洲国产欧美在线| 一区二区三区久久久| 中文字幕一区二区三区在线不卡| 久久久亚洲午夜电影| 欧美一区二区三级| 91精品国产综合久久精品图片 | aaa亚洲精品一二三区| 国产精品中文字幕一区二区三区| 色婷婷激情一区二区三区| 成人在线视频一区| 成人免费毛片a| 成人黄色片在线观看| 成人激情免费网站| 成人少妇影院yyyy| 成人午夜视频在线观看| 不卡影院免费观看| 99视频精品全部免费在线| 成人一区在线看| proumb性欧美在线观看| 成人激情午夜影院| 91色在线porny| 91无套直看片红桃| 色婷婷久久综合| 在线观看免费一区| 91精品一区二区三区久久久久久 | 欧美大肚乱孕交hd孕妇| 欧美电视剧在线观看完整版| 欧美成人乱码一区二区三区| 久久综合九色欧美综合狠狠 | 亚洲欧洲99久久| 亚洲美女偷拍久久| 午夜欧美2019年伦理| 久久精品久久精品| 国产不卡高清在线观看视频| 成人综合在线观看| 欧洲国内综合视频| 日韩欧美激情四射| 国产精品无码永久免费888| 亚洲丝袜精品丝袜在线| 亚洲一区二区三区国产| 色婷婷久久久亚洲一区二区三区| 欧美自拍丝袜亚洲| 日韩视频在线观看一区二区| 国产日韩av一区| 亚洲一线二线三线久久久| 免费黄网站欧美| 成人av电影观看| 欧美男女性生活在线直播观看| 337p粉嫩大胆色噜噜噜噜亚洲 | 成人av资源下载| 欧美在线视频日韩| 欧美成人在线直播| 亚洲日本乱码在线观看| 免费一级片91| 99v久久综合狠狠综合久久| 欧美肥妇bbw| 国产精品久久久久久久久快鸭| 亚洲妇女屁股眼交7| 国产精品一区二区久久精品爱涩 | 一区二区三区精密机械公司| 免费在线看成人av| 91小视频在线观看| 久久亚洲精精品中文字幕早川悠里| 国产精品国产三级国产三级人妇| 日韩国产精品大片| 91丨porny丨最新| 精品国免费一区二区三区| 亚洲午夜久久久久| 福利视频网站一区二区三区| 欧美军同video69gay| 国产精品区一区二区三| 久久99日本精品| 欧美视频一区在线| 中文字幕二三区不卡| 久久精品999| 欧美日韩国产综合视频在线观看 | 精品日韩99亚洲| 亚洲国产视频网站| 99精品在线观看视频| 26uuu精品一区二区| 成人免费视频caoporn| 精品美女被调教视频大全网站| 亚洲专区一二三| 99这里只有久久精品视频| 久久人人超碰精品| 久久99精品一区二区三区三区| 在线看日本不卡| 日韩伦理av电影| 成人aa视频在线观看| 国产日韩精品视频一区| 国内不卡的二区三区中文字幕| 91精品国产色综合久久不卡电影| 一区二区三区国产精品| 色综合天天综合在线视频| 欧美极品aⅴ影院| 成人性生交大片免费看中文网站| www久久精品| 国产一区二区三区电影在线观看 | 在线成人免费观看| 亚洲国产视频一区| 欧美三级电影在线看| 一区二区久久久久| 欧美视频一区二区三区四区| 亚洲午夜久久久久久久久电影院|