Table of Contents

Class MegaTrackerFrameFilter

Namespace
easyar
Assembly
EasyAR.Sense.dll

Controls in the scene the easyar.MegaTracker of MonoBehaviour, providing functional extensions in the Unity environment.

[RequireComponent(typeof(BlockHolder))]
public class MegaTrackerFrameFilter : FrameFilter
Inheritance
MegaTrackerFrameFilter

Properties

BlockHolder

Component that holds Blocks, holding and managing Blocks in the scene.

public BlockHolder BlockHolder { get; }

CameraPositionOverride

Override value for camera position relative to map blocks. After setting, MegaTracker outputs the override value instead of corresponding coordinates in input frame data. Can be used to improve output pose accuracy when map information is known and sensors are limited.

public (Optional<float> x, Optional<float> y, Optional<float> z) CameraPositionOverride { get; set; }

EnableLocalization

Whether to enable location. When not enabled, location results from the server are not output. Default is true.

Affects tracking performance. Do not use unless consulting with EasyAR and fully understanding the impact.

public bool EnableLocalization { get; set; }

EnableStatelessLocalization

Whether to enable stateless location. When enabled, the last location result is not used during location. Default is false.

Affects tracking performance. Do not use unless consulting with EasyAR and fully understanding the impact.

public bool EnableStatelessLocalization { get; set; }

LandmarkFilter

Mega Landmark filtering function when ServiceType is Landmark. Initially, you need to manually call FilterBySpotId(string, Action<MegaLandmarkFilterResponse>). The tracker will not start tracking until the filter returns Found.

public Optional<MegaLandmarkFilterWrapper> LandmarkFilter { get; }

LocationInputMode

Location input mode. Must be set before session start. Set to Simulator for remote debugging or running on a computer; otherwise, it will not work. Set to Onsite for onsite use to achieve optimal results.

public MegaLocationInputMode LocationInputMode { get; set; }

MinInputFrameLevel

Minimum allowed MegaInputFrameLevel for input frames. If the frame source provides only lower-dimensional CameraTransformType data, session startup fails. Must be set before session start.

public MegaInputFrameLevel MinInputFrameLevel { get; set; }

ProximityLocation

Proximity location results.

public Optional<ProximityLocationResult> ProximityLocation { set; }

RequestMessage

public string RequestMessage { get; set; }

RequestTimeParameters

Request time parameters.

public MegaRequestTimeParameters RequestTimeParameters { get; set; }

ServiceAccessData

Service access data. Must be set before session start. No setup needed when using GlobalConfig.

public ExplicitAddressAccessData ServiceAccessData { get; set; }

ServiceAccessSource

Service access data-source type. Must be set before session start.

public MegaServiceAccessSourceType ServiceAccessSource { get; set; }

ServiceType

EasyAR Mega service-type. Must be set before session start.

public MegaApiType ServiceType { get; set; }

SimulatorLocation

Location data used when LocationInputMode == Simulator.

public Optional<Location> SimulatorLocation { get; set; }

enabled

Start/stop tracking during ARSession runtime. After session starts, tracking begins only when MonoBehaviour.enabled is true.

public bool enabled { get; set; }

Methods

ResetTracker()

Reset tracker.

public void ResetTracker()

SwitchEndPoint(ExplicitAddressAccessData, BlockRootController)

Switch remote endpoint.

public void SwitchEndPoint(ExplicitAddressAccessData config, BlockRootController root)

Parameters

config
root

UpdateToken(string)

Update API Token.

public void UpdateToken(string token)

Parameters

token

Events

LocalizationRespond

Service location return event. This event is typically used for debugging; when the event occurs, the positions and states of objects in the scene do not correspond to the data in the event.

public event Action<MegaLocalizationResponse> LocalizationRespond