Renderable dipole arrow set with instanced GPU rendering for QRhi. More...
#include <dipoleobject.h>
Classes | |
| struct | GpuBuffers |
Public Member Functions | |
| DipoleObject () | |
| ~DipoleObject () | |
| void | load (const INVLIB::InvEcdSet &ecdSet) |
| void | applyTransform (const QMatrix4x4 &trans) |
| void | updateBuffers (QRhi *rhi, QRhiResourceUpdateBatch *u) |
| QRhiBuffer * | vertexBuffer () const |
| QRhiBuffer * | indexBuffer () const |
| QRhiBuffer * | instanceBuffer () const |
| int | indexCount () const |
| int | instanceCount () const |
| bool | isVisible () const |
| void | setVisible (bool visible) |
| bool | boundingBox (QVector3D &min, QVector3D &max) const |
| void | setSelected (int index, bool selected) |
| int | intersect (const QVector3D &rayOrigin, const QVector3D &rayDir, float &dist) const |
Renderable dipole arrow set with instanced GPU rendering for QRhi.
Renderable dipole object that builds instanced arrow geometry from an InvEcdSet and manages GPU buffers for QRhi-based rendering.
Definition at line 58 of file dipoleobject.h.
| DISP3DLIB::DipoleObject::DipoleObject | ( | ) |
Definition at line 38 of file dipoleobject.cpp.
|
default |
| void DISP3DLIB::DipoleObject::applyTransform | ( | const QMatrix4x4 & | trans | ) |
Definition at line 120 of file dipoleobject.cpp.
| bool DISP3DLIB::DipoleObject::boundingBox | ( | QVector3D & | min, |
| QVector3D & | max ) const |
Axis-aligned bounds of the (transformed) dipole positions.
| [out] | min | Minimum corner. |
| [out] | max | Maximum corner. |
Definition at line 138 of file dipoleobject.cpp.
| QRhiBuffer * DISP3DLIB::DipoleObject::indexBuffer | ( | ) | const |
Definition at line 49 of file dipoleobject.cpp.
|
inline |
Definition at line 75 of file dipoleobject.h.
| QRhiBuffer * DISP3DLIB::DipoleObject::instanceBuffer | ( | ) | const |
Definition at line 53 of file dipoleobject.cpp.
|
inline |
Definition at line 79 of file dipoleobject.h.
| int DISP3DLIB::DipoleObject::intersect | ( | const QVector3D & | rayOrigin, |
| const QVector3D & | rayDir, | ||
| float & | dist ) const |
Test ray intersection with dipoles.
| [in] | rayOrigin | Ray origin in world space. |
| [in] | rayDir | Ray direction (normalized). |
| [out] | dist | Distance to intersection. |
Definition at line 289 of file dipoleobject.cpp.
|
inline |
Definition at line 84 of file dipoleobject.h.
| void DISP3DLIB::DipoleObject::load | ( | const INVLIB::InvEcdSet & | ecdSet | ) |
Definition at line 58 of file dipoleobject.cpp.
| void DISP3DLIB::DipoleObject::setSelected | ( | int | index, |
| bool | selected ) |
Definition at line 348 of file dipoleobject.cpp.
|
inline |
Definition at line 88 of file dipoleobject.h.
| void DISP3DLIB::DipoleObject::updateBuffers | ( | QRhi * | rhi, |
| QRhiResourceUpdateBatch * | u ) |
Definition at line 263 of file dipoleobject.cpp.
| QRhiBuffer * DISP3DLIB::DipoleObject::vertexBuffer | ( | ) | const |
Definition at line 45 of file dipoleobject.cpp.