QVISH 0.1
Public Member Functions | Public Attributes | List of all members
Wizt::qViewerBase Class Reference

Implementation of an Vulkan-based viewer in a Qt Environment. More...

#include <qViewerBase.hpp>

Inheritance diagram for Wizt::qViewerBase:
Wizt::QViewer Wizt::qVHDF5Browser Wizt::qVTableViewer Wizt::qVulkanViewer

Public Member Functions

void cleanup ()
 Destructive operation to clear all GL objects that are stored in the associated cache.
 
QMenu * getSceneContextMenu () const override
 
RefPtr< VInteractionEvent::InteractionGrabber > myInteractionGrabber () const
 
const QWidget * myWidget () const override
 
QWidget * myWidget () override
 
void outPixelSizeXChanged (const int &X, const ValuePoolPtr &Context) const
 
void outPixelSizeYChanged (const int &Y, const ValuePoolPtr &Context) const
 
void outViewerSizeChanged (const Position2D &XY, const ValuePoolPtr &Context) const
 
 qViewerBase (const string &name, int p, const RefPtr< VCreationPreferences > &prop)
 Construct an external viewer.
 
 qViewerBase (QMetaViewer &myMetaViewer, const RefPtr< ValuePool > &thePool, QWidget *parent, const string &name, const RefPtr< VCreationPreferences > &prop)
 Construct an internal viewer.
 
VFrameBuffer::Renderer::LayeredRenderResultWithError renderToTarget (const RefPtr< FrameGrabber > &, const RefPtr< VFrameBuffer::Grab::MovieManager > &) const override
 
bool request (VRequest &R, double precision, const WeakVObjectPtr &ImmediateRequestor, const WeakVObjectPtr &RootRequestor) override
 
void setCacheInfoHandler (const WeakPtr< qVCacheInfo > &ci) override
 Install a callback object that is called whenever there are changes in the OpenGL render cache.
 
void setDLCacheSize (int MaxCache) override
 
void setGPUCacheSize (long MaxCache) override
 
void setup (const CreationSlots_t &CreationSlots) override
 
void setViewerSizeOutputs (int X, int Y)
 
void touchOutputFrameBuffer () const
 
bool update (VRequest &, double precision=1.0) override
 
void Vactivate ()
 
- Public Member Functions inherited from Wizt::QViewer
void ExecContextMenu (const QPoint &position) const
 
 QViewer (const string &name, int p, const RefPtr< VCreationPreferences > &prop)
 
virtual bool shutdown () const =0
 

Public Attributes

WeakPtr< qVCacheInfoci
 
double EyeDistance = 0.1
 
double InterocularDistance = 0.01
 
double LastCompleteRenderingTime = 0
 
inout< double > MaxGlobalRenderTime
 
inout< double > MaxLocalRenderTime
 
VOutput< VInteractionEvent > myEvents
 
QPointer< MyViewerWidgetmyStackedWidget
 
WeakPtr< ValuePoolProvider > myValuePoolProvider
 Optional reference to some object which wants to know which ValuePool is active.
 
RefPtr< VValue< VInteractionEvent > > myVInteractionEvent
 
QPointer< qVMainWindowmyVMainWindow
 
inout< int > outPixelSizeX
 
inout< int > outPixelSizeY
 
inout< Position2D > outViewerSize
 
bool PixelZoomEnabled = false
 
RefPtr< VInputValue< double > > PixelZoomFactor
 
RefPtr< VInputValue< double > > PixelZoomOffsetX
 
RefPtr< VInputValue< double > > PixelZoomOffsetY
 
int timerID
 
int timerInterval
 
MemCore::Timer TimeSinceLastCompleteRender
 
RefPtr< VInputValue< VMultiPointerDevice > > TouchInput
 
- Public Attributes inherited from Wizt::QViewer
double Completion = 1.0
 
ViewerActivationIndicatormyActivator
 
RefPtr< qVInterruptorOffScreenRenderInterruptor
 

Detailed Description

Implementation of an Vulkan-based viewer in a Qt Environment.

It requests a MousePosition as input and provides a FrameBuffer as output.

Constructor & Destructor Documentation

◆ qViewerBase()

Wizt::qViewerBase::qViewerBase ( QMetaViewer myMetaViewer,
const RefPtr< ValuePool > &  thePool,
QWidget *  parent,
const string &  name,
const RefPtr< VCreationPreferences > &  prop 
)

Construct an internal viewer.

Parameters
myMetaViewerwill be modified by grabbing its interaction event

References myValuePoolProvider, outPixelSizeXChanged(), outPixelSizeYChanged(), outViewerSizeChanged(), and Wizt::qVMainWindow::renderCancel().

Member Function Documentation

◆ cleanup()

void Wizt::qViewerBase::cleanup ( )
virtual

Destructive operation to clear all GL objects that are stored in the associated cache.

Implements Wizt::QViewer.

Reimplemented in Wizt::qVulkanViewer.

◆ getSceneContextMenu()

QMenu * Wizt::qViewerBase::getSceneContextMenu ( ) const
overridevirtual

Implements Wizt::QViewer.

◆ myWidget() [1/2]

const QWidget * Wizt::qViewerBase::myWidget ( ) const
overridevirtual

Implements Wizt::QViewer.

◆ myWidget() [2/2]

QWidget * Wizt::qViewerBase::myWidget ( )
overridevirtual

Implements Wizt::QViewer.

◆ outPixelSizeXChanged()

void Wizt::qViewerBase::outPixelSizeXChanged ( const int &  X,
const ValuePoolPtr &  Context 
) const

if (myScrollArea->myGLWindow->width() != X) myScrollArea->myGLWindow->resize(X, myScrollArea->myGLWindow->height() );

Referenced by qViewerBase(), and qViewerBase().

◆ outPixelSizeYChanged()

void Wizt::qViewerBase::outPixelSizeYChanged ( const int &  Y,
const ValuePoolPtr &  Context 
) const

if (myScrollArea->myGLWindow->height() != Y) myScrollArea->myGLWindow->resize(myScrollArea->myGLWindow->width(), Y);

Referenced by qViewerBase(), and qViewerBase().

◆ outViewerSizeChanged()

void Wizt::qViewerBase::outViewerSizeChanged ( const Position2D &  XY,
const ValuePoolPtr &  Context 
) const

if (myScrollArea->myGLWindow->width() != XY[0] || myScrollArea->myGLWindow->height() != XY[1] )

Referenced by qViewerBase(), and qViewerBase().

◆ request()

bool Wizt::qViewerBase::request ( VRequest &  R,
double  precision,
const WeakVObjectPtr &  ImmediateRequestor,
const WeakVObjectPtr &  RootRequestor 
)
override

if (!myScrollArea->myGLWindow->isVisible() )

◆ setCacheInfoHandler()

void Wizt::qViewerBase::setCacheInfoHandler ( const WeakPtr< qVCacheInfo > &  ci)
overridevirtual

Install a callback object that is called whenever there are changes in the OpenGL render cache.

The object specified here is supposed to overload the virtual setCacheInfo() function. This one is called whenever there might be changes in the OpenGL cache usage. Note that this callback function is likely to be called from a subthread and therefore MUST NOT do any Qt GUI calls. It may however set its values into some list queue to be read later by the QViewer widget implementation.

Implements Wizt::QViewer.

◆ setDLCacheSize()

void Wizt::qViewerBase::setDLCacheSize ( int  MaxCache)
inlineoverridevirtual

Implements Wizt::QViewer.

◆ setGPUCacheSize()

void Wizt::qViewerBase::setGPUCacheSize ( long  MaxCache)
overridevirtual

Implements Wizt::QViewer.

◆ setup()

void Wizt::qViewerBase::setup ( const CreationSlots_t &  CreationSlots)
override

outFrameBuffer = VOutput<VFrameBuffer>(this, "renderer", VFrameBuffer( new GLRenderer( self(), OfflineRenderInterruptor ) ));


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