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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? logger.h

?? 機(jī)器人足球AI設(shè)計比賽
?? H
字號:
/***************************************************************************************** *                                      SEU-3D *                     ------------------------------------------------- * Copyright (c) 2005, Yuan XU<xychn15@yahoo.com.cn>,Chang'e SHI<evelinesce@yahoo.com.cn> * Copyright (c) 2006, Yuan XU<xuyuan.cn@gmail.com>,Chunlu JIANG<JamAceWatermelon@gmail.com> * Southeast University ,China * All rights reserved. * * $Id: Logger.h,v 1.1.1.1 2006/09/15 02:03:05 Administrator Exp $ * * Additionally,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 Library 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. ****************************************************************************************/ #ifndef _LOGGER_H#define _LOGGER_H#ifdef __cplusplusextern "C"{#endif#ifdef __cplusplus}#endif#include <iostream>   //-*  needed for ostream (logging to output stream)#include <fstream>    //-*  needed for fstream (logging to file)#include <string>     //-*  needed for string#include <iomanip>    //-*  needed for setw#include <set>        //-*  needed for set#include <vector>#include <ctime>      //-*  needed for log year month day time#include <sys/time.h> //-*  needed for timeval#include <sstream>#include "Geometry.h"#include "Singleton.h"#include "LogData.h"using namespace std;/** define some color */const Vector3f colorRed(1,0,0);const Vector3f colorGreen(0,1,0);const Vector3f colorBlue(0,0,1);const Vector3f colorWhite(1,1,1);const Vector3f colorBlack(0,0,0);const Vector3f colorPink(1.0f, 0.5f, 0.5f);class WorldModel;/*****************************************************************************//**************************** LOGGER *****************************************//*****************************************************************************/class Logger : public Singleton <Logger>{private:	char     _buf[MAX_LOG_LINE];    //-*  buffer needed by different methods  #ifdef ENABLE_LOG	set<int> _setLogLevels;         //-*  set that contains all log levels     	ostream* mOS;                   //-*  output stream to print messages to   	Time	_timeLogged;	//-* indicate the current info have print	vector<string>	_functions;#endifpublic:	#ifdef ENABLE_LOG	Logger( ostream& os=cout, int iMinLogLevel=0, int iMaxLogLevel = 0);		bool	addLogLevel( int iLevel);	bool	addLogRange( int iMin, int iMax);	bool	log( int iLevel , string str );	bool	log( int iLevel , char *str, ... );	void	logTable();	void	flush();	void	functionBegin(const string &name);	void	functionEnd();#else	~Logger(){};#endif	void	logErr( string str );	void	logErr( char *str, ... );	#ifdef ENABLE_LOGprotected:	int		normalizeLogLevel( int iLevel );	void	printTree( int iLevel );	bool	isInLogLevel( int iLevel );	char*	repeatChar( char c, int n );#endif};/*****************************************************************************//**************************** LOG FLAG ***************************************//*****************************************************************************/#ifdef ENABLE_LOGclass LogFlag{public:	LogFlag(const char* name1,const char* name2);	~LogFlag(){ Logger::GetSingletonPtr()->functionEnd(); }};#endif#ifdef ENABLE_LOG#define LOGPTR	Logger::GetSingletonPtr()#define LOG 	Logger::GetSingletonPtr()->log#define ADDLOG	Logger::GetSingletonPtr()->addLogLevel#define LOGTABLE Logger::GetSingletonPtr()->logTable()#define WRITELOG Logger::GetSingletonPtr()->flush()#define LOGBEGIN LogFlag logFlagInstance(__FILE__,__FUNCTION__)#else#define LOGPTR#define LOG(...)#define ADDLOG(...)#define LOGTABLE#define WRITELOG#define LOGBEGIN#endif#define LOGERR	Logger::GetSingletonPtr()->logErr("ERROR in File:  %s  Line:  %d ",__FILE__,__LINE__);Logger::GetSingletonPtr()->logErr/*****************************************************************************//**************************** FILE LOGGER ************************************//*****************************************************************************/#ifdef ENABLE_LOGclass FileLogger{protected:    FILE* _filePtr;    char _fileName[100];	bool _enabled;public:	FileLogger();	FileLogger( const char* logname );	~FileLogger();	bool	openFile( const char* logname );	void	log( const string& log_str );	void	log( const char* log_msg, ... );	void	enable() { _enabled = true; }	void	disable() { _enabled = false; }	void	flush() { if ( _filePtr != NULL ) fflush(_filePtr); }	protected:	bool	openFile( const char* logname, const char* teamname, unsigned int id );};#endif/*****************************************************************************//**************************** LOGGER *****************************************//*****************************************************************************/#ifdef ENABLE_GL_LOGclass GraphicLogger : public Singleton <GraphicLogger>{private:	set<string>  _setLogLevels;       // set that contains all log levels     	ostream&     _OS;                 // output stream to print messages to   	LogLevel     _data;               // the log datapublic:	GraphicLogger( ostream& os=cout );		~GraphicLogger(){};		void	addLogLevel( const string& level );	int     getLevelIndex(const string& strLevel)const;	void    logSphere(const string& level, const Vector3f& pos, float r);	void    logSphere(const string& level, const Vector3f& pos, float r, const Vector3f& rgb);		void    logRectangle(const string& level, const Vector3f& pos, float szX, float szY);	void    logRectangle(const string& level, const Vector3f& pos, float szX, float szY, const Vector3f& rotation);	void    logRectangle(const string& level, const Vector3f& pos, float szX, float szY, const Vector3f& rotation, const Vector3f& rgb);		void    logCircle(const string& level, const Vector3f& pos, float r);	void    logCircle(const string& level, const Vector3f& pos, float r, const Vector3f& rotation);	void    logCircle(const string& level, const Vector3f& pos, float r, const Vector3f& rotation, const Vector3f& rgb);				void    logLine(const string& level, const Vector3f& x0, const Vector3f& x1);	void    logLine(const string& level, const Vector3f& x0, const Vector3f& x1, const Vector3f& rgb);			void    logText(const string& level, const Vector3f& pos, const string& str);	void    logText(const string& level, const Vector3f& pos, const char *str, ...);	void    logText(const string& level, const Vector3f& pos, const Vector3f& rgb, const string& str);	void    logText(const string& level, const Vector3f& pos, const Vector3f& rgb, const char *str, ... );			void    logPrint(const string& level, const string& str);	void    logPrint(const string& level, const char *str, ... );	void    logPrint(const string& level, const Vector3f& rgb, const string& str );	void    logPrint(const string& level, const Vector3f& rgb, const char *str, ... );		void	flush();	void    registerLevel();protected:	//void	printTree( int iLevel );	bool	isInLogLevel( const string& level );};#define GL_ADD_LEVEL GraphicLogger::GetSingletonPtr()->addLogLevel#define GL_REGISTER GraphicLogger::GetSingletonPtr()->registerLevel();#define GL_SPHERE GraphicLogger::GetSingletonPtr()->logSphere#define GL_RECT GraphicLogger::GetSingletonPtr()->logRectangle#define GL_CIRCLE GraphicLogger::GetSingletonPtr()->logCircle#define GL_LINE GraphicLogger::GetSingletonPtr()->logLine#define GL_TEXT GraphicLogger::GetSingletonPtr()->logText#define GL_PRINT GraphicLogger::GetSingletonPtr()->logPrint#define GL_FLUSH GraphicLogger::GetSingletonPtr()->flush()#else#define GL_ADD_LEVEL(...)#define GL_REGISTER#define GL_SPHERE(...)#define GL_RECT(...)#define GL_CIRCLE(...)#define GL_LINE(...)#define GL_TEXT(...)#define GL_PRINT(...)#define GL_FLUSH#endif#endif /* _LOGGER_H */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆日韩欧美久久| 亚洲国产你懂的| 久久国产精品99精品国产| 欧美肥妇bbw| 强制捆绑调教一区二区| 日韩一区二区麻豆国产| 美女在线一区二区| 26uuu久久综合| 高清av一区二区| 亚洲人成影院在线观看| 欧美色精品天天在线观看视频| 亚洲激情成人在线| 欧美日本国产视频| 午夜电影一区二区三区| 欧美r级在线观看| 高清在线观看日韩| 一片黄亚洲嫩模| 6080日韩午夜伦伦午夜伦| 九色|91porny| 国产精品大尺度| 欧美日韩国产色站一区二区三区| 免费av网站大全久久| 欧美国产日韩一二三区| 日本韩国一区二区三区视频| 久久久精品黄色| 北条麻妃一区二区三区| 亚洲一区二区三区美女| 日韩精品自拍偷拍| 91亚洲精品久久久蜜桃| 日韩精品乱码av一区二区| 国产午夜亚洲精品不卡| 97国产一区二区| 三级成人在线视频| 国产精品全国免费观看高清| 欧美性videosxxxxx| 国产伦精品一区二区三区视频青涩 | 成人v精品蜜桃久久一区| 亚洲在线观看免费视频| 精品国产伦一区二区三区观看方式 | 蜜臀av亚洲一区中文字幕| 国产精品久久久久一区| 在线成人av网站| 99麻豆久久久国产精品免费| 免费精品99久久国产综合精品| 国产精品福利影院| 精品久久久久久无| 精品婷婷伊人一区三区三| 成人深夜视频在线观看| 久国产精品韩国三级视频| 一区二区三区中文字幕精品精品| 久久综合久久鬼色中文字| 欧美日韩中字一区| 99在线精品视频| 国产精品综合一区二区| 天堂在线亚洲视频| 亚洲少妇30p| 国产女主播视频一区二区| 欧美一级高清大全免费观看| 在线观看国产91| av一区二区不卡| 国产成人在线观看| 秋霞影院一区二区| 午夜精品福利一区二区三区av| 亚洲毛片av在线| 1区2区3区国产精品| 国产嫩草影院久久久久| wwwwww.欧美系列| 欧美电视剧在线看免费| 51精品久久久久久久蜜臀| 欧美视频三区在线播放| 色婷婷久久99综合精品jk白丝 | 亚洲女同ⅹxx女同tv| 欧美国产日韩精品免费观看| 国产午夜久久久久| 国产日产亚洲精品系列| 国产丝袜欧美中文另类| 久久久国产午夜精品 | 成人一级黄色片| 懂色av一区二区在线播放| 国产成人欧美日韩在线电影 | 国产sm精品调教视频网站| 国产中文一区二区三区| 国产精品 日产精品 欧美精品| 国产一区二区三区不卡在线观看| 国产一区二区免费视频| 国产乱人伦偷精品视频免下载| 国产成人av电影在线观看| 国产乱码精品1区2区3区| 成人一级片在线观看| 91免费精品国自产拍在线不卡| 色哟哟精品一区| 欧美精选在线播放| 欧美v亚洲v综合ⅴ国产v| 国产亚洲综合在线| 亚洲欧美自拍偷拍| 亚洲综合色网站| 人禽交欧美网站| 久色婷婷小香蕉久久| 国产suv精品一区二区6| 91成人在线观看喷潮| 欧美一级艳片视频免费观看| 亚洲精品一区二区三区99| 欧美国产精品一区| 亚洲国产精品一区二区久久恐怖片| 午夜天堂影视香蕉久久| 国产乱理伦片在线观看夜一区 | 丁香天五香天堂综合| 在线日韩一区二区| 日韩一区二区三区在线视频| 久久精品一区二区三区不卡| 自拍视频在线观看一区二区| 亚洲成人自拍偷拍| 国产在线一区观看| 色综合欧美在线视频区| 91精品国产丝袜白色高跟鞋| 国产色婷婷亚洲99精品小说| 一区二区三区四区在线| 看片网站欧美日韩| 色狠狠桃花综合| 精品日韩在线观看| 一区二区三区欧美日| 国产精品1区2区3区| 欧美在线观看一区二区| 久久午夜色播影院免费高清| 亚洲女人的天堂| 激情综合五月婷婷| 在线观看免费一区| 国产精品久久久久久久第一福利| 午夜激情一区二区三区| 成人污视频在线观看| 日韩欧美国产精品| 一区二区三区在线免费视频| 国产夫妻精品视频| 制服丝袜中文字幕一区| 自拍视频在线观看一区二区| 国产精品自拍av| 欧美精品免费视频| 亚洲精品v日韩精品| 国产激情91久久精品导航| 91麻豆精品国产| 亚洲最色的网站| av亚洲精华国产精华| 久久夜色精品一区| 久久国产三级精品| 欧美欧美午夜aⅴ在线观看| 亚洲欧洲性图库| 国产成人精品aa毛片| 精品福利在线导航| 免费观看一级欧美片| 欧美日韩久久久一区| 亚洲欧美激情视频在线观看一区二区三区 | 国产欧美一区二区在线观看| 日韩不卡免费视频| 欧美在线影院一区二区| 国产精品美女久久福利网站| 精品在线一区二区| 欧美一级二级三级乱码| 午夜不卡av免费| 欧美精品粉嫩高潮一区二区| 亚洲夂夂婷婷色拍ww47| 在线看一区二区| 亚洲免费av网站| 色噜噜狠狠一区二区三区果冻| 亚洲人快播电影网| 色婷婷国产精品久久包臀 | 亚洲欧美激情在线| 91免费观看国产| 中文字幕亚洲一区二区va在线| 成人福利视频在线| 一色桃子久久精品亚洲| 99r精品视频| 樱桃视频在线观看一区| 在线一区二区观看| 亚洲成人动漫在线观看| 欧美久久婷婷综合色| 美女一区二区三区在线观看| 日韩欧美的一区二区| 国产在线国偷精品免费看| 精品va天堂亚洲国产| 国产精品99久久久久久宅男| 日本一区免费视频| 99re这里都是精品| 亚洲一区二区精品3399| 91精品国产91久久久久久最新毛片 | 波多野结衣中文字幕一区 | 欧美视频日韩视频在线观看| 午夜精品久久久久久久99水蜜桃| 日韩一级二级三级| 国产一区二区三区精品视频| 亚洲欧洲一区二区在线播放| 欧美在线观看你懂的| 日韩 欧美一区二区三区| 欧美成人一区二区| 不卡av电影在线播放| 亚洲国产精品久久久久婷婷884| 在线不卡中文字幕播放| 国产精品77777| 一区二区三区日韩| 久久女同互慰一区二区三区| 91麻豆6部合集magnet|