Runtime for an object source. More...
#include <kanzi/core.ui/graphics3d/object_source_runtime.hpp>
Public Member Functions | |
void | filter (NodeList &outputNodes) |
Runs the filter on a given node. More... | |
NodeListSharedPtr | getInputNodeList () |
Gets the input node list for this particular object source. More... | |
ObjectSourceRuntimeSharedPtr | getParentRuntime () const |
Gets the parent runtime. More... | |
NodeListSharedPtr | getRootNodeList () |
Gets the root node list, parents included. More... | |
bool | isDirty () |
Tells if the node filter considers itself dirty and needs re-executing. More... | |
bool | matches (NodeListSharedPtr nodeList, ObjectSourceSharedPtr filter) |
Tells if this filter runtime matches the given node list and filter. More... | |
void | setCamera (CameraSharedPtr camera) |
Sets the camera for this object source runtime. More... | |
void | update (NodeList &nodes) |
Perform implementation-dependent per-frame update for internal data of the filter. More... | |
virtual | ~ObjectSourceRuntime ()=default |
Destructor. More... | |
Protected Member Functions | |
virtual void | filterOverride (NodeList &inputNodes, NodeList &outputNodes) |
Filtering implementation. More... | |
virtual bool | isDirtyOverride () |
Object source -specific implementation of dirty check. More... | |
ObjectSourceRuntime (NodeListSharedPtr nodeList, ObjectSourceSharedPtr objectSource) | |
Constructor. More... | |
virtual void | setCameraOverride (CameraSharedPtr camera) |
Object source -specific camera assignment. More... | |
virtual void | updateOverride (NodeList &nodes) |
Object source -specific implementation of per-frame update. More... | |
Protected Attributes | |
NodeListWeakPtr | m_inputNodes |
Input node list. More... | |
ObjectSourceWeakPtr | m_objectSource |
Parent object source. More... | |
NodeListSharedPtr | m_parentNodeList |
Node list that is the result of the parent runtime being executed. More... | |
ObjectSourceRuntimeSharedPtr | m_parentRuntime |
Runtime for the object source chain. More... | |
Runtime for an object source.
|
virtualdefault |
Destructor.
|
explicitprotected |
Constructor.
nodeList | Node list to filter. |
objectSource | Parent object source. |
void kanzi::ObjectSourceRuntime::filter | ( | NodeList & | outputNodes | ) |
Runs the filter on a given node.
outputNodes | Output node list. |
NodeListSharedPtr kanzi::ObjectSourceRuntime::getRootNodeList | ( | ) |
Gets the root node list, parents included.
bool kanzi::ObjectSourceRuntime::matches | ( | NodeListSharedPtr | nodeList, |
ObjectSourceSharedPtr | filter | ||
) |
Tells if this filter runtime matches the given node list and filter.
nodeList | Node list to test. |
filter | Filter to test. |
void kanzi::ObjectSourceRuntime::update | ( | NodeList & | nodes | ) |
Perform implementation-dependent per-frame update for internal data of the filter.
nodes | Node to update. |
bool kanzi::ObjectSourceRuntime::isDirty | ( | ) |
Tells if the node filter considers itself dirty and needs re-executing.
void kanzi::ObjectSourceRuntime::setCamera | ( | CameraSharedPtr | camera | ) |
Sets the camera for this object source runtime.
Not all runtimes have any use for the camera.
camera | Camera input. |
|
inline |
Gets the parent runtime.
|
inline |
Gets the input node list for this particular object source.
Parent runtimes are not taken into account.
|
protectedvirtual |
Filtering implementation.
inputNodes | Input node list. |
outputNodes | Output node list. |
Reimplemented in kanzi::FrustumCullFilterRuntime, kanzi::DistanceFilterRuntime, kanzi::FilterObjectSourceRuntime, and kanzi::SortObjectSourceRuntime.
|
protectedvirtual |
Object source -specific implementation of per-frame update.
The default implementation does nothing.
nodes | Node to update. |
Reimplemented in kanzi::SortByZObjectSourceRuntime, and kanzi::SortByShaderObjectSourceRuntime.
|
protectedvirtual |
Object source -specific implementation of dirty check.
The default implementation always returns false.
Reimplemented in kanzi::FrustumCullFilterRuntime, kanzi::SortByZObjectSourceRuntime, kanzi::DistanceFilterRuntime, kanzi::CombinerObjectSourceRuntime, kanzi::SortByShaderObjectSourceRuntime, kanzi::PropertyIsEqualFilterRuntime, kanzi::ContainsPropertyFilterRuntime, kanzi::ObjectTypeFilterRuntime, and kanzi::TagFilterRuntime.
|
protectedvirtual |
Object source -specific camera assignment.
Default implementation does nothing.
camera | Camera input. |
Reimplemented in kanzi::FrustumCullFilterRuntime, and kanzi::SortByZObjectSourceRuntime.
|
protected |
Parent object source.
|
protected |
Runtime for the object source chain.
|
protected |
Node list that is the result of the parent runtime being executed.
|
protected |
Input node list.