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. | |
void | setOrderDirty () |
Queue notification for the light range. | |
~NearestLightRange () | |
Destructor. | |
Public Member Functions inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
iterator | begin () |
Gets an iterator to the beginning of the range. | |
const_iterator | begin () const |
Gets an iterator to the beginning of the range. | |
const_iterator | cbegin () const |
Gets an iterator to the beginning of the range. | |
const_iterator | cend () const |
Gets an iterator to the end of the range. | |
void | clear () |
Clears all values from internal storage. | |
iterator | end () |
Gets an iterator to the end of the range. | |
const_iterator | end () const |
Gets an iterator to the end of the range. | |
vector< LightDistanceInfo >::reference | operator[] (size_t index) |
Access operator. | |
vector< LightDistanceInfo >::const_reference | operator[] (size_t index) const |
Const access operator. | |
void | push_back (const LightDistanceInfo &value) |
Appends a value to the end of internal storage. | |
void | push_back (LightDistanceInfo &&value) |
Appends a value to the end of internal storage. | |
void | setValue (size_t index, const LightDistanceInfo &value) |
Sets a value to the internal storage index. | |
size_t | size () const |
Tells the number of elements in the range. | |
Public Member Functions inherited from kanzi::AbstractIndexedRange | |
PropertyObjectSharedPtr | getPropertyObjectByIndex (size_t index) |
Gets a property object by index. | |
bool | getPropertyValueByIndex (size_t index, AbstractPropertyType propertyType, Variant &value) |
Access a property in a property object at an index. | |
size_t | getSize () |
Gets the size of the indexed range. | |
bool | getValueByIndex (size_t index, Variant &value) |
Reads a value by index and writes it to a variant. | |
Public Member Functions inherited from kanzi::AbstractRange | |
bool | adaptView (AbstractRange &potentialViewRange, size_t length) |
Attempts to reuse a view over this range. | |
AbstractRangeIterator | beginIteration () |
Gets an iterator to the beginning of this range. | |
AbstractRangeSharedPtr | createView (size_t length) |
Creates a view over this range. | |
AbstractRangeSharedPtr | evaluate () |
Evaluate the abstract range. | |
AbstractRangeLocationPtr | locationBegin () |
Gets an iteratable location to beginning of the range. | |
virtual | ~AbstractRange ()=default |
Destructor. | |
Static Public Member Functions | |
static shared_ptr< NearestLightRange > | create (LightRangeSharedPtr lightRange) |
Creates a new nearest light range. | |
static shared_ptr< NearestLightRange > | create (LightRangeSharedPtr lightRange, Node3DSharedPtr referenceNode) |
Creates a new nearest light range. | |
Static Public Member Functions inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
static shared_ptr< TypedValueRange > | create () |
Creates a new typed value range. | |
Protected Attributes | |
LightRangeWeakPtr | m_lightRange |
Source light range. | |
bool | m_orderDirty |
Flag for indicating whether or not the ordering in this light range is dirty. | |
Node3DWeakPtr | m_referenceNode |
Reference to a node. | |
Protected Attributes inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
vector< LightDistanceInfo > | m_values |
Container for single type of value. | |
Additional Inherited Members | |
Public Types inherited from kanzi::TypedValueRange< LightDistanceInfo > | |
using | const_iterator |
Const iterator type for values. | |
using | iterator |
Iterator type for values. | |
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.