Kanzi Engine API
kanzi::GatherLightsRenderPass::LightRange Class Reference

Light iterator is a value iterator for bindings that retrieve light values. More...

#include <kanzi/core.ui/graphics3d/gather_lights_render_pass.hpp>

Inheritance diagram for kanzi::GatherLightsRenderPass::LightRange:
[legend]

Public Member Functions

 LightRange (GatherLightsRenderPass &renderPass, Object *object, string_view name, string_view param)
 Constructor. More...
 
- Public Member Functions inherited from kanzi::ValueRange
bool getValue (Variant &value, size_t index)
 Gets a value from the range by index. More...
 
 ValueRange (string_view name)
 Constructor. More...
 
- Public Member Functions inherited from kanzi::ObservableRange
void addNotification (void *data, NotificationFunction func)
 Sets the notification function. More...
 
string getName () const
 Gets the name of the iterator. More...
 
bool hasNotification (void *data, NotificationFunction func) const
 Tells if given notification exists. More...
 
void invalidate ()
 Invalidates the range. More...
 
bool isNamed (string_view name) const
 Checks whether the name of the iterator matches a given name. More...
 
bool isValid ()
 Checks whether the iterator is valid. More...
 
void notify ()
 Notifies the iterator about the iteration contents having changed. More...
 
 ObservableRange (string_view name)
 Constructor. More...
 
void removeNotification (void *data, NotificationFunction func)
 Removes a notification function. More...
 
void setRangeProducerReference (ObservableRangeProducerSharedPtr factory)
 Sets the factory reference for the observable range. More...
 
virtual ~ObservableRange ()=default
 Destructor. More...
 

Protected Member Functions

bool getValueOverride (Variant &value, size_t index) override
 ValueRange::getValueOverride() implementation. More...
 
- Protected Member Functions inherited from kanzi::ObservableRange
virtual void notifyOverride ()
 Implements default notification implementation. More...
 

Protected Attributes

Light::Type m_lightType
 Light type. More...
 
string m_params
 Render value name (applicable if property type is not set). More...
 
AbstractPropertyType m_propertyType
 Property to get. More...
 
weak_ptr< Node3Dm_referenceObject
 Reference object. More...
 
GatherLightsRenderPassm_renderPass
 Gather Lights Render Pass that owns the light range. More...
 
- Protected Attributes inherited from kanzi::ObservableRange
ObservableRangeProducerWeakPtr m_factory
 Iterator factory that created this iterator. More...
 
string m_name
 Identifying iterator name. More...
 
vector< NotificationInfo > m_notifications
 Functions to call when notified. More...
 

Detailed Description

Light iterator is a value iterator for bindings that retrieve light values.

Gather Lights Render Pass creates the light range. Render value bindings, which gather light information, use the light ranges.

Constructor & Destructor Documentation

kanzi::GatherLightsRenderPass::LightRange::LightRange ( GatherLightsRenderPass renderPass,
Object object,
string_view  name,
string_view  param 
)
explicit

Constructor.

Parameters
renderPassThe Gather Lights Render Pass that owns the Light Iterator.
objectReference object.
nameRange name.
paramRange parameter identifier.

Member Function Documentation

bool kanzi::GatherLightsRenderPass::LightRange::getValueOverride ( Variant value,
size_t  index 
)
overrideprotectedvirtual

Member Data Documentation

GatherLightsRenderPass& kanzi::GatherLightsRenderPass::LightRange::m_renderPass
protected

Gather Lights Render Pass that owns the light range.

weak_ptr<Node3D> kanzi::GatherLightsRenderPass::LightRange::m_referenceObject
protected

Reference object.

AbstractPropertyType kanzi::GatherLightsRenderPass::LightRange::m_propertyType
protected

Property to get.

string kanzi::GatherLightsRenderPass::LightRange::m_params
protected

Render value name (applicable if property type is not set).

Light::Type kanzi::GatherLightsRenderPass::LightRange::m_lightType
protected

Light type.


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