SparseSpatialMapController Class

Description

在场景中控制 SparseSpatialMap 生成的地图的 MonoBehaviour

Map info的数据会单独加载,加载会在session成功启动后发生,生命周期中只会完整加载一次,如加载到一半session停止,将在下次session启动后再次加载。


Enums

public enum SparseSpatialMapController.ActiveControlStrategy

GameObject .active的控制策略。

public enum SparseSpatialMapController.DataSource

地图数据来源类型。


Classes

public class SparseSpatialMapController.SparseSpatialMapInfo

稀疏地图信息。

public class SparseSpatialMapController.MapManagerSourceData

创建map的MapManager来源。

public class SparseSpatialMapController.ParticleParameter

渲染点云粒子的参数。


MonoBehaviour Messages

private void Awake()

private void Start()

private void OnDestroy()


Fields

PointCloudParticleSystem

C#

public ParticleSystem PointCloudParticleSystem

渲染点云的 ParticleSystem

ActiveControl

C#

public SparseSpatialMapController.ActiveControlStrategy ActiveControl

GameObject .active的控制策略。如果你打算自己控制 GameObject .active或是有其它组件在控制 GameObject .active,需要设为 SparseSpatialMapController.ActiveControlStrategy.None

SourceType

C#

public SparseSpatialMapController.DataSource SourceType

Map数据来源。在 MonoBehaviour .Start前设置有效。

MapManagerSource

C#

public SparseSpatialMapController.MapManagerSourceData MapManagerSource

创建map的MapManager来源。在 SparseSpatialMapController.SourceType == SparseSpatialMapController.DataSource.MapManager 的时候有效。在 MonoBehaviour .Start前设置有效。

MapInfoSource

C#

public SparseSpatialMapController.SparseSpatialMapInfo MapInfoSource

创建map的MapInfo来源。在 SparseSpatialMapController.SourceType == SparseSpatialMapController.DataSource.MapInfo 的时候有效。在 MonoBehaviour .Start前设置有效。


Properties

MapInfo

C#

public SparseSpatialMapController.SparseSpatialMapInfo MapInfo { get; }

地图信息。可以在MapInfoAvailable event之后访问。

MapWorker

C#

public SparseSpatialMapWorkerFrameFilter MapWorker { get; set; }

加载target的 SparseSpatialMapWorkerFrameFilter 。如果设为null,map将会被从之前设置的MapWorker中卸载。可随时修改,加载只会在session运行时发生。

PointCloudParticleParameter

C#

public SparseSpatialMapController.ParticleParameter PointCloudParticleParameter { get; set; }

渲染点云粒子的参数。

PointCloud

C#

public List< Vector3 > PointCloud { get; }

点云数据。

ShowPointCloud

C#

public bool ShowPointCloud { get; set; }

显示或隐藏点云。

IsLocalizing

C#

public bool IsLocalizing { get; }

当前map是否在定位中。


Events

MapInfoLoad

C#

public event Action<bool> MapInfoLoad

Map info 数据加载完成(不是加载到tracker中)。

MapLocalized

C#

public event Action MapLocalized

Map 定位到的事件。

MapStopLocalize

C#

public event Action MapStopLocalize

Map停止定位的事件。


Methods

HitTest

C#

public List< Vector3 > HitTest( Vector2 pointInView)

在当前点云中进行Hit Test,得到距离相机从近到远一条射线上的n(n>=0)个位置坐标。 pointInView 需要被归一化到[0, 1]^2。