Gazebo Sim

API Reference

9.0.0
GlobalIlluminationVct Class Reference

Enable and configure Global Illumination using VCT (Voxel Cone Tracing) More...

#include <GlobalIlluminationVct.hh>

Signals

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 SettingsChanged ()
 Notify various properties may have changed.
 

Public Member Functions

 GlobalIlluminationVct ()
 Constructor.
 
 ~GlobalIlluminationVct () override
 Destructor.
 
Q_INVOKABLE bool Anisotropic () const
 See rendering::GlobalIlluminationVct::Anisotropic.
 
Q_INVOKABLE uint32_t BounceCount () const
 See rendering::GlobalIlluminationVct::BounceCount.
 
Q_INVOKABLE bool ConserveMemory () const
 See rendering::GlobalIlluminationVct::ConserveMemory.
 
Q_INVOKABLE uint32_t DebugVisualizationMode () const
 See rendering::GlobalIlluminationVct::DebugVisualizationMode.
 
Q_INVOKABLE bool Enabled () const
 See rendering::GlobalIlluminationVct::Enabled.
 
bool eventFilter (QObject *_obj, QEvent *_event) override
 
Q_INVOKABLE bool HighQuality () const
 See rendering::GlobalIlluminationVct::HighQuality.
 
void LoadConfig (const tinyxml2::XMLElement *_pluginElem) override
 
bool LoadGlobalIlluminationVct ()
 Load the scene and attach LidarVisual to the scene.
 
Q_INVOKABLE uint32_t OctantCountX () const
 See rendering::GlobalIlluminationVct::OctantCount.
 
Q_INVOKABLE uint32_t OctantCountY () const
 See rendering::GlobalIlluminationVct::OctantCount.
 
Q_INVOKABLE uint32_t OctantCountZ () const
 See rendering::GlobalIlluminationVct::OctantCount.
 
Q_INVOKABLE uint32_t ResolutionX () const
 See rendering::GlobalIlluminationVct::Resolution.
 
Q_INVOKABLE uint32_t ResolutionY () const
 See rendering::GlobalIlluminationVct::Resolution.
 
Q_INVOKABLE uint32_t ResolutionZ () const
 See rendering::GlobalIlluminationVct::Resolution.
 
Q_INVOKABLE void SetAnisotropic (const bool _anisotropic)
 See rendering::GlobalIlluminationVct::SetAnisotropic.
 
Q_INVOKABLE void SetBounceCount (const uint32_t _bounces)
 See rendering::GlobalIlluminationVct::SetBounceCount.
 
Q_INVOKABLE void SetConserveMemory (const bool _conserveMemory)
 See rendering::GlobalIlluminationVct::SetConserveMemory.
 
Q_INVOKABLE void SetDebugVisualizationMode (const uint32_t _visMode)
 See rendering::GlobalIlluminationVct::SetDebugVisualizationMode.
 
Q_INVOKABLE void SetEnabled (const bool _enabled)
 See rendering::GlobalIlluminationVct::SetEnabled & rendering::Scene::SetActiveGlobalIllumination.
 
Q_INVOKABLE void SetHighQuality (const bool _quality)
 See rendering::GlobalIlluminationVct::SetHighQuality.
 
Q_INVOKABLE void SetOctantCountX (const uint32_t _octantCount)
 See rendering::GlobalIlluminationVct::SetOctantCount.
 
Q_INVOKABLE void SetOctantCountY (const uint32_t _octantCount)
 See rendering::GlobalIlluminationVct::SetOctantCount.
 
Q_INVOKABLE void SetOctantCountZ (const uint32_t _octantCount)
 See rendering::GlobalIlluminationVct::SetOctantCount.
 
Q_INVOKABLE void SetResolutionX (const uint32_t _res)
 See rendering::GlobalIlluminationVct::SetResolution.
 
Q_INVOKABLE void SetResolutionY (const uint32_t _res)
 See rendering::GlobalIlluminationVct::SetResolution.
 
Q_INVOKABLE void SetResolutionZ (const uint32_t _res)
 See rendering::GlobalIlluminationVct::SetResolution.
 
Q_INVOKABLE void SetThinWallCounter (const float _thinWallCounter)
 See rendering::GlobalIlluminationVct::SetThinWallCounter.
 
Q_INVOKABLE float ThinWallCounter () const
 See rendering::GlobalIlluminationVct::ThinWallCounter.
 
Q_INVOKABLE void UpdateDebugVisualizationMode (int _mode)
 Set debug visualization mode GlogbalIllumination.
 
Q_INVOKABLE void UpdateOctantCount (int _axis, uint32_t _count)
 Set VCT octant count.
 
Q_INVOKABLE void UpdateResolution (int _axis, uint32_t _res)
 Set VCT resolution.
 
- 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
 
bool conserveMemory
 
int debugVisualizationMode
 
bool enabled
 Enabled QML binding. Anything that isn't GUI-only (i.e. affects simulation) needs it.
 
bool highQuality
 
int octantCountX
 
int octantCountY
 
int octantCountZ
 
int resolutionX
 
int resolutionY
 
int resolutionZ
 
float thinWallCounter
 

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 VCT (Voxel Cone Tracing)

Due to how QML bindings work, we must split Vectors into each component so e.g. the following Javascript code:

cascade.resolutionX = 16 cascade.resolutionY = 32 cascade.resolutionZ = 64

Will end up calling:

cascade->SetResolutionX(16); cascade->SetResolutionY(32); cascade->SetResolutionZ(64);

Even though in C++ we would normally do resolution = {16, 32, 64}; The same goes for each property.

Constructor & Destructor Documentation

◆ GlobalIlluminationVct()

Constructor.

◆ ~GlobalIlluminationVct()

~GlobalIlluminationVct ( )
override

Destructor.

Member Function Documentation

◆ Anisotropic()

Q_INVOKABLE bool Anisotropic ( ) const

See rendering::GlobalIlluminationVct::Anisotropic.

Returns
See rendering::GlobalIlluminationVct::Anisotropic

◆ BounceCount()

Q_INVOKABLE uint32_t BounceCount ( ) const

See rendering::GlobalIlluminationVct::BounceCount.

Returns
See rendering::GlobalIlluminationVct::BounceCount

◆ ConserveMemory()

Q_INVOKABLE bool ConserveMemory ( ) const

See rendering::GlobalIlluminationVct::ConserveMemory.

Returns
See rendering::GlobalIlluminationVct::ConserveMemory

◆ DebugVisualizationMode()

Q_INVOKABLE uint32_t DebugVisualizationMode ( ) const

See rendering::GlobalIlluminationVct::DebugVisualizationMode.

Returns
See rendering::GlobalIlluminationVct::DebugVisualizationMode

◆ DebugVisualizationModeChanged

void DebugVisualizationModeChanged ( )
signal

Notify debug visualization has changed.

◆ Enabled()

Q_INVOKABLE bool Enabled ( ) const

See rendering::GlobalIlluminationVct::Enabled.

Returns
See rendering::GlobalIlluminationVct::Enabled

◆ EnabledChanged

void EnabledChanged ( )
signal

Notify this property has changed.

◆ eventFilter()

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

◆ HighQuality()

Q_INVOKABLE bool HighQuality ( ) const

See rendering::GlobalIlluminationVct::HighQuality.

Returns
See rendering::GlobalIlluminationVct::HighQuality

◆ LightingChanged

void LightingChanged ( )
signal

Notify fast-to-rebuild properties may have changed.

◆ LoadConfig()

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

Reimplemented from Plugin.

◆ LoadGlobalIlluminationVct()

bool LoadGlobalIlluminationVct ( )

Load the scene and attach LidarVisual to the scene.

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

◆ OctantCountX()

Q_INVOKABLE uint32_t OctantCountX ( ) const

See rendering::GlobalIlluminationVct::OctantCount.

Returns
See rendering::GlobalIlluminationVct::OctantCount

◆ OctantCountY()

Q_INVOKABLE uint32_t OctantCountY ( ) const

See rendering::GlobalIlluminationVct::OctantCount.

Returns
See rendering::GlobalIlluminationVct::OctantCount

◆ OctantCountZ()

Q_INVOKABLE uint32_t OctantCountZ ( ) const

See rendering::GlobalIlluminationVct::OctantCount.

Returns
See rendering::GlobalIlluminationVct::OctantCount

◆ ResolutionX()

Q_INVOKABLE uint32_t ResolutionX ( ) const

See rendering::GlobalIlluminationVct::Resolution.

Returns
See rendering::GlobalIlluminationVct::Resolution

◆ ResolutionY()

Q_INVOKABLE uint32_t ResolutionY ( ) const

See rendering::GlobalIlluminationVct::Resolution.

Returns
See rendering::GlobalIlluminationVct::Resolution

◆ ResolutionZ()

Q_INVOKABLE uint32_t ResolutionZ ( ) const

See rendering::GlobalIlluminationVct::Resolution.

Returns
See rendering::GlobalIlluminationVct::Resolution

◆ SetAnisotropic()

Q_INVOKABLE void SetAnisotropic ( const bool  _anisotropic)

See rendering::GlobalIlluminationVct::SetAnisotropic.

Parameters
[in]_anisotropicSee GlobalIlluminationVct::SetAnisotropic

◆ SetBounceCount()

Q_INVOKABLE void SetBounceCount ( const uint32_t  _bounces)

See rendering::GlobalIlluminationVct::SetBounceCount.

Parameters
[in]_bouncesSee GlobalIlluminationVct::SetBounceCount

◆ SetConserveMemory()

Q_INVOKABLE void SetConserveMemory ( const bool  _conserveMemory)

See rendering::GlobalIlluminationVct::SetConserveMemory.

Parameters
[in]_conserveMemorySee GlobalIlluminationVct::SetConserveMemory

◆ SetDebugVisualizationMode()

Q_INVOKABLE void SetDebugVisualizationMode ( const uint32_t  _visMode)

See rendering::GlobalIlluminationVct::SetDebugVisualizationMode.

Parameters
[in]_visModeSee GlobalIlluminationVct::SetDebugVisualizationMode

◆ SetEnabled()

Q_INVOKABLE void SetEnabled ( const bool  _enabled)

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

Parameters
[in]_enabledSee GlobalIlluminationVct::SetEnabled

◆ SetHighQuality()

Q_INVOKABLE void SetHighQuality ( const bool  _quality)

See rendering::GlobalIlluminationVct::SetHighQuality.

Parameters
[in]_qualitySee GlobalIlluminationVct::SetHighQuality

◆ SetOctantCountX()

Q_INVOKABLE void SetOctantCountX ( const uint32_t  _octantCount)

See rendering::GlobalIlluminationVct::SetOctantCount.

Parameters
[in]_octantCountSee GlobalIlluminationVct::SetOctantCount

◆ SetOctantCountY()

Q_INVOKABLE void SetOctantCountY ( const uint32_t  _octantCount)

See rendering::GlobalIlluminationVct::SetOctantCount.

Parameters
[in]_octantCountSee GlobalIlluminationVct::SetOctantCount

◆ SetOctantCountZ()

Q_INVOKABLE void SetOctantCountZ ( const uint32_t  _octantCount)

See rendering::GlobalIlluminationVct::SetOctantCount.

Parameters
[in]_octantCountSee GlobalIlluminationVct::SetOctantCount

◆ SetResolutionX()

Q_INVOKABLE void SetResolutionX ( const uint32_t  _res)

See rendering::GlobalIlluminationVct::SetResolution.

Parameters
[in]_resSee GlobalIlluminationVct::SetResolution

◆ SetResolutionY()

Q_INVOKABLE void SetResolutionY ( const uint32_t  _res)

See rendering::GlobalIlluminationVct::SetResolution.

Parameters
[in]_resSee GlobalIlluminationVct::SetResolution

◆ SetResolutionZ()

Q_INVOKABLE void SetResolutionZ ( const uint32_t  _res)

See rendering::GlobalIlluminationVct::SetResolution.

Parameters
[in]_resSee GlobalIlluminationVct::SetResolution

◆ SetThinWallCounter()

Q_INVOKABLE void SetThinWallCounter ( const float  _thinWallCounter)

See rendering::GlobalIlluminationVct::SetThinWallCounter.

Parameters
[in]_thinWallCounterSee GlobalIlluminationVct::SetThinWallCounter

◆ SettingsChanged

void SettingsChanged ( )
signal

Notify various properties may have changed.

◆ ThinWallCounter()

Q_INVOKABLE float ThinWallCounter ( ) const

See rendering::GlobalIlluminationVct::ThinWallCounter.

Returns
See rendering::GlobalIlluminationVct::ThinWallCounter

◆ UpdateDebugVisualizationMode()

Q_INVOKABLE void UpdateDebugVisualizationMode ( int  _mode)

Set debug visualization mode GlogbalIllumination.

Parameters
[in]_modeIndex of selected debug visualization mode

◆ UpdateOctantCount()

Q_INVOKABLE void UpdateOctantCount ( int  _axis,
uint32_t  _count 
)

Set VCT octant count.

Parameters
[in]_axisAxis (width, height, depth). In range [0; 3)
[in]_countNew octant count

◆ UpdateResolution()

Q_INVOKABLE void UpdateResolution ( int  _axis,
uint32_t  _res 
)

Set VCT resolution.

Parameters
[in]_axisAxis (width, height, depth). In range [0; 3)
[in]_resNew resolution

Property Documentation

◆ anisotropic

bool anisotropic
readwrite

◆ bounceCount

int bounceCount
readwrite

◆ conserveMemory

bool conserveMemory
readwrite

◆ 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

◆ octantCountX

int octantCountX
readwrite

◆ octantCountY

int octantCountY
readwrite

◆ octantCountZ

int octantCountZ
readwrite

◆ resolutionX

int resolutionX
readwrite

◆ resolutionY

int resolutionY
readwrite

◆ resolutionZ

int resolutionZ
readwrite

◆ thinWallCounter

float thinWallCounter
readwrite

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