void WGLWidget::setClientSideWalkHandler(const JavaScriptMatrix4x4 &m, double frontStep, double rotStep) { mouseWentDownSlot_.setJavaScript("function(o, e){" + glObjJsRef() + ".mouseDown(o, e);}"); mouseWentUpSlot_.setJavaScript("function(o, e){" + glObjJsRef() + ".mouseUp(o, e);}"); mouseDraggedSlot_.setJavaScript("function(o, e){" + glObjJsRef() + ".mouseDragWalk(o, e);}"); mouseWheelSlot_.setJavaScript("function(o, e){}"); std::stringstream ss; ss << "(function(){var o = " << glObjJsRef() << ";" "if(o.ctx == null) return;" "o.setWalkParams(o." << m.jsRef() << "," << frontStep << "," << rotStep << ");})()"; if (this->isRendered()) { doJavaScript(ss.str()); } else { delayedJavaScript_ << ss.str(); } }
void WGLWidget::setClientSideLookAtHandler(const JavaScriptMatrix4x4 &m, double centerX, double centerY, double centerZ, double uX, double uY, double uZ, double pitchRate, double yawRate) { mouseWentDownSlot_.setJavaScript("function(o, e){" + glObjJsRef() + ".mouseDown(o, e);}"); mouseWentUpSlot_.setJavaScript("function(o, e){" + glObjJsRef() + ".mouseUp(o, e);}"); mouseDraggedSlot_.setJavaScript("function(o, e){" + glObjJsRef() + ".mouseDragLookAt(o, e);}"); mouseWheelSlot_.setJavaScript("function(o, e){" + glObjJsRef() + ".mouseWheelLookAt(o, e);}"); js_ << "obj.setLookAtParams(" << m.jsRef() << ",[" << centerX << "," << centerY << "," << centerZ << "]," << "[" << uX << "," << uY << "," << uZ << "]," << pitchRate << "," << yawRate << ");"; // if (this->isRendered()) { // doJavaScript(ss.str()); // } else { // delayedJavaScript_ << ss.str(); // } }