Controller::Controller(): m_pViewport( nullptr ), m_zoom(1.f), m_axis( nullptr ) { Ptr<Scene> scene = Scene::create(); std::auto_ptr<SceneIO::IPlugIn> objloader( XcreatePlugIn() ); struct dummy {static void callback(float f){} }; SceneIO::progress_callback dummy_cb(dummy::callback); objloader->read( L"./media/axis.obj", scene, dummy_cb); m_axis = GroupNode::create( scene->getNodes(), Matrix::Scale( Vec3(0.2f, 0.2f, 0.2f))) ; }
static void mcu_input_cb( XtPointer p, int *n, XtInputId *id ) { uint mcuid = (uintptr_t) p; struct mcu_comm *mcu = mcu_ptr(mcuid); TRACE(1,"input"); if( mrb_sock_read(mcu->qin, mcu->fd ) ) { mcu_close(mcuid); return; } while( mrb_get_line(mcu->qin, mcu->line) ) { if( mcu->callback ) mcu->callback(mcu->w, mcu->user, (void*) (intptr_t) mcu->line ); else dummy_cb(mcu->w, mcu->user, (void*) (intptr_t)mcu->line ); m_clear(mcu->line); } }