v2.0.0
Loading...
Searching...
No Matches
DipoleObject Class Reference

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)
QVector3D debugFirstDipolePosition () const
void setSelected (int index, bool selected)
int intersect (const QVector3D &rayOrigin, const QVector3D &rayDir, float &dist) const

Detailed Description

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 52 of file dipoleobject.h.

Constructor & Destructor Documentation

◆ DipoleObject()

DipoleObject::DipoleObject ( )

Definition at line 36 of file dipoleobject.cpp.

◆ ~DipoleObject()

DipoleObject::~DipoleObject ( )
default

Member Function Documentation

◆ applyTransform()

void DipoleObject::applyTransform ( const QMatrix4x4 & trans)

Definition at line 136 of file dipoleobject.cpp.

◆ debugFirstDipolePosition()

QVector3D DipoleObject::debugFirstDipolePosition ( ) const

Definition at line 177 of file dipoleobject.cpp.

◆ indexBuffer()

QRhiBuffer * DipoleObject::indexBuffer ( ) const

Definition at line 44 of file dipoleobject.cpp.

◆ indexCount()

int DipoleObject::indexCount ( ) const
inline

Definition at line 69 of file dipoleobject.h.

◆ instanceBuffer()

QRhiBuffer * DipoleObject::instanceBuffer ( ) const

Definition at line 45 of file dipoleobject.cpp.

◆ instanceCount()

int DipoleObject::instanceCount ( ) const
inline

Definition at line 70 of file dipoleobject.h.

◆ intersect()

int DipoleObject::intersect ( const QVector3D & rayOrigin,
const QVector3D & rayDir,
float & dist ) const

Test ray intersection with dipoles.

Parameters
[in]rayOriginRay origin in world space.
[in]rayDirRay direction (normalized).
[out]distDistance to intersection.
Returns
Index of intersected dipole, or -1 if none.

Definition at line 329 of file dipoleobject.cpp.

◆ isVisible()

bool DipoleObject::isVisible ( ) const
inline

Definition at line 72 of file dipoleobject.h.

◆ load()

void DipoleObject::load ( const INVLIB::InvEcdSet & ecdSet)

Definition at line 47 of file dipoleobject.cpp.

◆ setSelected()

void DipoleObject::setSelected ( int index,
bool selected )

Definition at line 383 of file dipoleobject.cpp.

◆ setVisible()

void DipoleObject::setVisible ( bool visible)
inline

Definition at line 73 of file dipoleobject.h.

◆ updateBuffers()

void DipoleObject::updateBuffers ( QRhi * rhi,
QRhiResourceUpdateBatch * u )

Definition at line 300 of file dipoleobject.cpp.

◆ vertexBuffer()

QRhiBuffer * DipoleObject::vertexBuffer ( ) const

Definition at line 43 of file dipoleobject.cpp.


The documentation for this class was generated from the following files: