UMeshTrackerComponent

The MeshTrackerComponent class manages requests for environmental mesh data, processes the results and provides them to the calling system.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

MagicLeap

Header

/Engine/Plugins/Lumin/MagicLeap/Source/MagicLeap/Classes/MeshTrackerComponent.h

Include

#include "MeshTrackerComponent.h"

Syntax

UCLASS(ClassGroup=MagicLeap, BlueprintType, Blueprintable, EditInlineNew,
       Meta=(BlueprintSpawnableComponent))
class UMeshTrackerComponent :
    public USceneComponent,
    public IMeshBlockSelectorInterface

Remarks

The MeshTrackerComponent class manages requests for environmental mesh data, processes the results and provides them to the calling system. The calling system is able request environmental mesh data within a specified area. Various other search criteria can be set via this class's public properties. Mesh data requests are processed on a separate thread. Once a mesh data request has been processed the calling system will be notified via an FOnMeshTrackerUpdated broadcast.

Variables

Name Description

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

TArray< FColor ...

 

BlockVertexColors

Colors through which we cycle when setting vertex color by block.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

UBoxComponent &...

 

BoundingVolume

Bounding box for the mesh scan. The mesh will be scanned for only within this box.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

float

 

DisconnectedSectionArea

Any section that is disconnected from the main mesh and has an area (in Unreal Units squared) less than this value will be removed.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

EMeshLOD

 

LevelOfDetail

Meshing LOD.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

EMeshType

 

MeshType

The type of mesh to query.

Public variable UProperty Transient

UMRMeshComponen...

 

MRMesh

MRMeshComponent can render and provide collision based on the Mesh data.

Public variable UProperty BlueprintAssignable

FOnMeshTrackerU...

 

OnMeshTrackerUpdated

Activated whenever new information about this mesh tracker is detected.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

float

 

PerimeterOfGapsToFill

The perimeter (in Unreal Units) of gaps to be filled. 0 means do not fill. A good value is 300cm.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

bool

 

Planarize

If true, the system will planarize the returned mesh i.e. planar regions will be smoothed out.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

bool

 

RemoveOverlappingTriangles

If true, overlapping area between two mesh blocks will be removed.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

bool

 

RequestNormals

If true, the system will generate normals for the triangle vertices.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

bool

 

RequestVertexConfidence

If true, the system will generate the mesh confidence values for the triangle vertices.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

bool

 

ScanWorld

Set to true to start scanning the world for meshes.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

FLinearColor

 

VertexColorFromConfidenceOne

Color mapped to confidence value of one.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

FLinearColor

 

VertexColorFromConfidenceZero

Color mapped to confidence value of zero.

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

EMLMeshVertexCo...

 

VertexColorMode

Vertex Colors can be unused, or filled with several types of information.

Constructors

Name Description

Public function

UMeshTrackerComponent()

Destructors

Name Description

Public function

~UMeshTrackerComponent()

Destroys the FMeshTrackerImpl instance.

Functions

Name Description

Public function UFunction BlueprintCallable, Category

void

 

ConnectBlockSelector

Sets the interface to be used for selecting blocks to mesh.

Public function UFunction BlueprintCallable, Category

void

 

ConnectMRMesh

(
    UMRMeshComponent* InMRMeshPtr
)

Sets the procedural mesh component that will store and display the environmental mesh results.

Public function UFunction BlueprintCallable, Category

void

 

DisconnectBlockSelector()

Disconnects the previously connected IMeshBlockSelectorInterface.

Public function UFunction BlueprintCallable, Category

void

 

DisconnectMRMesh

(
    UMRMeshComponent* InMRMeshPtr
)

Unlinks the current procedural mesh component from the mesh tracking system.

Public function UFunction BlueprintCallable, Category blueprintnativeevent

void

 

SelectMeshBlocks

(
    const FMLTrackingMeshInfo& NewMesh...,
    TArray< FMeshBlockRequest >& Reque...
)

IMeshBlockSelectorInterface

Public function Virtual

void

 

SelectMeshBlocks_Implementation

(
    const FMLTrackingMeshInfo& NewMesh...,
    TArray< FMeshBlockRequest >& Reque...
)

Overridden from UActorComponent

Name Description

Public function Virtual

void

 

TickComponent

(
    float DeltaTime,
    enum ELevelTick TickType,
    FActorComponentTickFunction* T...
)

Polls for and handles the results of the environmental mesh queries.

Overridden from UObject

Name Description

Public function Virtual

void

 

BeginDestroy()

Unlinks the current procedural mesh component from the mesh tracking system.

Public function Virtual

void

 

FinishDestroy()

Destroys the interface object to the mesh tracking api

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Classes

Name

Description

Public class

FOnMeshTrackerUpdated

Delegate used by OnMeshUpdated().

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback