void GL_widget_3::init() { setBackgroundColor(Qt::white); glEnable(GL_POINT_SMOOTH); glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); // Enable Blending glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Type Of Blending To Use glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); // Make round points, not square points // glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); // Antialias the lines glDisable( GL_COLOR_MATERIAL ); glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_TRUE); glLightModeli( GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE ); // glShadeModel(GL_FLAT); glEnable(GL_NORMALIZE); setMouseBinding(Qt::LeftButton, ZOOM_ON_PIXEL, true); // setMouseBinding(Qt::LeftButton, RAP_FROM_PIXEL, true); setMouseBinding(Qt::RightButton, ZOOM_TO_FIT, true); setMouseBinding(Qt::ALT + Qt::LeftButton, ALIGN_CAMERA, true); // setMouseBinding(Qt::RightButton, RAP_IS_CENTER, true); glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 50); setManipulatedFrame(0); set_camera_projection(); create_sphere_display_list(); }
void KnotsViewer::init() { glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // Restore previous viewer state. restoreStateFromFile(); setBackgroundColor(QColor(255,255,255,0)); setMouseBinding(Qt::NoModifier, Qt::LeftButton, NO_CLICK_ACTION); setMouseBinding(Qt::ShiftModifier, Qt::LeftButton, CAMERA, SCREEN_ROTATE);//重新设置LeftButton,旋转屏幕或者物体 }
void QGCodeViewer::init() { setShortcut(DISPLAY_FPS, Qt::CTRL+Qt::Key_F); setShortcut(DRAW_GRID, 0); setManipulatedFrame(new ManipulatedFrame()); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glEnable(GL_DEPTH_TEST); glDrawBuffer(GL_BACK); //glDisable(GL_CULL_FACE); //glLineStipple(2, 0xFFFF); glDisable(GL_LIGHTING); glClearColor(0.25,0.25,0.25,0); //glPixelStorei(GL_UNPACK_ALIGNMENT, 1); //glLineWidth(3); //setGridIsDrawn(); if (!restoreStateFromFile()) { showEntireScene(); } setMouseBinding(Qt::AltModifier, Qt::RightButton, SHOW_ENTIRE_SCENE, true, Qt::MidButton); clear(); //startAnimation(); }
void G2oQGLViewer::init() { QGLViewer::init(); //glDisable(GL_LIGHT0); //glDisable(GL_LIGHTING); setBackgroundColor(QColor::fromRgb(51, 51, 51)); // some default settings i like glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); glEnable(GL_DEPTH_TEST); glEnable(GL_NORMALIZE); //glEnable(GL_CULL_FACE); glShadeModel(GL_FLAT); //glShadeModel(GL_SMOOTH); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); setAxisIsDrawn(); // don't save state setStateFileName(QString::null); // mouse bindings setMouseBinding(Qt::RightButton, CAMERA, ZOOM); setMouseBinding(Qt::MidButton, CAMERA, TRANSLATE); // keyboard shortcuts setShortcut(CAMERA_MODE, 0); setShortcut(EXIT_VIEWER, 0); //setShortcut(SAVE_SCREENSHOT, 0); // replace camera qglviewer::Camera* oldcam = camera(); qglviewer::Camera* cam = new StandardCamera(); setCamera(cam); cam->setPosition(qglviewer::Vec(0., 0., 75.)); cam->setUpVector(qglviewer::Vec(0., 1., 0.)); cam->lookAt(qglviewer::Vec(0., 0., 0.)); delete oldcam; // getting a display list _drawList = glGenLists(1); }
void NICPQGLViewer::init() { // Init QGLViewer. QGLViewer::init(); // Set some default settings. glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); glEnable(GL_DEPTH_TEST); glEnable(GL_NORMALIZE); glShadeModel(GL_FLAT); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Don't save state. setStateFileName(QString::null); // Mouse bindings. setMouseBinding(Qt::RightButton, CAMERA, ZOOM); setMouseBinding(Qt::MidButton, CAMERA, TRANSLATE); // Replace camera. qglviewer::Camera *oldcam = camera(); qglviewer::Camera *cam = new StandardCamera(); setCamera(cam); cam->setPosition(qglviewer::Vec(-1.0f, 0.0f, 0.0f)); cam->setUpVector(qglviewer::Vec(0.0f, 0.0f, 1.0f)); cam->lookAt(qglviewer::Vec(0.0f, 0.0f, 0.0f)); delete oldcam; // Create draw lists. _ellipsoidDrawList = glGenLists(_numDrawLists); _pyramidDrawList = glGenLists(_numDrawLists); // Compile draw lists. // Ellipsoid. glNewList(_ellipsoidDrawList, GL_COMPILE); drawSphere(1.0f); glEndList(); // Pyramid. glNewList(_pyramidDrawList, GL_COMPILE); drawPyramid(0.5f, 0.5f); glEndList(); }
void TrackballViewer::setWheelandMouse() { ///////////////////////////////////////////////////// // Mouse bindings customization // // Changes standard action mouse bindings // ///////////////////////////////////////////////////// // setMouseBinding(Qt::NoModifier, Qt::LeftButton, CAMERA, ROTATE); // Left and right buttons together make a camera zoom : emulates a mouse third button if needed. setMouseBinding(Qt::Key_Z, Qt::NoModifier, Qt::LeftButton, CAMERA, ZOOM); setMouseBinding(Qt::ControlModifier | Qt::ShiftModifier, Qt::RightButton, SELECT); setWheelBinding(Qt::NoModifier, CAMERA, MOVE_FORWARD); setMouseBinding(Qt::AltModifier, Qt::LeftButton, CAMERA, TRANSLATE); // Add custom mouse bindings description (see mousePressEvent()) setMouseBindingDescription(Qt::NoModifier, Qt::RightButton, "Opens a camera path context menu"); }
void Slam2DViewer::init() { QGLViewer::init(); // some default settings i like glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); glEnable(GL_DEPTH_TEST); glShadeModel(GL_SMOOTH); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); setAxisIsDrawn(); // don't save state setStateFileName(QString::null); // mouse bindings #ifdef QGLVIEWER_DEPRECATED_MOUSEBINDING setMouseBinding(Qt::NoModifier, Qt::RightButton, CAMERA, ZOOM); setMouseBinding(Qt::NoModifier, Qt::MidButton, CAMERA, TRANSLATE); #else setMouseBinding(Qt::RightButton, CAMERA, ZOOM); setMouseBinding(Qt::MidButton, CAMERA, TRANSLATE); #endif // keyboard shortcuts setShortcut(CAMERA_MODE, 0); setShortcut(EXIT_VIEWER, 0); //setShortcut(SAVE_SCREENSHOT, 0); // replace camera qglviewer::Camera* oldcam = camera(); qglviewer::Camera* cam = new StandardCamera(); setCamera(cam); cam->setPosition(qglviewer::Vec(0., 0., 75.)); cam->setUpVector(qglviewer::Vec(0., 1., 0.)); cam->lookAt(qglviewer::Vec(0., 0., 0.)); delete oldcam; }
int QGLViewer::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QGLWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: viewerInitialized(); break; case 1: drawNeeded(); break; case 2: drawFinished((*reinterpret_cast< bool(*)>(_a[1]))); break; case 3: animateNeeded(); break; case 4: helpRequired(); break; case 5: axisIsDrawnChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; case 6: gridIsDrawnChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; case 7: FPSIsDisplayedChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; case 8: textIsEnabledChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; case 9: cameraIsEditedChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; case 10: stereoChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; case 11: pointSelected((*reinterpret_cast< const QMouseEvent*(*)>(_a[1]))); break; case 12: mouseGrabberChanged((*reinterpret_cast< qglviewer::MouseGrabber*(*)>(_a[1]))); break; case 13: setAxisIsDrawn((*reinterpret_cast< bool(*)>(_a[1]))); break; case 14: setAxisIsDrawn(); break; case 15: setGridIsDrawn((*reinterpret_cast< bool(*)>(_a[1]))); break; case 16: setGridIsDrawn(); break; case 17: setFPSIsDisplayed((*reinterpret_cast< bool(*)>(_a[1]))); break; case 18: setFPSIsDisplayed(); break; case 19: setTextIsEnabled((*reinterpret_cast< bool(*)>(_a[1]))); break; case 20: setTextIsEnabled(); break; case 21: setCameraIsEdited((*reinterpret_cast< bool(*)>(_a[1]))); break; case 22: setCameraIsEdited(); break; case 23: toggleAxisIsDrawn(); break; case 24: toggleGridIsDrawn(); break; case 25: toggleFPSIsDisplayed(); break; case 26: toggleTextIsEnabled(); break; case 27: toggleCameraIsEdited(); break; case 28: setBackgroundColor((*reinterpret_cast< const QColor(*)>(_a[1]))); break; case 29: setForegroundColor((*reinterpret_cast< const QColor(*)>(_a[1]))); break; case 30: setSceneRadius((*reinterpret_cast< float(*)>(_a[1]))); break; case 31: setSceneCenter((*reinterpret_cast< const qglviewer::Vec(*)>(_a[1]))); break; case 32: setSceneBoundingBox((*reinterpret_cast< const qglviewer::Vec(*)>(_a[1])),(*reinterpret_cast< const qglviewer::Vec(*)>(_a[2]))); break; case 33: showEntireScene(); break; case 34: setCamera((*reinterpret_cast< qglviewer::Camera*const(*)>(_a[1]))); break; case 35: setManipulatedFrame((*reinterpret_cast< qglviewer::ManipulatedFrame*(*)>(_a[1]))); break; case 36: setMouseGrabber((*reinterpret_cast< qglviewer::MouseGrabber*(*)>(_a[1]))); break; case 37: setFullScreen((*reinterpret_cast< bool(*)>(_a[1]))); break; case 38: setFullScreen(); break; case 39: setStereoDisplay((*reinterpret_cast< bool(*)>(_a[1]))); break; case 40: setStereoDisplay(); break; case 41: toggleFullScreen(); break; case 42: toggleStereoDisplay(); break; case 43: toggleCameraMode(); break; case 44: saveSnapshot((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 45: saveSnapshot((*reinterpret_cast< bool(*)>(_a[1]))); break; case 46: saveSnapshot(); break; case 47: saveSnapshot((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 48: saveSnapshot((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 49: setSnapshotFileName((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 50: setSnapshotFormat((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 51: setSnapshotCounter((*reinterpret_cast< int(*)>(_a[1]))); break; case 52: setSnapshotQuality((*reinterpret_cast< int(*)>(_a[1]))); break; case 53: { bool _r = openSnapshotFormatDialog(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 54: snapshotToClipboard(); break; case 55: copyBufferToTexture((*reinterpret_cast< GLint(*)>(_a[1])),(*reinterpret_cast< GLenum(*)>(_a[2]))); break; case 56: copyBufferToTexture((*reinterpret_cast< GLint(*)>(_a[1]))); break; case 57: setAnimationPeriod((*reinterpret_cast< int(*)>(_a[1]))); break; case 58: startAnimation(); break; case 59: stopAnimation(); break; case 60: animate(); break; case 61: toggleAnimation(); break; case 62: help(); break; case 63: aboutQGLViewer(); break; case 64: select((*reinterpret_cast< const QMouseEvent*(*)>(_a[1]))); break; case 65: select((*reinterpret_cast< const QPoint(*)>(_a[1]))); break; case 66: setSelectBufferSize((*reinterpret_cast< int(*)>(_a[1]))); break; case 67: setSelectRegionWidth((*reinterpret_cast< int(*)>(_a[1]))); break; case 68: setSelectRegionHeight((*reinterpret_cast< int(*)>(_a[1]))); break; case 69: setSelectedName((*reinterpret_cast< int(*)>(_a[1]))); break; case 70: setShortcut((*reinterpret_cast< KeyboardAction(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 71: setKeyboardAccelerator((*reinterpret_cast< KeyboardAction(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 72: setKeyDescription((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 73: setKeyFrameKey((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 74: setPlayKeyFramePathStateKey((*reinterpret_cast< int(*)>(_a[1]))); break; case 75: setPlayPathStateKey((*reinterpret_cast< int(*)>(_a[1]))); break; case 76: setAddKeyFrameStateKey((*reinterpret_cast< int(*)>(_a[1]))); break; case 77: setPathKey((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 78: setPathKey((*reinterpret_cast< int(*)>(_a[1]))); break; case 79: setPlayPathKeyboardModifiers((*reinterpret_cast< QtKeyboardModifiers(*)>(_a[1]))); break; case 80: setAddKeyFrameKeyboardModifiers((*reinterpret_cast< QtKeyboardModifiers(*)>(_a[1]))); break; case 81: setMouseBinding((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< MouseHandler(*)>(_a[2])),(*reinterpret_cast< MouseAction(*)>(_a[3])),(*reinterpret_cast< bool(*)>(_a[4]))); break; case 82: setMouseBinding((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< MouseHandler(*)>(_a[2])),(*reinterpret_cast< MouseAction(*)>(_a[3]))); break; case 83: setWheelBinding((*reinterpret_cast< QtKeyboardModifiers(*)>(_a[1])),(*reinterpret_cast< MouseHandler(*)>(_a[2])),(*reinterpret_cast< MouseAction(*)>(_a[3])),(*reinterpret_cast< bool(*)>(_a[4]))); break; case 84: setWheelBinding((*reinterpret_cast< QtKeyboardModifiers(*)>(_a[1])),(*reinterpret_cast< MouseHandler(*)>(_a[2])),(*reinterpret_cast< MouseAction(*)>(_a[3]))); break; case 85: setHandlerKeyboardModifiers((*reinterpret_cast< MouseHandler(*)>(_a[1])),(*reinterpret_cast< QtKeyboardModifiers(*)>(_a[2]))); break; case 86: setHandlerStateKey((*reinterpret_cast< MouseHandler(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 87: setMouseStateKey((*reinterpret_cast< MouseHandler(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 88: initFromDOMElement((*reinterpret_cast< const QDomElement(*)>(_a[1]))); break; case 89: saveStateToFile(); break; case 90: { bool _r = restoreStateFromFile(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 91: setStateFileName((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 92: saveToFile((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 93: saveToFile(); break; case 94: { bool _r = restoreFromFile((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 95: { bool _r = restoreFromFile(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 96: resetVisualHints(); break; case 97: delayedFullScreen(); break; case 98: hideMessage(); break; default: ; } _id -= 99; } return _id; }
void GLViewer::init() { oldZValue = 0.0; gravityForce = 1.6666; // restoreStateFromFile(); setMouseTracking(true); glLineWidth(3.0); glPointSize(10.1); camera()->setZClippingCoefficient (1.0f); camera()->setIODistance (20.0f); // m_camera_frame = new ManipulatedCameraFrame(); this->m_camera_constraint = new CameraConstraint(camera()); // m_camera_constraint->setTranslationConstraintType(AxisPlaneConstraint::PLANE); //m_camera_constraint->setTranslationConstraintDirection(Vec(1.0f, 1.0f, 1.0f)); m_camera_constraint->setRotationConstraintType(AxisPlaneConstraint::PLANE); m_camera_constraint->setRotationConstraintDirection(Vec(0.001f ,0.001f, 0.0f)); camera()->frame ()->setSpinningSensitivity (0.0); //camera()->frame ()->setSpinningSensitivity(0); camera()->frame ()->setRotationSensitivity(0.25f); camera()->frame ()->setTranslationSensitivity(0.25f); camera()->frame ()->setConstraint(m_camera_constraint); camera()->frame()->setOrientation (0.714989,-0.0573572,-0.00334217,-0.696771); camera()->frame()->setPosition (0.181669,6.60265,-1.25621); // camera()->setFrame(m_camera_frame); this->m_world_constraint = new WorldConstraint(); // m_world_constraint->setTranslationConstraintType(AxisPlaneConstraint::AXIS); // m_world_constraint->setTranslationConstraintDirection(Vec(1.0f, 0.0, 0.0)); m_world_constraint->setRotationConstraintType(AxisPlaneConstraint::AXIS); m_world_constraint->setRotationConstraintDirection(Vec(0.0, 0.0, 1.0f)); m_frame.setTranslationSensitivity(1.0f); //m_frame.setOrientation(0.312498, 0.0328202, -0.054013, 0.947813); m_frame.setOrientation (0.714989,-0.0573572,-0.00334217,-0.696771); m_frame.setRotationSensitivity(0.75f); m_frame.setSpinningSensitivity(0.75f); m_frame.setConstraint(m_world_constraint); //camera()->frame()->setOrientation(-0.308071, -0.774754, 0.510504, 0.21032 ); // camera()->frame()->setOrientation(0.0268112, -0.900378, 0.430649, 0.0560555); // m_camera_frame->setConstraint(m_camera_constraint); //m_camera_frame->setPosition(Vec(-1339.98, -2474.59, -2001.8 )); // camera()->setPosition(Vec(-1339.98, -1474.59, -2001.8 )); // camera()->setViewDirection(Vec(-0.0956168, 0.783527, 0.613957)); // camera()->setPosition(Vec(0, 0, 0)); // QWheelEvent* wheelevent = new QWheelEvent(QPoint(0, 0), 5, Qt::NoButton, Qt::NoModifier, Qt::Vertical); // QGLViewer::wheelEvent(wheelevent); //camera()->frame()->setSpinningSensitivity(0.0); // camera()->frame()->setOrientation(0.312498, 0.0328202, -0.054013, 0.947813); setManipulatedFrame(&m_frame); // this->camera()->frame()->setConstraint(m_world_constraint); // m_frame.setConstraint(m_world_constraint); setMouseBinding(Qt::NoModifier, Qt::LeftButton, CAMERA, ROTATE, false); //setMouseBinding(Qt::NoModifier, Qt::LeftButton, CAMERA, ROTATE, false); setMouseBinding(Qt::NoModifier, Qt::RightButton, CAMERA, TRANSLATE, false); /* setMouseBinding(Qt::RightButton, CAMERA, NO_MOUSE_ACTION); setWheelBinding(Qt::ControlModifier, CAMERA, NO_MOUSE_ACTION); setWheelBinding(Qt::ShiftModifier, CAMERA, NO_MOUSE_ACTION); setWheelBinding(Qt::AltModifier, CAMERA, NO_MOUSE_ACTION); setMouseBinding(Qt::LeftButton, FRAME, NO_MOUSE_ACTION); setMouseBinding(Qt::MidButton | Qt::LeftButton, CAMERA, NO_MOUSE_ACTION); setMouseBinding(Qt::MidButton, FRAME, NO_MOUSE_ACTION); */ // setMouseBinding(Qt::MidButton, CAMERA, true, NO_MOUSE_ACTION); //this->camera()->setViewDirection(qglviewer::Vec(1.0, 10.0, 8.0)); this->showEntireScene(); // this->update(); }