Navigation
API > API/Plugins > API/Plugins/LidarPointCloudRuntime
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.
| Name | FLidarPointCloudOctreeNode |
| Type | struct |
| Header File | /Engine/Plugins/Enterprise/LidarPointCloud/Source/LidarPointCloudRuntime/Public/LidarPointCloudOctree.h |
| Include Path | #include "LidarPointCloudOctree.h" |
Syntax
struct FLidarPointCloudOctreeNode
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FLidarPointCloudOctreeNode
(
FLidarPointCloudOctree* Tree, |
LidarPointCloudOctree.h | ||
FLidarPointCloudOctreeNode
(
FLidarPointCloudOctree* Tree, |
LidarPointCloudOctree.h | ||
| LidarPointCloudOctree.h | |||
| LidarPointCloudOctree.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FLidarPointCloudOctreeNode() |
LidarPointCloudOctree.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bCanReleaseData | TAtomic< bool > | This is used to prevent nodes with changed content from being overwritten by consecutive streaming. | LidarPointCloudOctree.h | |
| bHasData | TAtomic< bool > | True, if the node has its data loaded | LidarPointCloudOctree.h | |
| bHasDataPending | TAtomic< bool > | Used to keep track, which data is available for rendering | LidarPointCloudOctree.h | |
| bHasSelection | bool | Marks the node as containing active selection | LidarPointCloudOctree.h | |
| bInUse | bool | Marks the node as being used for rendering | LidarPointCloudOctree.h | |
| bRenderDataDirty | bool | LidarPointCloudOctree.h | ||
| BulkDataLifetime | float | Stores the time, at which the BulkData needs to be released | LidarPointCloudOctree.h | |
| BulkDataOffset | int64 | Offset in the archive file, where the data for this node is located | LidarPointCloudOctree.h | |
| BulkDataSize | uint32 | LidarPointCloudOctree.h | ||
| bVisibilityDirty | bool | Marks the node for visibility recalculation next time it's necessary | LidarPointCloudOctree.h | |
| Center | FVector3f | Center point of this node. | LidarPointCloudOctree.h | |
| Children | TArray< FLidarPointCloudOctreeNode * > | #todo: Change to TIndirectArray<> - investigate increased memory consumption, ~130 bytes / Node | LidarPointCloudOctree.h | |
| Data | TArray< FLidarPointCloudPoint > | Holds point data allocated to this node Can be empty, if the data hasn't been streamed in yet | LidarPointCloudOctree.h | |
| DataCache | TSharedPtr< FLidarPointCloudRenderBuffer > | Holds render data for this node | LidarPointCloudOctree.h | |
| Depth | uint8 | Depth of this node | LidarPointCloudOctree.h | |
| FLidarPointCloudOctree | friend | LidarPointCloudOctree.h | ||
| FLidarPointCloudTraversalOctree | friend | LidarPointCloudOctree.h | ||
| FLidarPointCloudTraversalOctreeNode | friend | LidarPointCloudOctree.h | ||
| LocationInParent | uint8 | Location of this node inside the parent node - see the Child Ordering at the top of the file | LidarPointCloudOctree.h | |
| MapLock | FCriticalSection | LidarPointCloudOctree.h | ||
| NumPoints | uint32 | Stores the number of points this node contains. | LidarPointCloudOctree.h | |
| NumVisiblePoints | uint32 | Stores the number of visible points | LidarPointCloudOctree.h | |
| RayTracingGeometry | TSharedPtr< FLidarPointCloudRayTracingGeometry > | LidarPointCloudOctree.h | ||
| Tree | FLidarPointCloudOctree * | Pointer to the Tree holding this node | LidarPointCloudOctree.h | |
| VertexFactory | TSharedPtr< FLidarPointCloudVertexFactory > | LidarPointCloudOctree.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddPointCount
(
int32 PointCount |
Convenience function, to add point statistics to the Tree table. | LidarPointCloudOctree.h | |
bool BuildDataCache
(
bool bUseStaticBuffers, |
Builds and updates the necessary render data buffers Returns true if successful | LidarPointCloudOctree.h | |
void Empty
(
bool bRecursive |
Removes all points. | LidarPointCloudOctree.h | |
int64 GetAllocatedSize
(
bool bRecursive, |
Returns the amount of memory used by this node | LidarPointCloudOctree.h | |
FBox GetBounds() |
Calculates and returns the bounds of this node | LidarPointCloudOctree.h | |
FLidarPointCloudOctreeNode * GetChildNodeAtLocation
(
const uint8& Location |
Returns a pointer to the node at the given location, or null if one doesn't exist yet. | LidarPointCloudOctree.h | |
uint8 GetChildrenBitmask() |
LidarPointCloudOctree.h | ||
FLidarPointCloudPoint * GetData() |
Returns a pointer to the point data | LidarPointCloudOctree.h | |
TSharedPtr< FLidarPointCloudRenderBuffer > GetDataCache() |
Returns a pointer to the point data | LidarPointCloudOctree.h | |
uint32 GetMaxDepth() |
Returns the maximum depth of any children of this node . | LidarPointCloudOctree.h | |
uint32 GetNumPoints() |
Returns the sum of grid and padding points allocated to this node. | LidarPointCloudOctree.h | |
uint32 GetNumVisiblePoints() |
Returns the sum of visible grid and padding points allocated to this node. | LidarPointCloudOctree.h | |
FLidarPointCloudPoint * GetPersistentData() |
Returns a pointer to the point data and prevents it from being released | LidarPointCloudOctree.h | |
TSharedPtr< FLidarPointCloudRayTracingGeometry > GetRayTracingGeometry() |
Return a pointer to the ray tracing geometry | LidarPointCloudOctree.h | |
FSphere GetSphereBounds() |
Calculates and returns the sphere bounds of this node | LidarPointCloudOctree.h | |
TSharedPtr< FLidarPointCloudVertexFactory > GetVertexFactory() |
Return a pointer to the vertex factory containing pre-cached geometry | LidarPointCloudOctree.h | |
bool HasData() |
Returns true, if the node has its data loaded | LidarPointCloudOctree.h | |
bool HasRenderData() |
Returns true, if the node has its data loaded | LidarPointCloudOctree.h | |
void InsertPoints
(
const FLidarPointCloudPoint* Points, |
Attempts to insert given points to this node or passes it to the children, otherwise. | LidarPointCloudOctree.h | |
void InsertPoints
(
FLidarPointCloudPoint** Points, |
LidarPointCloudOctree.h | ||
void ReleaseData
(
bool bForce |
Releases the BulkData If forced, the node will be released even if persistent | LidarPointCloudOctree.h | |
void ReleaseDataCache() |
Releases and removes the render data cache | LidarPointCloudOctree.h | |
void SortVisiblePoints() |
Sorts the points by visibility (visible first) to optimize data processing and rendering | LidarPointCloudOctree.h | |
void UpdateNumVisiblePoints() |
LidarPointCloudOctree.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| LidarPointCloudOctree.h | |||
| LidarPointCloudOctree.h |