|
BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
| Canvas () | |
| ~Canvas () | |
| 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 () |
| bool | isInitialized () const |
| void | mouseMoveEvent (QMouseEvent *) |
| void | mousePressEvent (QMouseEvent *) |
| void | mouseReleaseEvent (QMouseEvent *) |
| void | paintGL () |
| void | releaseBuffer (Geometry const *) |
| void | releaseBuffers () |
| void | resizeGL (int, int) |
| void | setCamera (bool full=true) |
| QVector3D | unproject (QPoint const &) |
| void | wheelEvent (QWheelEvent *) |
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 RealSpace::Canvas:: { ... } | mouseButton |
| Program * | program |
| QRect | viewport |
Friends | |
| class | Object |
|
private |
| RealSpace::Canvas::Canvas | ( | ) |
Definition at line 51 of file canvas.cpp.
References RealSpace::GeometryStore::deletingGeometry(), RealSpace::geometryStore(), and releaseBuffer().
| RealSpace::Canvas::~Canvas | ( | ) |
Definition at line 65 of file canvas.cpp.
References cleanup().
|
inline |
Definition at line 59 of file canvas.h.
References camera.
Referenced by RealSpace::Widget3D::cam().
|
private |
Definition at line 295 of file canvas.cpp.
References camera, m_isInitializedGL, program, and releaseBuffers().
Referenced by ~Canvas(), and initializeGL().
| void RealSpace::Canvas::defaultView | ( | ) |
Definition at line 315 of file canvas.cpp.
References RealSpace::Vector3D::_z, camera, currentZoomLevel, RealSpace::Camera::endTransform(), isInitialized(), RealSpace::Camera::lookAt(), and RealSpace::Camera::lookAt3DAxes().
Referenced by RealSpace::Widget3D::defaultView().
|
private |
Definition at line 280 of file canvas.cpp.
References ASSERT, buffers, RealSpace::Buffer::draw(), program, and RealSpace::Program::set().
Referenced by RealSpace::Object::draw().
| Model * RealSpace::Canvas::getModel | ( | ) |
Definition at line 110 of file canvas.cpp.
References model.
Referenced by RealSpace::Widget3D::model().
| void RealSpace::Canvas::horizontalCameraTurn | ( | float | angle | ) |
Definition at line 387 of file canvas.cpp.
References camera, RealSpace::cross(), RealSpace::Camera::Position::ctr, RealSpace::dot(), RealSpace::Camera::endTransform(), RealSpace::Camera::Position::eye, RealSpace::Camera::getPos(), RealSpace::Camera::getPos3DAxes(), isInitialized(), RealSpace::Camera::lookAt(), RealSpace::Camera::lookAt3DAxes(), M_PI, RealSpace::Vector3D::normalized(), and RealSpace::Camera::Position::up.
Referenced by mouseMoveEvent().
|
private |
Definition at line 126 of file canvas.cpp.
References camera, cleanup(), m_isInitializedGL, program, setCamera(), and setProgram().
|
private |
Definition at line 310 of file canvas.cpp.
References m_isInitializedGL, and model.
Referenced by defaultView(), horizontalCameraTurn(), sideView(), topView(), and verticalCameraTurn().
|
private |
Definition at line 212 of file canvas.cpp.
References btnTURN, btnZOOM, camera, e_last, horizontalCameraTurn(), mouseButton, verticalCameraTurn(), viewport, and RealSpace::Camera::zoomBy().
|
private |
Definition at line 191 of file canvas.cpp.
References btnNONE, btnTURN, btnZOOM, camera, e_last, RealSpace::Camera::matModel, matModel, RealSpace::Camera::matProj, matProj, and mouseButton.
|
private |
Definition at line 242 of file canvas.cpp.
References camera, and RealSpace::Camera::endTransform().
|
private |
Definition at line 147 of file canvas.cpp.
References camera, colorBgB, colorBgG, colorBgR, RealSpace::Model::draw(), RealSpace::Model::drawBlend(), RealSpace::Program::init(), RealSpace::Camera::matModel3DAxes, model, RealSpace::Model::modelIsEmpty(), program, RealSpace::Program::set(), RealSpace::Program::setAxis(), RealSpace::Program::setMatModel(), and viewport.
|
private |
|
private |
Definition at line 273 of file canvas.cpp.
References buffers.
Referenced by cleanup(), and setModel().
|
private |
Definition at line 139 of file canvas.cpp.
References aspectRatio, setCamera(), and viewport.
| void RealSpace::Canvas::setBgColor | ( | QColor const & | c | ) |
Definition at line 70 of file canvas.cpp.
References colorBgB, colorBgG, and colorBgR.
Referenced by RealSpace::Widget3D::setBackground().
|
private |
Definition at line 115 of file canvas.cpp.
References aspectRatio, camera, RealSpace::Model::defCamPos, RealSpace::Camera::lookAt(), model, and RealSpace::Camera::setAspectRatio().
| void RealSpace::Canvas::setCamera | ( | Camera * | c | ) |
Definition at line 78 of file canvas.cpp.
References camera.
Referenced by initializeGL(), resizeGL(), and setModel().
| void RealSpace::Canvas::setModel | ( | Model * | m | ) |
Definition at line 92 of file canvas.cpp.
References camera, model, modelUpdated, releaseBuffers(), RealSpace::Camera::set(), setCamera(), and RealSpace::Model::updated().
Referenced by RealSpace::Widget3D::setModel().
| void RealSpace::Canvas::setProgram | ( | Program * | p | ) |
Definition at line 84 of file canvas.cpp.
References RealSpace::Program::needsInit(), and program.
Referenced by initializeGL().
| void RealSpace::Canvas::sideView | ( | ) |
Definition at line 334 of file canvas.cpp.
References RealSpace::Vector3D::_z, camera, currentZoomLevel, RealSpace::Camera::endTransform(), isInitialized(), RealSpace::Camera::lookAt(), RealSpace::Camera::lookAt3DAxes(), and RealSpace::Vector3D::y.
Referenced by RealSpace::Widget3D::sideView().
| void RealSpace::Canvas::topView | ( | ) |
Definition at line 360 of file canvas.cpp.
References RealSpace::Vector3D::_z, camera, currentZoomLevel, RealSpace::Camera::endTransform(), isInitialized(), RealSpace::Camera::lookAt(), RealSpace::Camera::lookAt3DAxes(), and RealSpace::Vector3D::z.
Referenced by RealSpace::Widget3D::topView().
|
private |
| void RealSpace::Canvas::verticalCameraTurn | ( | float | angle | ) |
Definition at line 433 of file canvas.cpp.
References camera, RealSpace::cross(), RealSpace::Camera::Position::ctr, RealSpace::dot(), RealSpace::Camera::endTransform(), RealSpace::Camera::Position::eye, RealSpace::Camera::getPos(), RealSpace::Camera::getPos3DAxes(), isInitialized(), RealSpace::Camera::lookAt(), RealSpace::Camera::lookAt3DAxes(), M_PI, RealSpace::Vector3D::normalized(), and RealSpace::Camera::Position::up.
Referenced by mouseMoveEvent().
|
private |
Definition at line 250 of file canvas.cpp.
References camera, currentZoomLevel, RealSpace::Camera::endTransform(), and 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 { ... } 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().