Kanzi 3.9.10
kanzi::FrustumCullFilterRuntime Class Reference

Runtime for frustum cull filter. More...

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

Inheritance diagram for kanzi::FrustumCullFilterRuntime:
[legend]

Public Types

enum  FrustumPlaneIndex {
  FrustumPlaneNear , FrustumPlaneFar , FrustumPlaneTop , FrustumPlaneBottom ,
  FrustumPlaneLeft , FrustumPlaneRight , FrustumPlaneCount
}
 Frustum plane indices. More...
 

Public Member Functions

CameraSharedPtr getCamera () const
 Gets the filtering camera.
 
Matrix4x4 getProjectionMatrix () const
 Gets the projection matrix used.
 
void setProjectionMatrix (Matrix4x4 matrix)
 Sets the projection matrix.
 
- Public Member Functions inherited from kanzi::FilterObjectSourceRuntime
bool filterNode (Node &node)
 Runs a filter on the given node.
 
- Public Member Functions inherited from kanzi::ObjectSourceRuntime
void filter (NodeList &outputNodes)
 Runs the filter on a given node.
 
NodeListSharedPtr getInputNodeList ()
 Gets the input node list for this particular object source.
 
ObjectSourceRuntimeSharedPtr getParentRuntime () const
 Gets the parent runtime.
 
NodeListSharedPtr getRootNodeList ()
 Gets the root node list, parents included.
 
bool isDirty ()
 Tells if the node filter considers itself dirty and needs re-executing.
 
bool matches (NodeListSharedPtr nodeList, ObjectSourceSharedPtr filter)
 Tells if this filter runtime matches the given node list and filter.
 
void setCamera (CameraSharedPtr camera)
 Sets the camera for this object source runtime.
 
void update (NodeList &nodes)
 Perform implementation-dependent per-frame update for internal data of the filter.
 
virtual ~ObjectSourceRuntime ()=default
 Destructor.
 

Static Public Member Functions

static FrustumCullFilterRuntimeSharedPtr create (NodeListSharedPtr nodeList, ObjectSourceSharedPtr filter)
 Creates a contains property node filter.
 

Protected Member Functions

bool filterNodeOverride (Node &node) override
 FilterObjectSourceRuntime::filterNodeOverride() implementation.
 
void filterOverride (NodeList &inputNodes, NodeList &outputNodes) override
 ObjectSourceRuntime::filterOverride() implementation.
 
 FrustumCullFilterRuntime (NodeListSharedPtr nodeList, ObjectSourceSharedPtr filter)
 Constructor.
 
bool isDirtyOverride () override
 ObjectSourceRuntime::isDirtyOverride() implementation.
 
void setCameraOverride (CameraSharedPtr camera) override
 ObjectSourceRuntime::setCameraOverride() implementation.
 
- Protected Member Functions inherited from kanzi::FilterObjectSourceRuntime
 FilterObjectSourceRuntime (NodeListSharedPtr nodeList, ObjectSourceSharedPtr filter)
 Constructor.
 
- Protected Member Functions inherited from kanzi::ObjectSourceRuntime
 ObjectSourceRuntime (NodeListSharedPtr nodeList, ObjectSourceSharedPtr objectSource)
 Constructor.
 
virtual void updateOverride (NodeList &nodes)
 Object source -specific implementation of per-frame update.
 

Protected Attributes

CameraWeakPtr m_camera
 Camera to filter with.
 
Plane m_frustumPlanes [FrustumPlaneCount]
 Frustum planes.
 
Matrix4x4 m_projectionMatrix
 Camera projection matrix.
 
bool m_valid
 Indicates if the culling data valid and usable for filtering.
 
- Protected Attributes inherited from kanzi::FilterObjectSourceRuntime
bool m_isExclusive
 Exclusivity flag, copied from the filter object source.
 
- Protected Attributes inherited from kanzi::ObjectSourceRuntime
NodeListWeakPtr m_inputNodes
 Input node list.
 
ObjectSourceWeakPtr m_objectSource
 Parent object source.
 
NodeListSharedPtr m_parentNodeList
 Node list that is the result of the parent runtime being executed.
 
ObjectSourceRuntimeSharedPtr m_parentRuntime
 Runtime for the object source chain.
 

Detailed Description

Runtime for frustum cull filter.

Since
Kanzi 3.9.0

Member Enumeration Documentation

◆ FrustumPlaneIndex

Frustum plane indices.

Enumerator
FrustumPlaneNear 

Near frustum plane.

FrustumPlaneFar 

Far frustum plane.

FrustumPlaneTop 

Top frustum plane.

FrustumPlaneBottom 

Bottom frustum plane.

FrustumPlaneLeft 

Left frustum plane.

FrustumPlaneRight 

Right frustum plane.

FrustumPlaneCount 

Number of frustum planes.

Constructor & Destructor Documentation

◆ FrustumCullFilterRuntime()

kanzi::FrustumCullFilterRuntime::FrustumCullFilterRuntime ( NodeListSharedPtr nodeList,
ObjectSourceSharedPtr filter )
inlineexplicitprotected

Constructor.

Parameters
nodeListNode list to filter.
filterParent filter.

Member Function Documentation

◆ create()

static FrustumCullFilterRuntimeSharedPtr kanzi::FrustumCullFilterRuntime::create ( NodeListSharedPtr nodeList,
ObjectSourceSharedPtr filter )
static

Creates a contains property node filter.

Parameters
nodeListNode list to filter.
filterParent filter.

◆ getCamera()

CameraSharedPtr kanzi::FrustumCullFilterRuntime::getCamera ( ) const
inline

Gets the filtering camera.

Returns
Camera used for filtering. May be empty.

◆ getProjectionMatrix()

Matrix4x4 kanzi::FrustumCullFilterRuntime::getProjectionMatrix ( ) const
inline

Gets the projection matrix used.

Returns
Projection matrix.

◆ setProjectionMatrix()

void kanzi::FrustumCullFilterRuntime::setProjectionMatrix ( Matrix4x4 matrix)
inline

Sets the projection matrix.

Parameters
matrixProjection matrix to use.

◆ filterNodeOverride()

bool kanzi::FrustumCullFilterRuntime::filterNodeOverride ( Node & node)
overrideprotectedvirtual

◆ filterOverride()

void kanzi::FrustumCullFilterRuntime::filterOverride ( NodeList & inputNodes,
NodeList & outputNodes )
overrideprotectedvirtual

◆ isDirtyOverride()

bool kanzi::FrustumCullFilterRuntime::isDirtyOverride ( )
overrideprotectedvirtual

◆ setCameraOverride()

void kanzi::FrustumCullFilterRuntime::setCameraOverride ( CameraSharedPtr camera)
overrideprotectedvirtual

Member Data Documentation

◆ m_camera

CameraWeakPtr kanzi::FrustumCullFilterRuntime::m_camera
protected

Camera to filter with.

◆ m_projectionMatrix

Matrix4x4 kanzi::FrustumCullFilterRuntime::m_projectionMatrix
protected

Camera projection matrix.

◆ m_frustumPlanes

Plane kanzi::FrustumCullFilterRuntime::m_frustumPlanes[FrustumPlaneCount]
protected

Frustum planes.

◆ m_valid

bool kanzi::FrustumCullFilterRuntime::m_valid
protected

Indicates if the culling data valid and usable for filtering.


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