#include <VStudioRenderer.h>
Public Slots | |
void | ShowLight () |
void | SelectBGColor () |
void | ShowPerformance () |
void | ToggleThread () |
void | ToggleTransform () |
void | SaveSnapshot () |
Signals | |
void | Maximize () |
Public Member Functions | |
VStudioRenderer (VStudio *const control, QGLFormat &requestFormat, QWidget *parent=0) | |
~VStudioRenderer () | |
void | OpenState (QSettings &openFile) |
void | SaveState (QSettings &saveFile) |
bool | GetOpenglInfo (OpenGLInfo &) |
float | GetViewAspect () |
void | EnableLog (bool tf) |
void | SetLight (TSmartPointer< CLight > light) |
void | SetVolume (TSmartPointer< CVolume > volume) |
void | SetBGColor (float r, float g, float b, float a) |
TSmartPointer< CVolume > const | GetCurrentVolume () |
Protected Member Functions | |
virtual void | onResize () |
virtual void | onInitialize () |
virtual void | onFinishRendering () |
virtual void | onAnimate () |
virtual void | onLOG (const char *) |
virtual void | onLOG (QString &) |
virtual void | contextMenuEvent (QContextMenuEvent *) |
virtual void | keyPressEvent (QKeyEvent *event) |
virtual void | keyReleaseEvent (QKeyEvent *event) |
virtual void | mouseDoubleClickEvent (QMouseEvent *event) |
void | RenderScene () |
void | RenderOverlay (QPainter *painter) |
Private Member Functions | |
void | onDraw () |
void | onOverlayDraw (QPainter *painter) |
void | ReportErrors () |
Private Attributes | |
VStudio *const | pControl |
TSmartPointer< CCamera > | spCam |
TSmartPointer< CSceneCtrl > | spCamControl |
TSmartPointer< CLight > | spLight |
CVolume * | oldVolume |
TSmartPointer< CVolume > | pRenderVolume |
bool | bDoLog |
QMenu * | contextMenu |
QAction * | setBGColorA |
QAction * | showLightA |
QAction * | showPerformanceA |
QAction * | enableThreadA |
QAction * | snapShotA |
QAction * | transformMC |
QColor | bgColor |
bool | showPerf |
bool | backupHeadLight |
PerformanceOverlay * | perfOverlay |
bool | bTransformModel |
bool | bHighQuality |
Definition at line 31 of file VStudioRenderer.h.
VStudioRenderer::VStudioRenderer | ( | VStudio *const | control, | |
QGLFormat & | requestFormat, | |||
QWidget * | parent = 0 | |||
) |
Definition at line 25 of file VStudioRenderer.cpp.
References bDoLog, bgColor, bHighQuality, bTransformModel, contextMenu, CGLSurface::EnableThread(), enableThreadA, oldVolume, perfOverlay, pRenderVolume, CGLSurface::registerInputHandler(), SaveSnapshot(), SelectBGColor(), setBGColorA, ShowLight(), showLightA, showPerf, ShowPerformance(), showPerformanceA, snapShotA, spCam, spCamControl, ToggleThread(), ToggleTransform(), and transformMC.
VStudioRenderer::~VStudioRenderer | ( | ) |
Definition at line 63 of file VStudioRenderer.cpp.
References perfOverlay, pRenderVolume, spCam, spCamControl, and spLight.
void VStudioRenderer::contextMenuEvent | ( | QContextMenuEvent * | event | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 348 of file VStudioRenderer.cpp.
References contextMenu, showLightA, and spLight.
void VStudioRenderer::EnableLog | ( | bool | tf | ) | [inline] |
Definition at line 50 of file VStudioRenderer.h.
References bDoLog.
Referenced by VStudio::LogStatusChange().
TSmartPointer<CVolume> const VStudioRenderer::GetCurrentVolume | ( | ) | [inline] |
bool VStudioRenderer::GetOpenglInfo | ( | OpenGLInfo & | glInfo | ) |
Definition at line 121 of file VStudioRenderer.cpp.
References OpenGLInfo::gl_VersionMajor, OpenGLInfo::gl_VersionMinor, OpenGLInfo::glsl_VersionMajor, OpenGLInfo::glsl_VersionMinor, CGLSurface::lockGLContext(), and CGLSurface::unlockGLContext().
Referenced by VStudio::CheckOpenGL().
float VStudioRenderer::GetViewAspect | ( | ) | [inline] |
Definition at line 47 of file VStudioRenderer.h.
References CGLSurface::viewportHeight, and CGLSurface::viewportWidth.
Referenced by CProperties::on_xSlide_Checked_stateChanged(), CProperties::on_ySlide_Checked_stateChanged(), CProperties::on_zSlide_Checked_stateChanged(), and CProperties::SetActive().
void VStudioRenderer::keyPressEvent | ( | QKeyEvent * | event | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 364 of file VStudioRenderer.cpp.
References backupHeadLight, CGLSurface::registerInputHandler(), spLight, and CGLSurface::Update().
void VStudioRenderer::keyReleaseEvent | ( | QKeyEvent * | event | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 376 of file VStudioRenderer.cpp.
References backupHeadLight, CGLSurface::registerInputHandler(), spCamControl, spLight, and CGLSurface::Update().
void VStudioRenderer::Maximize | ( | ) | [signal] |
Referenced by mouseDoubleClickEvent().
void VStudioRenderer::mouseDoubleClickEvent | ( | QMouseEvent * | event | ) | [protected, virtual] |
void VStudioRenderer::onAnimate | ( | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 470 of file VStudioRenderer.cpp.
References perfOverlay, PerformanceOverlay::SetFps(), and CGLSurface::Update().
void VStudioRenderer::onDraw | ( | ) | [private, virtual] |
Reimplemented from CGLSurface.
Definition at line 227 of file VStudioRenderer.cpp.
References bHighQuality, bTransformModel, VStudio::GetVolume(), pControl, RenderScene(), VStudio::SaveImage(), spCam, and spCamControl.
void VStudioRenderer::onFinishRendering | ( | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 330 of file VStudioRenderer.cpp.
References pRenderVolume.
void VStudioRenderer::onInitialize | ( | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 207 of file VStudioRenderer.cpp.
References bgColor.
Referenced by onOverlayDraw().
void VStudioRenderer::onLOG | ( | QString & | what | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 338 of file VStudioRenderer.cpp.
References VStudio::GetConsole(), CConsole::Log(), MAIN_THREAD, and pControl.
void VStudioRenderer::onLOG | ( | const char * | what | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 343 of file VStudioRenderer.cpp.
References VStudio::GetConsole(), CConsole::Log(), MAIN_THREAD, and pControl.
Referenced by SetVolume().
void VStudioRenderer::onOverlayDraw | ( | QPainter * | painter | ) | [private, virtual] |
Reimplemented from CGLSurface.
Definition at line 256 of file VStudioRenderer.cpp.
References bHighQuality, bTransformModel, VStudio::GetVolume(), onInitialize(), pControl, RenderOverlay(), RenderScene(), VStudio::SaveImage(), spCam, and spCamControl.
void VStudioRenderer::onResize | ( | ) | [protected, virtual] |
Reimplemented from CGLSurface.
Definition at line 216 of file VStudioRenderer.cpp.
References pRenderVolume, spCam, CGLSurface::viewportHeight, and CGLSurface::viewportWidth.
void VStudioRenderer::OpenState | ( | QSettings & | openFile | ) |
Definition at line 73 of file VStudioRenderer.cpp.
References bgColor, SetBGColor(), showPerf, ShowPerformance(), and spCamControl.
Referenced by VStudio::OpenScene().
void VStudioRenderer::RenderOverlay | ( | QPainter * | painter | ) | [protected] |
Definition at line 324 of file VStudioRenderer.cpp.
References PerformanceOverlay::Draw(), PerformanceOverlay::IncFrame(), and perfOverlay.
Referenced by onOverlayDraw().
void VStudioRenderer::RenderScene | ( | ) | [protected] |
Definition at line 307 of file VStudioRenderer.cpp.
References bDoLog, pRenderVolume, ReportErrors(), and spLight.
Referenced by onDraw(), and onOverlayDraw().
void VStudioRenderer::ReportErrors | ( | ) | [private] |
Definition at line 485 of file VStudioRenderer.cpp.
References VStudio::GetConsole(), CConsole::Log(), OPENGL_THREAD, and pControl.
Referenced by RenderScene().
void VStudioRenderer::SaveSnapshot | ( | ) | [slot] |
Definition at line 441 of file VStudioRenderer.cpp.
References bHighQuality, VStudio::GetVolume(), pControl, and CGLSurface::Update().
Referenced by VStudioRenderer().
void VStudioRenderer::SaveState | ( | QSettings & | saveFile | ) |
Definition at line 102 of file VStudioRenderer.cpp.
References bgColor, TVector3< T >::m_X, TVector3< T >::m_Y, TVector3< T >::m_Z, showPerf, and spCamControl.
Referenced by VStudio::SaveScene().
void VStudioRenderer::SelectBGColor | ( | ) | [slot] |
Definition at line 409 of file VStudioRenderer.cpp.
References bgColor, and SetBGColor().
Referenced by VStudioRenderer().
void VStudioRenderer::SetBGColor | ( | float | r, | |
float | g, | |||
float | b, | |||
float | a | |||
) |
Definition at line 196 of file VStudioRenderer.cpp.
References CGLSurface::lockGLContext(), and CGLSurface::unlockGLContext().
Referenced by OpenState(), and SelectBGColor().
void VStudioRenderer::SetLight | ( | TSmartPointer< CLight > | light | ) |
Definition at line 191 of file VStudioRenderer.cpp.
References spLight.
Referenced by VStudio::Create().
void VStudioRenderer::SetVolume | ( | TSmartPointer< CVolume > | volume | ) |
Definition at line 164 of file VStudioRenderer.cpp.
References CVolume::DestroyOpenGL(), CGLSurface::lockGLContext(), oldVolume, onLOG(), pRenderVolume, transformMC, and CGLSurface::unlockGLContext().
Referenced by VStudio::LoadVolume(), and VStudio::OpenScene().
void VStudioRenderer::ShowLight | ( | ) | [slot] |
Definition at line 395 of file VStudioRenderer.cpp.
References showLightA, and spLight.
Referenced by VStudioRenderer().
void VStudioRenderer::ShowPerformance | ( | ) | [slot] |
Definition at line 415 of file VStudioRenderer.cpp.
References CGLSurface::EnableOverlay(), CGLSurface::EndAnimate(), CGLSurface::lockGLContext(), perfOverlay, PerformanceOverlay::Reset(), showPerformanceA, spCam, CGLSurface::StartAnimate(), and CGLSurface::unlockGLContext().
Referenced by OpenState(), and VStudioRenderer().
void VStudioRenderer::ToggleThread | ( | ) | [slot] |
void VStudioRenderer::ToggleTransform | ( | ) | [slot] |
Definition at line 453 of file VStudioRenderer.cpp.
References bTransformModel, pRenderVolume, CGLSurface::registerInputHandler(), spCamControl, and transformMC.
Referenced by VStudioRenderer().
bool VStudioRenderer::backupHeadLight [private] |
Definition at line 144 of file VStudioRenderer.h.
Referenced by keyPressEvent(), and keyReleaseEvent().
bool VStudioRenderer::bDoLog [private] |
Definition at line 130 of file VStudioRenderer.h.
Referenced by EnableLog(), RenderScene(), and VStudioRenderer().
QColor VStudioRenderer::bgColor [private] |
Definition at line 142 of file VStudioRenderer.h.
Referenced by onInitialize(), OpenState(), SaveState(), SelectBGColor(), and VStudioRenderer().
bool VStudioRenderer::bHighQuality [private] |
Definition at line 148 of file VStudioRenderer.h.
Referenced by onDraw(), onOverlayDraw(), SaveSnapshot(), and VStudioRenderer().
bool VStudioRenderer::bTransformModel [private] |
Definition at line 146 of file VStudioRenderer.h.
Referenced by onDraw(), onOverlayDraw(), ToggleTransform(), and VStudioRenderer().
QMenu* VStudioRenderer::contextMenu [private] |
Definition at line 133 of file VStudioRenderer.h.
Referenced by contextMenuEvent(), and VStudioRenderer().
QAction* VStudioRenderer::enableThreadA [private] |
CVolume* VStudioRenderer::oldVolume [private] |
VStudio* const VStudioRenderer::pControl [private] |
Definition at line 116 of file VStudioRenderer.h.
Referenced by onDraw(), onLOG(), onOverlayDraw(), ReportErrors(), and SaveSnapshot().
PerformanceOverlay* VStudioRenderer::perfOverlay [private] |
Definition at line 145 of file VStudioRenderer.h.
Referenced by onAnimate(), RenderOverlay(), ShowPerformance(), VStudioRenderer(), and ~VStudioRenderer().
TSmartPointer<CVolume> VStudioRenderer::pRenderVolume [private] |
Definition at line 127 of file VStudioRenderer.h.
Referenced by GetCurrentVolume(), onFinishRendering(), onResize(), RenderScene(), SetVolume(), ToggleTransform(), VStudioRenderer(), and ~VStudioRenderer().
QAction* VStudioRenderer::setBGColorA [private] |
QAction* VStudioRenderer::showLightA [private] |
Definition at line 135 of file VStudioRenderer.h.
Referenced by contextMenuEvent(), ShowLight(), and VStudioRenderer().
bool VStudioRenderer::showPerf [private] |
Definition at line 143 of file VStudioRenderer.h.
Referenced by OpenState(), SaveState(), and VStudioRenderer().
QAction* VStudioRenderer::showPerformanceA [private] |
Definition at line 136 of file VStudioRenderer.h.
Referenced by ShowPerformance(), and VStudioRenderer().
QAction* VStudioRenderer::snapShotA [private] |
TSmartPointer<CCamera> VStudioRenderer::spCam [private] |
Definition at line 119 of file VStudioRenderer.h.
Referenced by onDraw(), onOverlayDraw(), onResize(), ShowPerformance(), VStudioRenderer(), and ~VStudioRenderer().
TSmartPointer<CSceneCtrl> VStudioRenderer::spCamControl [private] |
Definition at line 120 of file VStudioRenderer.h.
Referenced by keyReleaseEvent(), onDraw(), onOverlayDraw(), OpenState(), SaveState(), ToggleTransform(), VStudioRenderer(), and ~VStudioRenderer().
TSmartPointer<CLight> VStudioRenderer::spLight [private] |
Definition at line 123 of file VStudioRenderer.h.
Referenced by contextMenuEvent(), keyPressEvent(), keyReleaseEvent(), RenderScene(), SetLight(), ShowLight(), and ~VStudioRenderer().
QAction* VStudioRenderer::transformMC [private] |
Definition at line 139 of file VStudioRenderer.h.
Referenced by SetVolume(), ToggleTransform(), and VStudioRenderer().