Gazebo Sim

API Reference

9.0.0
GlobalIlluminationCiVct Class Reference

Enable and configure Global Illumination using CIVCT (Cascaded Image Voxel Cone Tracing) More...

#include <GlobalIlluminationCiVct.hh>

Signals

void CameraListChanged ()
 Notify camera list has changed.
 
void CascadesEditableChanged ()
 Notify this property has changed.
 
void DebugVisualizationModeChanged ()
 Notify debug visualization has changed.
 
void EnabledChanged ()
 Notify this property has changed.
 
void LightingChanged ()
 Notify fast-to-rebuild properties may have changed.
 
void qmlAddCascade ()
 Tells QML to add a cascade from UI thread. MUST start lowercase.
 
void qmlAddCascade2 (quint32 _resX, quint32 _resY, quint32 _resZ, quint32 _octX, quint32 _octY, quint32 _octZ, float _ahsX, float _ahsY, float _ahsZ, float _thinWallCounter)
 Tells QML to add a cascade from UI thread. MUST start lowercase.
 
void SettingsChanged ()
 Notify various properties may have changed.
 

Public Member Functions

 GlobalIlluminationCiVct ()
 Constructor.
 
 ~GlobalIlluminationCiVct () override
 Destructor.
 
Q_INVOKABLE QObject * AddCascade ()
 Adds a new cascade based on the previous one (if there's any)
 
Q_INVOKABLE bool Anisotropic () const
 See rendering::GlobalIlluminationCiVct::Anisotropic.
 
Q_INVOKABLE uint32_t BounceCount () const
 See rendering::GlobalIlluminationCiVct::BounceCount.
 
Q_INVOKABLE QStringList CameraList ()
 Populates available cameras.
 
Q_INVOKABLE bool CascadesEditable () const
 Returns true when it's possible to add/remove cascades False when it's not.
 
Q_INVOKABLE uint32_t DebugVisualizationMode () const
 See rendering::GlobalIlluminationCiVct::DebugVisualizationMode.
 
Q_INVOKABLE bool Enabled () const
 See rendering::GlobalIlluminationCiVct::Enabled.
 
bool eventFilter (QObject *_obj, QEvent *_event) override
 
Q_INVOKABLE QObject * GetCascade (int _idx) const
 Retrieves an existing cascade.
 
Q_INVOKABLE bool HighQuality () const
 See rendering::GlobalIlluminationCiVct::HighQuality.
 
void LoadConfig (const tinyxml2::XMLElement *_pluginElem) override
 
bool LoadGlobalIlluminationCiVct ()
 Load the scene and attach LidarVisual to the scene.
 
Q_INVOKABLE void OnCamareBind (const QString &_cameraName)
 Binds the given camera as active for the center of all cascades.
 
Q_INVOKABLE void OnRefreshCameras ()
 Populates available cameras.
 
Q_INVOKABLE void PopCascade ()
 Pops the last created cascade.
 
Q_INVOKABLE void ResetCascades ()
 Disables this GI solution and makes cascades editable again.
 
Q_INVOKABLE void SetAnisotropic (const bool _anisotropic)
 See rendering::GlobalIlluminationCiVct::SetAnisotropic.
 
Q_INVOKABLE void SetBounceCount (const uint32_t _bounces)
 See rendering::GlobalIlluminationCiVct::SetBounceCount.
 
Q_INVOKABLE void SetDebugVisualizationMode (const uint32_t _visMode)
 See rendering::GlobalIlluminationCiVct::SetDebugVisualizationMode.
 
Q_INVOKABLE bool SetEnabled (const bool _enabled)
 See rendering::GlobalIlluminationCiVct::SetEnabled & rendering::Scene::SetActiveGlobalIllumination.
 
Q_INVOKABLE void SetHighQuality (const bool _quality)
 See rendering::GlobalIlluminationCiVct::SetHighQuality.
 
Q_INVOKABLE void UpdateDebugVisualizationMode (int _mode)
 Set debug visualization mode GlogbalIllumination.
 
- Public Member Functions inherited from GuiSystem
virtual void Update (const UpdateInfo &_info, EntityComponentManager &_ecm)
 Update callback called every time the system is stepped. This is called at a Gazebo Transport thread, so any interaction with Qt should be done through signals and slots.
 
- Public Member Functions inherited from Plugin
 Plugin ()
 
virtual ~Plugin ()
 
QQuickItem * CardItem () const
 
virtual std::string ConfigStr ()
 
QQmlContext * Context () const
 
bool DeleteLaterRequested () const
 
void Load (const tinyxml2::XMLElement *_pluginElem)
 
QQuickItem * PluginItem () const
 
void PostParentChanges ()
 
virtual std::string Title () const
 

Properties

bool anisotropic
 
int bounceCount
 
QStringList cameraList
 
bool cascadesEditable
 
int debugVisualizationMode
 
bool enabled
 Enabled QML binding. Anything that isn't GUI-only (i.e. affects simulation) needs it.
 
bool highQuality
 

Additional Inherited Members

- Protected Member Functions inherited from Plugin
void DeleteLater ()
 
- Protected Attributes inherited from Plugin
std::string configStr
 
std::string title
 

Detailed Description

Enable and configure Global Illumination using CIVCT (Cascaded Image Voxel Cone Tracing)

Constructor & Destructor Documentation

◆ GlobalIlluminationCiVct()

Constructor.

◆ ~GlobalIlluminationCiVct()

~GlobalIlluminationCiVct ( )
override

Destructor.

Member Function Documentation

◆ AddCascade()

Q_INVOKABLE QObject * AddCascade ( )

Adds a new cascade based on the previous one (if there's any)

Returns
A CiVctCascade ptr to be used by QML

◆ Anisotropic()

Q_INVOKABLE bool Anisotropic ( ) const

See rendering::GlobalIlluminationCiVct::Anisotropic.

Returns
See rendering::GlobalIlluminationCiVct::Anisotropic

◆ BounceCount()

Q_INVOKABLE uint32_t BounceCount ( ) const

See rendering::GlobalIlluminationCiVct::BounceCount.

Returns
See rendering::GlobalIlluminationCiVct::BounceCount

◆ CameraList()

Q_INVOKABLE QStringList CameraList ( )

Populates available cameras.

◆ CameraListChanged

void CameraListChanged ( )
signal

Notify camera list has changed.

◆ CascadesEditable()

Q_INVOKABLE bool CascadesEditable ( ) const

Returns true when it's possible to add/remove cascades False when it's not.

Returns
True if cascades can be added/removed

◆ CascadesEditableChanged

void CascadesEditableChanged ( )
signal

Notify this property has changed.

◆ DebugVisualizationMode()

Q_INVOKABLE uint32_t DebugVisualizationMode ( ) const

See rendering::GlobalIlluminationCiVct::DebugVisualizationMode.

Returns
See rendering::GlobalIlluminationCiVct::DebugVisualizationMode

◆ DebugVisualizationModeChanged

void DebugVisualizationModeChanged ( )
signal

Notify debug visualization has changed.

◆ Enabled()

Q_INVOKABLE bool Enabled ( ) const

See rendering::GlobalIlluminationCiVct::Enabled.

Returns
See rendering::GlobalIlluminationCiVct::Enabled

◆ EnabledChanged

void EnabledChanged ( )
signal

Notify this property has changed.

◆ eventFilter()

bool eventFilter ( QObject *  _obj,
QEvent *  _event 
)
override

◆ GetCascade()

Q_INVOKABLE QObject * GetCascade ( int  _idx) const

Retrieves an existing cascade.

Parameters
_idxIndex of the cascade. Must be in range (you must track how many times AddCascade() & PopCascade() has been called).
Returns
A CiVctCascade ptr to be used by QML

◆ HighQuality()

Q_INVOKABLE bool HighQuality ( ) const

See rendering::GlobalIlluminationCiVct::HighQuality.

Returns
See rendering::GlobalIlluminationCiVct::HighQuality

◆ LightingChanged

void LightingChanged ( )
signal

Notify fast-to-rebuild properties may have changed.

◆ LoadConfig()

void LoadConfig ( const tinyxml2::XMLElement *  _pluginElem)
overridevirtual

Reimplemented from Plugin.

◆ LoadGlobalIlluminationCiVct()

bool LoadGlobalIlluminationCiVct ( )

Load the scene and attach LidarVisual to the scene.

Returns
True if GI CIVCT is loaded successfully, false otherwise.

◆ OnCamareBind()

Q_INVOKABLE void OnCamareBind ( const QString &  _cameraName)

Binds the given camera as active for the center of all cascades.

Parameters
[in]_cameraNameName of an existing camera to track Currently it must be a Camera in the GUI. In the future something more advanced to synchronize with Server will be needed.

◆ OnRefreshCameras()

Q_INVOKABLE void OnRefreshCameras ( )

Populates available cameras.

◆ PopCascade()

Q_INVOKABLE void PopCascade ( )

Pops the last created cascade.

◆ qmlAddCascade

void qmlAddCascade ( )
signal

Tells QML to add a cascade from UI thread. MUST start lowercase.

◆ qmlAddCascade2

void qmlAddCascade2 ( quint32  _resX,
quint32  _resY,
quint32  _resZ,
quint32  _octX,
quint32  _octY,
quint32  _octZ,
float  _ahsX,
float  _ahsY,
float  _ahsZ,
float  _thinWallCounter 
)
signal

Tells QML to add a cascade from UI thread. MUST start lowercase.

Parameters
[in]_resXResolution X
[in]_resYResolution Y
[in]_resZResolution Z
[in]_octXOctant Count X
[in]_octYOctant Count Y
[in]_octZOctant Count Z
[in]_ahsXArea Half Size X
[in]_ahsYArea Half Size Y
[in]_ahsZArea Half Size Z
[in]_thinWallCounterthinWallCounter parameter

◆ ResetCascades()

Q_INVOKABLE void ResetCascades ( )

Disables this GI solution and makes cascades editable again.

◆ SetAnisotropic()

Q_INVOKABLE void SetAnisotropic ( const bool  _anisotropic)

See rendering::GlobalIlluminationCiVct::SetAnisotropic.

Parameters
[in]_anisotropicSee GlobalIlluminationCiVct::SetAnisotropic

◆ SetBounceCount()

Q_INVOKABLE void SetBounceCount ( const uint32_t  _bounces)

See rendering::GlobalIlluminationCiVct::SetBounceCount.

Parameters
[in]_bouncesSee GlobalIlluminationCiVct::SetBounceCount

◆ SetDebugVisualizationMode()

Q_INVOKABLE void SetDebugVisualizationMode ( const uint32_t  _visMode)

See rendering::GlobalIlluminationCiVct::SetDebugVisualizationMode.

Parameters
[in]_visModeSee GlobalIlluminationCiVct::SetDebugVisualizationMode

◆ SetEnabled()

Q_INVOKABLE bool SetEnabled ( const bool  _enabled)

See rendering::GlobalIlluminationCiVct::SetEnabled & rendering::Scene::SetActiveGlobalIllumination.

Parameters
[in]_enabledSee GlobalIlluminationCiVct::SetEnabled
Returns
The new setting. We may fail to enable if settings are invalid See ValidSettings()

◆ SetHighQuality()

Q_INVOKABLE void SetHighQuality ( const bool  _quality)

See rendering::GlobalIlluminationCiVct::SetHighQuality.

Parameters
[in]_qualitySee GlobalIlluminationCiVct::SetHighQuality

◆ SettingsChanged

void SettingsChanged ( )
signal

Notify various properties may have changed.

◆ UpdateDebugVisualizationMode()

Q_INVOKABLE void UpdateDebugVisualizationMode ( int  _mode)

Set debug visualization mode GlogbalIllumination.

Parameters
[in]_modeIndex of selected debug visualization mode

Property Documentation

◆ anisotropic

bool anisotropic
readwrite

◆ bounceCount

int bounceCount
readwrite

◆ cameraList

QStringList cameraList
read

◆ cascadesEditable

bool cascadesEditable
read

◆ debugVisualizationMode

int debugVisualizationMode
readwrite

◆ enabled

bool enabled
readwrite

Enabled QML binding. Anything that isn't GUI-only (i.e. affects simulation) needs it.

◆ highQuality

bool highQuality
readwrite

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