📄 readme
字号:
Hi (To whom which may read this)For non-TC only: Introduction to this project and it's motives can be found in Zigorat Teams' web @: http://zigorat3d.googlepages.com/For TC: First of all, sorry for the poor documentation, A quick info is below This project contains 4 major modules: * 1st GUI (uses GTK as base), used for editing and displaying properties, files are as follows: - callbacks.c/h : signal handlers are defined and implemented in these files (By Glade & my modifications) - interface.c/h : Interface creation and window management (By Glade & modifications) - JointsTreeView.cpp : Code for the treeview which lists joints - NodesTreeView.cpp : Code for the treeview which shows the nodes in a tree way - support.c/h : GTK support routines (By Glade) * 2nd GUI (uses MESA as base ), used for visualizing the robot while editing, No user interaction support but moving the camera, files: - GraphicEngine.cpp/h : All opengl operations are included in these files * RubyScene Engine, used for interacting with soccer scenes - Geometry.h/cpp: Support for all kinds of mathematic operations (also used in GraphicEngine.h/cpp) - Parse.h/cpp : Support modules for parsing a scene - SceneComponents.h/cpp : Scene properties are devided into nodes, joints, definitions(also evaluations), and the hierarchy of interacting nodes within wach other; itself (itself, I mean the hierarchy). These files(SceneComponents.h/cpp) contain nodes, joints and definitions - RubySceneGraph.h/cpp: Main module of loading, using, editing and saving actions for the scene graph - SharedData : Some enumerations and routines to enable inter-thread communication * Main Module: - Threads.cpp : Thread starters - main.cpp : :) A brief runtime timeline of application: First main.cpp creates 2 Threads: One for 1st GUI, other for 2nd GUI, and passes control to first GUI, then user can load, edit & save a scene. For inter-thread operations, mutexes could be used (to threadsafe the code), but they are NOT used, bexause of 2 reason: 1st: All inter-thread operations are in just one category, all are only reading, or requests for write, which none needs thread-safe codes 2nd: Mutexes created puts overload in operations when used interacingly between GTK & MESA Everything is stored in a TRubySceneGraph instance, declared and shared in RubySceneGraph.cpp. TRubySceneGraph is a container capable of using its containings, which are nodes and joints. CheersZigorat Robotic Team (http://zigorat3d.googlepages.com)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -