| BornAgain
    1.19.79
    Simulate and fit neutron and x-ray scattering at grazing incidence | 
| Public Member Functions | |
| Canvas () | |
| ~Canvas () override | |
| Camera * | cam () | 
| void | defaultView () | 
| Model * | getModel () | 
| void | horizontalCameraTurn (float angle) | 
| void | setBgColor (QColor const &) | 
| void | setCamera (Camera *) | 
| void | setModel (Model *) | 
| void | setProgram (Program *) | 
| void | sideView () | 
| void | topView () | 
| void | verticalCameraTurn (float angle) | 
| Private Types | |
| enum | { btnNONE , btnTURN , btnZOOM } | 
| Private Member Functions | |
| void | cleanup () | 
| void | draw (QColor const &, QMatrix4x4 const &, Geometry const &) | 
| void | initializeGL () override | 
| bool | isInitialized () const | 
| void | mouseMoveEvent (QMouseEvent *) override | 
| void | mousePressEvent (QMouseEvent *) override | 
| void | mouseReleaseEvent (QMouseEvent *) override | 
| void | paintGL () override | 
| void | releaseBuffer (Geometry const *) | 
| void | releaseBuffers () | 
| void | resizeGL (int, int) override | 
| void | setCamera (bool full=true) | 
| QVector3D | unproject (QPoint const &) | 
| void | wheelEvent (QWheelEvent *) override | 
| Private Attributes | |
| float | aspectRatio | 
| QHash< Geometry const *, Buffer * > | buffers | 
| Camera * | camera | 
| float | colorBgB | 
| float | colorBgG | 
| float | colorBgR | 
| int | currentZoomLevel | 
| QPoint | e_last | 
| bool | m_isInitializedGL | 
| QMatrix4x4 | matModel | 
| QMatrix4x4 | matProj | 
| Model * | model | 
| QMetaObject::Connection | modelUpdated | 
| enum GUI::RealSpace::Canvas:: { ... } | mouseButton | 
| Program * | program | 
| QRect | viewport | 
| Friends | |
| class | Object | 
| 
 | private | 
| GUI::RealSpace::Canvas::Canvas | ( | ) | 
Definition at line 53 of file canvas.cpp.
References GUI::RealSpace::GeometryStore::deletingGeometry(), GUI::RealSpace::geometryStore(), and releaseBuffer().
| 
 | override | 
Definition at line 67 of file canvas.cpp.
References cleanup().
| 
 | inline | 
Definition at line 59 of file canvas.h.
References camera.
Referenced by GUI::RealSpace::Widget3D::cam(), and RealSpaceCanvas::updateScene().
| 
 | private | 
Definition at line 297 of file canvas.cpp.
References camera, m_isInitializedGL, program, and releaseBuffers().
Referenced by ~Canvas(), and initializeGL().
| void GUI::RealSpace::Canvas::defaultView | ( | ) | 
Definition at line 317 of file canvas.cpp.
References GUI::RealSpace::Vector3D::_z, camera, currentZoomLevel, GUI::RealSpace::Camera::endTransform(), isInitialized(), GUI::RealSpace::Camera::lookAt(), and GUI::RealSpace::Camera::lookAt3DAxes().
Referenced by GUI::RealSpace::Widget3D::defaultView(), RealSpaceCanvas::defaultView(), and RealSpaceCanvas::showEvent().
| 
 | private | 
Definition at line 282 of file canvas.cpp.
References buffers, GUI::RealSpace::Buffer::draw(), program, and GUI::RealSpace::Program::set().
Referenced by GUI::RealSpace::Object::draw().
| Model * GUI::RealSpace::Canvas::getModel | ( | ) | 
Definition at line 112 of file canvas.cpp.
References model.
Referenced by GUI::RealSpace::Widget3D::model().
| void GUI::RealSpace::Canvas::horizontalCameraTurn | ( | float | angle | ) | 
Definition at line 391 of file canvas.cpp.
References camera, GUI::RealSpace::cross(), GUI::RealSpace::Camera::Position::ctr, GUI::RealSpace::dot(), GUI::RealSpace::Camera::endTransform(), GUI::RealSpace::Camera::Position::eye, GUI::RealSpace::Camera::getPos(), GUI::RealSpace::Camera::getPos3DAxes(), isInitialized(), GUI::RealSpace::Camera::lookAt(), GUI::RealSpace::Camera::lookAt3DAxes(), GUI::RealSpace::Vector3D::normalized(), and GUI::RealSpace::Camera::Position::up.
Referenced by mouseMoveEvent().
| 
 | overrideprivate | 
Definition at line 128 of file canvas.cpp.
References camera, cleanup(), m_isInitializedGL, program, setCamera(), and setProgram().
| 
 | private | 
Definition at line 312 of file canvas.cpp.
References m_isInitializedGL, and model.
Referenced by defaultView(), horizontalCameraTurn(), sideView(), topView(), and verticalCameraTurn().
| 
 | overrideprivate | 
Definition at line 214 of file canvas.cpp.
References btnTURN, btnZOOM, camera, e_last, horizontalCameraTurn(), mouseButton, verticalCameraTurn(), viewport, and GUI::RealSpace::Camera::zoomBy().
| 
 | overrideprivate | 
Definition at line 193 of file canvas.cpp.
References btnNONE, btnTURN, btnZOOM, camera, e_last, GUI::RealSpace::Camera::matModel, matModel, GUI::RealSpace::Camera::matProj, matProj, and mouseButton.
| 
 | overrideprivate | 
Definition at line 244 of file canvas.cpp.
References camera, and GUI::RealSpace::Camera::endTransform().
| 
 | overrideprivate | 
Definition at line 149 of file canvas.cpp.
References camera, colorBgB, colorBgG, colorBgR, GUI::RealSpace::Model::draw(), GUI::RealSpace::Model::drawBlend(), GUI::RealSpace::Program::init(), GUI::RealSpace::Camera::matModel3DAxes, model, GUI::RealSpace::Model::modelIsEmpty(), program, GUI::RealSpace::Program::set(), GUI::RealSpace::Program::setAxis(), GUI::RealSpace::Program::setMatModel(), and viewport.
| 
 | private | 
| 
 | private | 
Definition at line 275 of file canvas.cpp.
References buffers.
Referenced by cleanup(), and setModel().
| 
 | overrideprivate | 
Definition at line 141 of file canvas.cpp.
References aspectRatio, setCamera(), and viewport.
| void GUI::RealSpace::Canvas::setBgColor | ( | QColor const & | c | ) | 
Definition at line 72 of file canvas.cpp.
References colorBgB, colorBgG, and colorBgR.
Referenced by GUI::RealSpace::Widget3D::setBackground().
| 
 | private | 
Definition at line 117 of file canvas.cpp.
References aspectRatio, camera, GUI::RealSpace::Model::defCamPos, GUI::RealSpace::Camera::lookAt(), model, and GUI::RealSpace::Camera::setAspectRatio().
| void GUI::RealSpace::Canvas::setCamera | ( | Camera * | c | ) | 
Definition at line 80 of file canvas.cpp.
References camera.
Referenced by initializeGL(), resizeGL(), and setModel().
| void GUI::RealSpace::Canvas::setModel | ( | Model * | m | ) | 
Definition at line 94 of file canvas.cpp.
References camera, model, modelUpdated, releaseBuffers(), GUI::RealSpace::Camera::set(), setCamera(), and GUI::RealSpace::Model::updated().
Referenced by RealSpaceCanvas::resetScene(), GUI::RealSpace::Widget3D::setModel(), and RealSpaceCanvas::updateScene().
| void GUI::RealSpace::Canvas::setProgram | ( | Program * | p | ) | 
Definition at line 86 of file canvas.cpp.
References GUI::RealSpace::Program::needsInit(), and program.
Referenced by initializeGL().
| void GUI::RealSpace::Canvas::sideView | ( | ) | 
Definition at line 336 of file canvas.cpp.
References GUI::RealSpace::Vector3D::_z, camera, currentZoomLevel, GUI::RealSpace::Camera::endTransform(), isInitialized(), GUI::RealSpace::Camera::lookAt(), GUI::RealSpace::Camera::lookAt3DAxes(), and GUI::RealSpace::Vector3D::y.
Referenced by GUI::RealSpace::Widget3D::sideView(), and RealSpaceCanvas::sideView().
| void GUI::RealSpace::Canvas::topView | ( | ) | 
Definition at line 363 of file canvas.cpp.
References GUI::RealSpace::Vector3D::_z, camera, currentZoomLevel, GUI::RealSpace::Camera::endTransform(), isInitialized(), GUI::RealSpace::Camera::lookAt(), GUI::RealSpace::Camera::lookAt3DAxes(), and GUI::RealSpace::Vector3D::z.
Referenced by GUI::RealSpace::Widget3D::topView(), and RealSpaceCanvas::topView().
| 
 | private | 
| void GUI::RealSpace::Canvas::verticalCameraTurn | ( | float | angle | ) | 
Definition at line 436 of file canvas.cpp.
References camera, GUI::RealSpace::cross(), GUI::RealSpace::Camera::Position::ctr, GUI::RealSpace::dot(), GUI::RealSpace::Camera::endTransform(), GUI::RealSpace::Camera::Position::eye, GUI::RealSpace::Camera::getPos(), GUI::RealSpace::Camera::getPos3DAxes(), isInitialized(), GUI::RealSpace::Camera::lookAt(), GUI::RealSpace::Camera::lookAt3DAxes(), GUI::RealSpace::Vector3D::normalized(), and GUI::RealSpace::Camera::Position::up.
Referenced by mouseMoveEvent().
| 
 | overrideprivate | 
Definition at line 252 of file canvas.cpp.
References camera, currentZoomLevel, GUI::RealSpace::Camera::endTransform(), and GUI::RealSpace::Camera::zoomBy().
| 
 | private | 
Definition at line 63 of file canvas.h.
Referenced by resizeGL(), and setCamera().
Definition at line 88 of file canvas.h.
Referenced by draw(), releaseBuffer(), and releaseBuffers().
| 
 | private | 
Definition at line 82 of file canvas.h.
Referenced by cam(), cleanup(), defaultView(), horizontalCameraTurn(), initializeGL(), mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), paintGL(), setCamera(), setModel(), sideView(), topView(), verticalCameraTurn(), and wheelEvent().
| 
 | private | 
Definition at line 63 of file canvas.h.
Referenced by paintGL(), and setBgColor().
| 
 | private | 
Definition at line 63 of file canvas.h.
Referenced by paintGL(), and setBgColor().
| 
 | private | 
Definition at line 63 of file canvas.h.
Referenced by paintGL(), and setBgColor().
| 
 | private | 
Definition at line 64 of file canvas.h.
Referenced by defaultView(), sideView(), topView(), and wheelEvent().
| 
 | private | 
Definition at line 72 of file canvas.h.
Referenced by mouseMoveEvent(), and mousePressEvent().
| 
 | private | 
Definition at line 97 of file canvas.h.
Referenced by cleanup(), initializeGL(), and isInitialized().
| 
 | private | 
Definition at line 73 of file canvas.h.
Referenced by mousePressEvent(), and unproject().
| 
 | private | 
Definition at line 73 of file canvas.h.
Referenced by mousePressEvent(), and unproject().
| 
 | private | 
Definition at line 84 of file canvas.h.
Referenced by getModel(), isInitialized(), paintGL(), setCamera(), and setModel().
| 
 | private | 
Definition at line 86 of file canvas.h.
Referenced by setModel().
| enum { ... } GUI::RealSpace::Canvas::mouseButton | 
Referenced by mouseMoveEvent(), and mousePressEvent().
| 
 | private | 
Definition at line 83 of file canvas.h.
Referenced by cleanup(), draw(), initializeGL(), paintGL(), and setProgram().
| 
 | private | 
Definition at line 62 of file canvas.h.
Referenced by mouseMoveEvent(), paintGL(), resizeGL(), and unproject().