Kanzi  3.9.9
Kanzi Engine C++ API
kanzi::GatherLightsRenderPass::LightRange Class Reference

Light range is a range type for retrieving light values. More...

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

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

Classes

class  LightRangeLocation
 Light range location implementation. More...
 

Public Member Functions

void addLight (Light &light)
 Adds a new light info. More...
 
void addLight (Light &light, const Matrix4x4 &modifierTransform)
 Adds a new light info with modifier transform. More...
 
- Public Member Functions inherited from kanzi::TypedValueRange< LightInfo >
iterator begin ()
 Gets an iterator to the beginning of the range. More...
 
const_iterator begin () const
 Gets an iterator to the beginning of the range. More...
 
const_iterator cbegin () const
 Gets an iterator to the beginning of the range. More...
 
const_iterator cend () const
 Gets an iterator to the end of the range. More...
 
void clear ()
 Clears all values from internal storage. More...
 
iterator end ()
 Gets an iterator to the end of the range. More...
 
const_iterator end () const
 Gets an iterator to the end of the range. More...
 
vector< LightInfo >::reference operator[] (size_t index)
 Access operator. More...
 
vector< LightInfo >::const_reference operator[] (size_t index) const
 Const access operator. More...
 
void push_back (const LightInfo &value)
 Appends a value to the end of internal storage. More...
 
void push_back (LightInfo &&value)
 Appends a value to the end of internal storage. More...
 
void setValue (size_t index, const LightInfo &value)
 Sets a value to the internal storage index. More...
 
size_t size () const
 Tells the number of elements in the range. More...
 
- Public Member Functions inherited from kanzi::AbstractIndexedRange
PropertyObjectSharedPtr getPropertyObjectByIndex (size_t index)
 Gets a property object by index. More...
 
bool getPropertyValueByIndex (size_t index, AbstractPropertyType propertyType, Variant &value)
 Access a property in a property object at an index. More...
 
size_t getSize ()
 Gets the size of the indexed range. More...
 
bool getValueByIndex (size_t index, Variant &value)
 Reads a value by index and writes it to a variant. More...
 
- Public Member Functions inherited from kanzi::AbstractRange
bool adaptView (AbstractRange &potentialViewRange, size_t length)
 Attempts to reuse a view over this range. More...
 
AbstractRangeIterator beginIteration ()
 Gets an iterator to the beginning of this range. More...
 
AbstractRangeSharedPtr createView (size_t length)
 Creates a view over this range. More...
 
AbstractRangeSharedPtr evaluate ()
 Evaluate the abstract range. More...
 
AbstractRangeLocationPtr locationBegin ()
 Gets an iteratable location to beginning of the range. More...
 
virtual ~AbstractRange ()=default
 Destructor. More...
 

Static Public Member Functions

static shared_ptr< LightRangecreate ()
 Creates a new light range. More...
 
- Static Public Member Functions inherited from kanzi::TypedValueRange< LightInfo >
static shared_ptr< TypedValueRangecreate ()
 Creates a new typed value range. More...
 

Protected Member Functions

PropertyObjectSharedPtr getPropertyObjectByIndexOverride (size_t index) override
 AbstractIndexedRangeLocation::getPropertyObjectByIndexOverride() implementation. More...
 
bool getPropertyValueByIndexOverride (size_t index, AbstractPropertyType propertyType, Variant &value) override
 AbstractIndexedRangeLocation::getPropertyValueByIndexOverride() implementation. More...
 
 LightRange ()=default
 Constructor. More...
 
AbstractRangeLocationPtr locationBeginOverride () override
 AbstractRange::locationBeginOverride() implementation. More...
 
- Protected Member Functions inherited from kanzi::TypedValueRange< LightInfo >
PropertyObjectSharedPtr getPropertyObjectByIndexOverride (size_t index) override
 AbstractIndexedRange::getPropertyObjectByIndexOverride() implementation. More...
 
bool getPropertyValueByIndexOverride (size_t index, AbstractPropertyType propertyType, Variant &value) override
 AbstractIndexedRange::getPropertyValueByIndexOverride() implementation. More...
 
size_t getSizeOverride () override
 AbstractIndexedRange::getSizeOverride() implementation. More...
 
bool getValueByIndexOverride (size_t index, Variant &value) override
 AbstractIndexedRange::getValueByIndexOverride() implementation. More...
 
AbstractRangeLocationPtr locationBeginOverride () override
 AbstractRange::locationBeginOverride() implementation. More...
 
 TypedValueRange ()=default
 Default constructor. More...
 
- Protected Member Functions inherited from kanzi::AbstractIndexedRange
bool adaptViewOverride (AbstractRange &potentialViewRange, size_t length) override
 AbstractRange::adaptViewOverride() implementation. More...
 
AbstractRangeSharedPtr createViewOverride (size_t length) override
 AbstractRange::createViewOverride() implementation. More...
 
- Protected Member Functions inherited from kanzi::AbstractRange
 AbstractRange ()=default
 Constructor. More...
 
virtual AbstractRangeSharedPtr evaluateOverride ()
 Implementation-dependent evaluation of the range. More...
 

Additional Inherited Members

- Public Types inherited from kanzi::TypedValueRange< LightInfo >
using const_iterator = typename vector< LightInfo >::const_iterator
 Const iterator type for values. More...
 
using iterator = typename vector< LightInfo >::iterator
 Iterator type for values. More...
 
- Protected Attributes inherited from kanzi::TypedValueRange< LightInfo >
vector< LightInfo > m_values
 Container for single type of value. More...
 

Detailed Description

Light range is a range type for retrieving 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 ( )
explicitprotecteddefault

Constructor.

Member Function Documentation

static shared_ptr<LightRange> kanzi::GatherLightsRenderPass::LightRange::create ( )
static

Creates a new light range.

void kanzi::GatherLightsRenderPass::LightRange::addLight ( Light light)
inline

Adds a new light info.

Parameters
lightLight to add.
void kanzi::GatherLightsRenderPass::LightRange::addLight ( Light light,
const Matrix4x4 modifierTransform 
)
inline

Adds a new light info with modifier transform.

Parameters
lightLight to add.
modifierTransformModifier transformation to use.
AbstractRangeLocationPtr kanzi::GatherLightsRenderPass::LightRange::locationBeginOverride ( )
overrideprotectedvirtual
PropertyObjectSharedPtr kanzi::GatherLightsRenderPass::LightRange::getPropertyObjectByIndexOverride ( size_t  index)
overrideprotectedvirtual

AbstractIndexedRangeLocation::getPropertyObjectByIndexOverride() implementation.

Implements kanzi::AbstractIndexedRange.

bool kanzi::GatherLightsRenderPass::LightRange::getPropertyValueByIndexOverride ( size_t  index,
AbstractPropertyType  propertyType,
Variant value 
)
overrideprotectedvirtual

AbstractIndexedRangeLocation::getPropertyValueByIndexOverride() implementation.

Implements kanzi::AbstractIndexedRange.


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