FLidarPointCloudOctreeNode

WARNING: Exercise caution when modifying the contents of the Octree, as it may be in use by the Rendering Thread via FPointCloudSceneProxy Use the [FLidarPointCloudOctree::DataLock](API\Plugins\LidarPointCloudRuntime\FLidarPointCloudOctree\DataLock) prior to such attempt Child ordering 0 X- Y- Z- 1 X- Y- Z+ 2 X- Y+ Z- 3 X- Y+ Z+ 4 X+ Y- Z- 5 X+ Y- Z+ 6 X+ Y+ Z- 7 X+ Y+ Z+ Represents a single octant in the tree.

Choose your operating system:

Windows

macOS

Linux

References

Module

LidarPointCloudRuntime

Header

/Engine/Plugins/Enterprise/LidarPointCloud/Source/LidarPointCloudRuntime/Public/LidarPointCloudOctree.h

Include

#include "LidarPointCloudOctree.h"

Syntax

struct FLidarPointCloudOctreeNode

Remarks

WARNING: Exercise caution when modifying the contents of the Octree, as it may be in use by the Rendering Thread via FPointCloudSceneProxy Use the FLidarPointCloudOctree::DataLock prior to such attempt Child ordering 0 X- Y- Z- 1 X- Y- Z+ 2 X- Y+ Z- 3 X- Y+ Z+ 4 X+ Y- Z- 5 X+ Y- Z+ 6 X+ Y+ Z- 7 X+ Y+ Z+ Represents a single octant in the tree.

Constructors

Name Description

Public function

FLidarPointCloudOctreeNode

(
    const FLidarPointCloudOctreeNode&
)

Public function

FLidarPointCloudOctreeNode

Public function

FLidarPointCloudOctreeNode

(
    FLidarPointCloudOctree* Tree,
    const uint8& Depth
)

Public function

FLidarPointCloudOctreeNode

(
    FLidarPointCloudOctree* Tree,
    const uint8& Depth,
    const uint8& LocationInParent,
    const FVector& Center
)

Destructors

Functions

Name Description

Public function

void

 

AddPointCount

(
    int32 PointCount
)

Convenience function, to add point statistics to the Tree table.

Public function

bool

 

BuildDataCache

(
    bool bUseStaticBuffers
)

Builds and updates the necessary render data buffers Returns true if successful

Public function

void

 

Empty

(
    bool bRecursive
)

Removes all points.

Public function Const

int64

 

GetAllocatedSize

(
    bool bRecursive,
    bool bIncludeBulkData
)

Returns the amount of memory used by this node

Public function Const

FBox

 

GetBounds()

Calculates and returns the bounds of this node

Public function Const

FLidarPointC...

 

GetChildNodeAtLocation

(
    const uint8& Location
)

Returns a pointer to the node at the given location, or null if one doesn't exist yet.

Public function Const

uint8

 

GetChildrenBitmask()

Public function Const

FLidarPointC...

 

GetData()

Returns a pointer to the point data

Public function

TSharedPtr< ...

 

GetDataCache()

Returns a pointer to the point data

Public function Const

uint32

 

GetMaxDepth()

Returns the maximum depth of any children of this node .

Public function Const

uint32

 

GetNumPoints()

Returns the sum of grid and padding points allocated to this node.

Public function Const

uint32

 

GetNumVisiblePoints()

Returns the sum of visible grid and padding points allocated to this node.

Public function Const

FLidarPointC...

 

GetPersistentData()

Returns a pointer to the point data and prevents it from being released

Public function Const

FSphere

 

GetSphereBounds()

Calculates and returns the sphere bounds of this node

Public function

TSharedPtr< ...

 

GetVertexFactory()

Return a pointer to the vertex factory containing pre-cached geometry

Public function Const

bool

 

HasData()

Returns true, if the node has its data loaded

Public function Const

bool

 

HasRenderData()

Returns true, if the node has its data loaded

Public function

void

 

InsertPoints

(
    const FLidarPointCloudPoint* P...,
    const int64& Count,
    ELidarPointCloudDuplicateHandling D...,
    const FVector& Translation
)

Attempts to insert given points to this node or passes it to the children, otherwise.

Public function

void

 

InsertPoints

(
    FLidarPointCloudPoint** Po...,
    const int64& Count,
    ELidarPointCloudDuplicateHandling D...,
    const FVector& Translation
)

Attempts to insert given points to this node or passes it to the children, otherwise.

Public function

void

 

ReleaseData

(
    bool bForce
)

Releases the BulkData If forced, the node will be released even if persistent

Public function

void

 

ReleaseDataCache()

Releases and removes the render data cache

Public function

void

 

SortVisiblePoints()

Sorts the points by visibility (visible first) to optimize data processing and rendering

Public function

void

 

UpdateNumVisiblePoints()

Operators

Name Description

Public function

FLidarPointC...

 

operator=

(
    const FLidarPointCloudOctreeNode&
)

Public function

FLidarPointC...

 

operator=