Posted on 2011-11-03 11:14
Tommy Liang 阅读(375)
评论(0) 编辑 收藏 引用 所属分类:
机器人
here is the screen capture video demo:
http://youtu.be/CO0mHBMWmmgQt/OpenGL UI imitate UNITY
l Dynamic 3D view control
Easy to rotate (yaw/pitch) parts with mouse left button and pan with right button. With the mouse wheel you can scale it and double clicking to locate the central point of the view;
l Easy manipulate apparatus
Rotate or move individual parts with mouse, the parts can move correctly according to the joint relations, current support pairs: prismatic-pair and revolute-turning-pair;
l Free room dimension set up
room’s width、length、height and other parameters can be manually setup and modified;
l Parts Library
Apparatus parts can be dragged from the “parts library” into the 3D scene, and assembled to the “anchor points” of the pre-assembled parts; assembled parts are removable;
· Part joints dynamically changed
Change the part joints motion-constraint-parameters dynamically, like the hanging arm’s rotation angle range, i.e. change it from 360 degree to 90 degree, the scene will respond the changed data immediately;
· Collision detection
If the apparatus collide with each other or the room’s walls, it will turn red to indicate the collision occurring as to adjust the equipment’s position;
· Real-time dimension measure
User can switch to “Dimension measure mode” to measure chosen points from apparatus to the wall/floor/ceiling or points on the other apparatus, when press “Ctrl”,
the scene will enter “transparency dimension measure mode”, when user move or rotate the apparatus parts, related dimension numbers will change accordingly;
· Apparatus library management
user can manage the parts category hierarchy as deep as needed; support OBJ file imported into the library and preview; user can manage the part’s motion-pair parameter dynamically;
· Data export
Scene can be saved as project file and reopen; the structure of the scene including all the apparatus parameters can be exported to word/excel files; the scene can also be exported to
an independent windows executable file (exe, prototype written with MFC), when opened, user can also control the scene and the apparatus without CMaxSpore product installed;
The exported executable support only observation but not parameter manipulation;
Technical Key points
· Qt library (open source version)
· OpenGL
· Computer graphics
· OOA,OOD
· Multi-threading
· MFC/Win32 SDK
Constructing features
NVidia Optix-Real-time-ray-tracing engine embed
Exploring ideas
· Import rooms from AutoCAD DWG file; (AutoCAD API/Pattern recognition)
· Export scene to AutoCAD DWG file directly;
· JavaScript engine embed;
· Apparatus parts data network storage and multiple-user rights control;
· I18;
· Augmented reality support;
· Flash publishing