📄 threads.cpp
字号:
/*********************************************************************************** In the name of Almighty ** ** Threads.cpp : Robocup Soccer Simulator Developement Team: Zigorat ** ** Date: 07/08/2007 ** Author: Mahdi Hamdarsi ** Research Coordinator: Amin Mohammadi ** Comments: Threads to handle GTK and MESA operations simultinously ** ***********************************************************************************//*! \file Threads.cpp<pre><b>File:</b> Threads.cpp<b>Project:</b> Robocup Soccer Simulator Developement Team: Zigorat<b>Authors:</b> Mahdi Hamdarsi, Amin Mohammadi<b>Created:</b> 12/02/2001<b>Last Revision:</b> $ID$<b>Contents:</b> Threads to handle GTK and MESA operations simultinously<hr size=2><h2><b>Changes</b></h2><b>Date</b> <b>Author</b> <b>Comment</b>07/08/2007 Mahdi Hamdarsi Initial version created</pre>*/#include <GL/glut.h>#include <gtk/gtk.h>#include "GraphicEngine.h"#include "RubySceneGraph.h"#include "SharedData.h"#include "Editor.h"#include "interface.h"#include "support.h"GtkWidget *m_SaveDialog = NULL;GtkWidget *m_MainWindow = NULL;GtkWidget *m_AboutWin = NULL;GtkWidget *m_MyEventHandlerButton = NULL;extern TOpenGLEngine * OpenGLEngine;extern TRubySceneGraph * RubySceneGraph;bool bQuit = false;string path;void display(void){ if( bQuit ) glutDestroyWindow( OpenGLEngine->getWindowID() ); else { OpenGLEngine->updateAll(); OpenGLEngine->renderAll(); }}gint delete_event( GtkWidget *widget, GdkEvent *event, gpointer data ){ return FALSE;}void * OpenGLThreadCallback( void * data ){ InitializeOpenGLEngine( "ZigoBot Viewer" ); OpenGLEngine->setOnDisplay( display ); OpenGLEngine->setLightPosition( VecPosition( 100,-100,4 ), 0 ); OpenGLEngine->setLightDirection( VecPosition(0,0,0), 0 ); OpenGLEngine->setLightPosition( VecPosition( -100,-100,4 ), 1 ); OpenGLEngine->setLightDirection( VecPosition(0,0,0), 1 ); OpenGLEngine->setLightPosition( VecPosition( 0,0,100 ), 2 ); OpenGLEngine->setLightDirection( VecPosition(0,0,0), 2 ); VecPosition a(2, -10, 3); OpenGLEngine->setCameraPosition( a.getX(), a.getY(), a.getZ() ); a = -a; a.setZ( -1 ); OpenGLEngine->setCameraDirection( a.getX(), a.getY(), a.getZ() ); OpenGLEngine->setCameraUpDirection( 0,0,1 ); RubySceneGraph->initializeRendering(); OpenGLEngine->startEngine(); FinalizeOpenGLEngine(); return NULL;}void * GTKThreadCallback( void * data ){ gtk_init(0, 0); gtk_set_locale(); add_pixmap_directory("/root/Projects/ZigoBotDesigner/graphics/"); m_MainWindow = create_winMain(); gtk_widget_show_all(m_MainWindow); TMessage msg; UpdateLists(msg); gtk_main(); bQuit = true; return NULL;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -