Navigation
API > API/Plugins > API/Plugins/LidarPointCloudRuntime
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- ULidarPointCloud
References
| Module | LidarPointCloudRuntime |
| Header | /Engine/Plugins/Enterprise/LidarPointCloud/Source/LidarPointCloudRuntime/Public/LidarPointCloud.h |
| Include | #include "LidarPointCloud.h" |
Syntax
UCLASS&40;BlueprintType, AutoExpandCategories&61;&40;"Performance", "Rendering&124;Sprite"&41;,
AutoCollapseCategories&61;&40;"Import Settings"&41;&41;
class ULidarPointCloud :
public UObject,
public IInterface_CollisionDataProvider
Remarks
Represents the Point Cloud asset
Variables
| Type | Name | Description | |
|---|---|---|---|
| FLidarPointCloudCollisionRendering * | CollisionRendering | ||
| TSharedPtr< struct FLidarPointCloudImportSettings > | ImportSettings | Holds pointer to the Import Settings used for the import. | |
| FVector | LocationOffset | Contains an offset to be added to all points when rendering | |
| float | MaxCollisionError | Determines the maximum error (in cm) of the collision for this point cloud. | |
| float | NormalsNoiseTolerance | Higher values are less susceptible to noise, but will most likely lose finer details, especially around hard edges. | |
| int32 | NormalsQuality | Higher values will generally result in more accurate calculations, at the expense of time | |
| FLidarPointCloudOctree | Octree | ||
| FVector | OriginalCoordinates | Stores the original offset as a double. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AlignClouds
(
TArray< ULidarPointCloud* > PointCloudsToAlign |
Aligns provided clouds based on the relative offset between their Original Coordinates. | |
| void | ApplyColorToAllPoints
(
const FColor& NewColor, |
Applies the given color to all points | |
| void | ApplyColorToFirstPointByRay
(
FColor NewColor, |
Applies the given color to the first point hit by the given ray | |
| void | ApplyColorToFirstPointByRay
(
const FColor& NewColor, |
||
| void | ApplyColorToPointsByRay
(
FColor NewColor, |
Applies the given color to all points hit by the given ray | |
| void | ApplyColorToPointsByRay
(
const FColor& NewColor, |
||
| void | ApplyColorToPointsInBox
(
FColor NewColor, |
Applies the given color to all points within the box | |
| void | ApplyColorToPointsInBox
(
const FColor& NewColor, |
||
| void | ApplyColorToPointsInSphere
(
FColor NewColor, |
Applies the given color to all points within the sphere | |
| void | ApplyColorToPointsInSphere
(
const FColor& NewColor, |
||
| void | BuildCollision
(
TFunction< void(bool)> CompletionCallback |
||
| void | Builds collision mesh for the cloud, using current collision settings | ||
| void | BuildCollisionWithCallback
(
UObject* WorldContextObject, |
||
| void | BuildStaticMeshBuffers
(
float CellSize, |
Constructs and returns the MeshBuffers struct from the data | |
| void | BuildStaticMeshBuffersForSelection
(
float CellSize, |
||
| FBox | CalculateBoundsFromPoints
(
FLidarPointCloudPoint** Points, |
Returns bounds fitting the given list of points | |
| FBox | CalculateBoundsFromPoints
(
const FLidarPointCloudPoint* Points, |
Returns bounds fitting the given list of points | |
| void | CalculateNormals
(
TArray64< FLidarPointCloudPoint* >* Points, |
Calculates Normals for the provided points If a nullptr is passed as Points, the calculation will be executed on the whole cloud. | |
| void | CalculateNormals
(
FLatentActionInfo LatentInfo |
Calculates Normals for this point cloud | |
| void | |||
| void | CenterPoints () |
Centers this cloud | |
| void | |||
| ULidarPointCloud * | CreateFromData
(
const TArray< FLidarPointCloudPoint >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
TArray< FLidarPointCloudPoint* >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
TArray64< FLidarPointCloudPoint* >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
TArray< FLidarPointCloudPoint* >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
TArray64< FLidarPointCloudPoint* >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
T Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
const TArray64< FLidarPointCloudPoint >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
const TArray64< FLidarPointCloudPoint >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromData
(
const TArray< FLidarPointCloudPoint >& Points, |
Returns new Point Cloud object created from the data provided. | |
| ULidarPointCloud * | CreateFromFile
(
const FString& Filename, |
Returns new Point Cloud object imported using the settings provided. | |
| ULidarPointCloud * | CreateFromFile
(
const FString& Filename, |
||
| void | |||
| void | ExecuteActionOnAllPoints
(
TFunction< void(FLidarPointCloudPoint*)> Action, |
Executes the provided action on each of the points. | |
| void | ExecuteActionOnFirstPointByRay
(
TFunction< void(FLidarPointCloudPoint*)> Action, |
Executes the provided action on the first point hit by the given ray. | |
| void | ExecuteActionOnPointsByRay
(
TFunction< void(FLidarPointCloudPoint*)> Action, |
Executes the provided action on each of the points hit by the given ray. | |
| void | ExecuteActionOnPointsInBox
(
TFunction< void(FLidarPointCloudPoint*)> Action, |
||
| void | ExecuteActionOnPointsInBox
(
TFunction< void(FLidarPointCloudPoint*)> Action, |
Executes the provided action on each of the points within the given box. | |
| void | ExecuteActionOnPointsInSphere
(
TFunction< void(FLidarPointCloudPoint*)> Action, |
||
| void | ExecuteActionOnPointsInSphere
(
TFunction< void(FLidarPointCloudPoint*)> Action, |
Executes the provided action on each of the points within the given sphere. | |
| bool | Exports this Point Cloud to the given filename. | ||
| UBodySetup * | GetBodySetup () |
||
| FBox | GetBounds
(
bool bUseOriginalCoordinates |
||
| TArray< uint8 > | |||
| int32 | Returns the number of polygons in the collider or 0 if no collider is built | ||
| int32 | GetDataSize () |
Returns the amount of memory in MB used to store the point cloud. | |
| float | |||
| int32 | GetNumLODs () |
||
| int32 | GetNumNodes () |
||
| int64 | GetNumPoints () |
||
| int64 | |||
| void | GetPoints
(
TArray< FLidarPointCloudPoint* >& Points, |
Populates the given array with points from the tree | |
| void | GetPoints
(
TArray64< FLidarPointCloudPoint* >& Points, |
Populates the given array with points from the tree | |
| TArray< FLidarPointCloudPoint > | GetPointsAsCopies
(
bool bReturnWorldSpace, |
Returns an array with copies of points from the tree If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsAsCopies
(
TArray< FLidarPointCloudPoint >& Points, |
Returns an array with copies of points from the tree If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsAsCopies
(
TArray64< FLidarPointCloudPoint >& Points, |
Returns an array with copies of points from the tree If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsInBox
(
TArray< FLidarPointCloudPoint* >& SelectedPoints, |
Populates the array with the list of points within the given box. | |
| void | GetPointsInBox
(
TArray64< FLidarPointCloudPoint* >& SelectedPoints, |
Populates the array with the list of points within the given box. | |
| TArray< FLidarPointCloudPoint > | GetPointsInBoxAsCopies
(
FVector Center, |
Returns an array with copies of points within the given box If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsInBoxAsCopies
(
TArray< FLidarPointCloudPoint >& SelectedPoints, |
Returns an array with copies of points within the given box If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsInBoxAsCopies
(
TArray64< FLidarPointCloudPoint >& SelectedPoints, |
Returns an array with copies of points within the given box If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsInConvexVolume
(
TArray< FLidarPointCloudPoint* >& SelectedPoints, |
Populates the array with the list of points within the given convex volume. | |
| void | GetPointsInConvexVolume
(
TArray64< FLidarPointCloudPoint* >& SelectedPoints, |
Populates the array with the list of points within the given convex volume. | |
| void | GetPointsInSphere
(
TArray64< FLidarPointCloudPoint* >& SelectedPoints, |
Populates the array with the list of points within the given sphere. | |
| void | GetPointsInSphere
(
TArray< FLidarPointCloudPoint* >& SelectedPoints, |
Populates the array with the list of points within the given sphere. | |
| TArray< FLidarPointCloudPoint > | GetPointsInSphereAsCopies
(
FVector Center, |
Returns an array with copies of points within the given sphere If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsInSphereAsCopies
(
TArray64< FLidarPointCloudPoint >& SelectedPoints, |
Returns an array with copies of points within the given sphere If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetPointsInSphereAsCopies
(
TArray< FLidarPointCloudPoint >& SelectedPoints, |
Returns an array with copies of points within the given sphere If ReturnWorldSpace is selected, the points' locations will be converted into absolute value, otherwise they will be relative to the center of the cloud. | |
| void | GetSelectedPointsAsCopies
(
TArray64< FLidarPointCloudPoint >& SelectedPoints, |
||
| FString | |||
| bool | Returns true, if the Octree has collision built | ||
| bool | HasPointsByRay
(
FVector Origin, |
Returns true if there are any points hit by the given ray. | |
| bool | HasPointsByRay
(
const FLidarPointCloudRay& Ray, |
Returns true if there are any points hit by the given ray. | |
| bool | HasPointsInBox
(
const FBox& Box, |
Returns true if there are any points within the given box. | |
| bool | HasPointsInBox
(
FVector Center, |
Returns true if there are any points within the given box. | |
| bool | HasPointsInSphere
(
const FSphere& Sphere, |
Returns true if there are any points within the given sphere. | |
| bool | HasPointsInSphere
(
FVector Center, |
Returns true if there are any points within the given sphere. | |
| bool | |||
| void | HideAll () |
Marks all points hidden | |
| void | HideSelected () |
||
| void | Initialize
(
const FBox& NewBounds |
Re-initializes the asset with new bounds. Warning: Will erase all currently held data! | |
| void | InsertPoint
(
const FLidarPointCloudPoint& Point, |
Inserts the given point into the Octree structure. | |
| bool | InsertPoints
(
FLidarPointCloudPoint** InPoints, |
Inserts group of points into the Octree structure, multi-threaded. | |
| bool | InsertPoints
(
const FLidarPointCloudPoint* InPoints, |
Inserts group of points into the Octree structure, multi-threaded. | |
| bool | InsertPoints
(
FLidarPointCloudPoint* InPoints, |
Inserts group of points into the Octree structure, multi-threaded. | |
| void | InsertPoints
(
const TArray< FLidarPointCloudPoint >& Points, |
Inserts group of points into the Octree structure, multi-threaded. | |
| bool | InsertPoints_NoLock
(
FLidarPointCloudPoint** InPoints, |
Inserts group of points into the Octree structure, multi-threaded. | |
| bool | InsertPoints_NoLock
(
const FLidarPointCloudPoint* InPoints, |
Inserts group of points into the Octree structure, multi-threaded. | |
| bool | InsertPoints_NoLock
(
FLidarPointCloudPoint* InPoints, |
Inserts group of points into the Octree structure, multi-threaded. | |
| void | |||
| bool | IsCentered () |
Returns true, if the cloud has been centered. | |
| bool | Returns true, if the cloud is fully and persistently loaded. | ||
| bool | |||
| bool | LineTraceMulti
(
const FLidarPointCloudRay& Ray, |
||
| bool | LineTraceMulti
(
const FLidarPointCloudRay& Ray, |
||
| bool | LineTraceMulti
(
FVector Origin, |
Performs a raycast test against the point cloud. | |
| FLidarPointCloudPoint * | LineTraceSingle
(
const FLidarPointCloudRay& Ray, |
||
| bool | LineTraceSingle
(
FVector Origin, |
Performs a raycast test against the point cloud. Returns the pointer if hit or nullptr otherwise. | |
| void | LoadAllNodes () |
Persistently loads all nodes. | |
| void | This should to be called if any manual modification to individual points' visibility has been made. | ||
| void | Merge
(
TArray< ULidarPointCloud* > PointCloudsToMerge |
Merges this point cloud with the ones provided | |
| void | Merge
(
TArray< ULidarPointCloud* > PointCloudsToMerge, |
||
| void | MergeSingle
(
ULidarPointCloud* PointCloudToMerge |
Merges this point cloud with the one provided | |
| int64 | |||
| FOnPointCloudChanged & | |||
| FOnPointCloudChanged & | |||
| FOnPointCloudChanged & | |||
| FOnPointCloudChanged & | |||
| void | Recalculates and updates points bounds. | ||
| void | |||
| void | Reimport
(
UObject* WorldContextObject, |
Re-imports the cloud from it's original source file, overwriting any current point information. | |
| void | Reimport
(
const FLidarPointCloudAsyncParameters& AsyncParameters |
Re-imports the cloud from it's original source file, overwriting any current point information. | |
| void | Removes collision mesh from the cloud. | ||
| void | RemoveFirstPointByRay
(
FVector Origin, |
Removes the first point hit by the given ray | |
| void | RemoveFirstPointByRay
(
const FLidarPointCloudRay& Ray, |
||
| void | Removes all hidden points | ||
| void | RemovePoint
(
FLidarPointCloudPoint Point |
Attempts to remove the given point. | |
| void | RemovePoint
(
const FLidarPointCloudPoint* Point |
||
| void | RemovePoint_NoLock
(
const FLidarPointCloudPoint* Point |
||
| void | RemovePoint_NoLock
(
FLidarPointCloudPoint Point |
||
| void | RemovePoints
(
TArray64< FLidarPointCloudPoint* >& Points |
||
| void | RemovePoints
(
TArray< FLidarPointCloudPoint* >& Points |
Removes points in bulk | |
| void | RemovePoints_NoLock
(
TArray< FLidarPointCloudPoint* >& Points |
||
| void | RemovePoints_NoLock
(
TArray64< FLidarPointCloudPoint* >& Points |
||
| void | RemovePointsByRay
(
const FLidarPointCloudRay& Ray, |
||
| void | RemovePointsByRay
(
FVector Origin, |
Removes all points hit by the given ray | |
| void | RemovePointsInBox
(
const FBox& Box, |
||
| void | RemovePointsInBox
(
FVector Center, |
Removes all points within the given box | |
| void | RemovePointsInSphere
(
FVector Center, |
Removes all points within the given sphere | |
| void | RemovePointsInSphere
(
FSphere Sphere, |
||
| void | Restores original coordinates | ||
| void | SelectByConvexVolume
(
FConvexVolume ConvexVolume, |
Set of editor helper functions | |
| void | SelectBySphere
(
FSphere Sphere, |
||
| bool | SetData
(
FLidarPointCloudPoint** Points, |
Reinitializes the cloud with the new set of data. | |
| bool | SetData
(
const TArray< FLidarPointCloudPoint >& Points |
Reinitializes the cloud with the new set of data. | |
| bool | SetData
(
TArray< FLidarPointCloudPoint* >& Points |
||
| bool | SetData
(
const TArray64< FLidarPointCloudPoint >& Points |
||
| bool | SetData
(
TArray64< FLidarPointCloudPoint* >& Points |
||
| bool | SetData
(
const FLidarPointCloudPoint* Points, |
||
| void | SetLocationOffset
(
FVector Offset |
Applies given offset to this point cloud. | |
| void | |||
| void | SetOptimizedForDynamicData
(
bool bNewOptimizedForDynamicData |
||
| void | SetSourcePath
(
const FString& NewSourcePath |
||
| void | SetVisibilityOfFirstPointByRay
(
const bool& bNewVisibility, |
||
| void | SetVisibilityOfFirstPointByRay
(
bool bNewVisibility, |
Sets visibility of the first point hit by the given ray. | |
| void | SetVisibilityOfPointsByRay
(
bool bNewVisibility, |
Sets visibility of points hit by the given ray. | |
| void | SetVisibilityOfPointsByRay
(
const bool& bNewVisibility, |
||
| void | SetVisibilityOfPointsInBox
(
const bool& bNewVisibility, |
||
| void | SetVisibilityOfPointsInBox
(
bool bNewVisibility, |
Sets visibility of points within the given box. | |
| void | SetVisibilityOfPointsInSphere
(
bool bNewVisibility, |
Sets visibility of points within the given sphere. | |
| void | SetVisibilityOfPointsInSphere
(
const bool& bNewVisibility, |
||
| void | UnhideAll () |
Marks all points visible |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
Called before destroying the object. | |
| void | Clear all cached cooked platform data | ||
| void | GetAssetRegistryTags
(
TArray< FAssetRegistryTag >& OutTags |
Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects | |
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. | |
| void | PreSave
(
FObjectPreSaveContext SaveContext |
Presave function. | |
| void | Handles reading, writing, and reference collecting using FArchive. |
Overridden from IInterface_CollisionDataProvider
| Type | Name | Description | |
|---|---|---|---|
| bool | ContainsPhysicsTriMeshData
(
bool InUseAllTriData |
Interface for checking if the implementing objects contains triangle mesh collision data | |
| bool | GetPhysicsTriMeshData
(
FTriMeshCollisionData* CollisionData, |
Interface for retrieving triangle mesh collision data from the implementing object | |
| bool | GetTriMeshSizeEstimates
(
FTriMeshCollisionDataEstimates& OutTriMeshEstimates, |
Returns an estimate of how much data would be retrieved by GetPhysicsTriMeshData. | |
| bool | Do we want to create a negative version of this mesh |
Constants
| Name | Description |
|---|---|
| PointCloudFileGUID | Required for file versioning |
| PointCloudFileVersion |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| float | CollisionAccuracy_DEPRECATED |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| void | GetPointsInFrustum
(
TArray< FLidarPointCloudPoint* >& SelectedPoints, |
Use GetPointsInConvexVolume instead. | |
| void | GetPointsInFrustum
(
TArray64< FLidarPointCloudPoint* >& SelectedPoints, |
Use GetPointsInConvexVolume instead. |