⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threads.cpp

📁 3D仿真组实物机器人环境下的机器人模型的设计工具。可以查看和修改现有模型的详细参数
💻 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 + -