Nearest light range is an extension to light range that returns the lights in distance order to caller. More...
#include <kanzi/core.ui/graphics3d/gather_nearest_lights_render_pass.hpp>
Classes | |
class | NearestLightRangeLocation |
Light range location implementation. More... | |
Public Member Functions | |
bool | isOrderDirty () const |
Indicates whether the light order is dirty and needs recalculation. More... | |
void | setOrderDirty () |
Queue notification for the light range. More... | |
~NearestLightRange () | |
Destructor. More... | |
Public Member Functions inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
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< LightDistanceInfo >::reference | operator[] (size_t index) |
Access operator. More... | |
vector< LightDistanceInfo >::const_reference | operator[] (size_t index) const |
Const access operator. More... | |
void | push_back (const LightDistanceInfo &value) |
Appends a value to the end of internal storage. More... | |
void | push_back (LightDistanceInfo &&value) |
Appends a value to the end of internal storage. More... | |
void | setValue (size_t index, const LightDistanceInfo &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< NearestLightRange > | create (LightRangeSharedPtr lightRange, Node3DSharedPtr referenceNode) |
Creates a new nearest light range. More... | |
static shared_ptr< NearestLightRange > | create (LightRangeSharedPtr lightRange) |
Creates a new nearest light range. More... | |
Static Public Member Functions inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
static shared_ptr< TypedValueRange > | create () |
Creates a new typed value range. More... | |
Protected Member Functions | |
NearestLightRange (LightRangeSharedPtr lightRange, Node3DSharedPtr referenceNode) | |
Default Constructor. More... | |
void | sortLights () |
Sort the lights according to the already-stored distance. More... | |
Protected Member Functions inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
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... | |
Protected Attributes | |
LightRangeWeakPtr | m_lightRange |
Source light range. More... | |
bool | m_orderDirty |
Flag for indicating whether or not the ordering in this light range is dirty. More... | |
Node3DWeakPtr | m_referenceNode |
Reference to a node. More... | |
Protected Attributes inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
vector< LightDistanceInfo > | m_values |
Container for single type of value. More... | |
Additional Inherited Members | |
Public Types inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
using | const_iterator = typename vector< LightDistanceInfo >::const_iterator |
Const iterator type for values. More... | |
using | iterator = typename vector< LightDistanceInfo >::iterator |
Iterator type for values. More... | |
Nearest light range is an extension to light range that returns the lights in distance order to caller.
kanzi::GatherNearestLightsRenderPass::NearestLightRange::~NearestLightRange | ( | ) |
Destructor.
|
explicitprotected |
Default Constructor.
lightRange | Light range referenced. |
referenceNode | Reference node for the sorting. |
|
static |
Creates a new nearest light range.
lightRange | Light range referenced. |
referenceNode | Reference node for the sorting. |
|
inlinestatic |
Creates a new nearest light range.
lightRange | Light range referenced. |
|
inline |
Indicates whether the light order is dirty and needs recalculation.
|
inline |
Queue notification for the light range.
When you call this function, the next execution of the Gather Nearest Lights Render Pass notifies the range.
|
protected |
Sort the lights according to the already-stored distance.
This function does nothing if the order is not dirty or if the
|
protected |
Source light range.
|
protected |
Reference to a node.
|
protected |
Flag for indicating whether or not the ordering in this light range is dirty.