FNode

Windows
MacOS
Linux

References

Module

Water

Header

/Engine/Plugins/Experimental/Water/Source/Runtime/Public/WaterQuadTree.h

Include

#include "WaterQuadTree.h"

Syntax

struct FNode

Variables

Name Description

Public variable

FBox

 

Bounds

World bounds

Public variable

uint32[4]

 

Children

Children, 0 means invalid

Public variable

uint32: 1

 

HasCompleteSubtree

If all 4 child nodes have a full set of leaf nodes (each descentant has 4 children all the way down)

Public variable

uint32: 1

 

IsSubtreeSameWaterBody

If all descendant nodes are from the same waterbody.

Public variable

uint32: 28

 

ParentIndex

Index to parent

Public variable

uint32: 16

 

TransitionWaterBodyIndex

Index to the water body that this tile possibly transitions to

Public variable

uint32: 16

 

WaterBodyIndex

Index into the water body render data array on the tree.

Constructors

Name Description

Public function

FNode()

Functions

Name Description

Public function Const

void

 

AddNodeForRender

(
    const FNodeData& InNodeData,
    const FWaterBodyRenderData& InWate...,
    int32 InDensityLevel,
    int32 InLODLevel,
    const FTraversalDesc& InTraversalD...,
    FTraversalOutput& Output
)

Add instance for rendering this node

Public function

void

 

AddNodes

(
    FNodeData& InNodeData,
    const FBox& InMeshBounds,
    const FBox& InWaterBodyBounds,
    uint32 InWaterBodyIndex,
    int32 InLODLevel,
    uint32 InParentIndex
)

Add nodes that intersect InMeshBounds.

Public function Const

bool

 

CanMerge

(
    const FNode& Other
)

Check if all conditions are met to potentially allow this and another node to render as one

Public function Const

bool

 

CanRender

(
    int32 InDensityLevel,
    int32 InForceCollapseDensityLevel,
    const FWaterBodyRenderData& InWate...
)

If this node is allowed to be rendered, it means it can be rendered in place of all leaf nodes in its subtree.

Public function Const

bool

 

QueryBaseHeightAtLocation

(
    const FNodeData& InNodeData,
    const FVector2D& InWorldLocationXY,
    float& OutHeight
)

Recursive function to query the height(prior to any displacement) at a given location, return false if no height could be found

Public function Const

bool

 

QueryBoundsAtLocation

(
    const FNodeData& InNodeData,
    const FVector2D& InWorldLocationXY,
    FBox& OutHeight
)

Recursive function to query the bounds of a tile at a given location, return false if no leaf node could be found

Public function Const

void

 

SelectLOD

(
    const FNodeData& InNodeData,
    int32 InLODLevel,
    const FTraversalDesc& InTraversalD...,
    FTraversalOutput& Output
)

Recursive function to select nodes visible from the current point of view

Public function Const

void

 

SelectLODRefinement

(
    const FNodeData& InNodeData,
    int32 InDensityLevel,
    int32 InLODLevel,
    const FTraversalDesc& InTraversalD...,
    FTraversalOutput& Output
)

Recursive function to traverse down to the appropriate density level.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss