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().