SparseSpatialMapController Class

Description

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


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

protected virtual void Awake()

protected virtual void Start()

protected virtual 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数据来源。

MapManagerSource

C#

public SparseSpatialMapController.MapManagerSourceData MapManagerSource

创建map的MapManager来源。在 SparseSpatialMapController.SourceType == SparseSpatialMapController.DataSource.MapManager 的时候有效。

MapInfoSource

C#

public SparseSpatialMapController.SparseSpatialMapInfo MapInfoSource

创建map的MapInfo来源。在 SparseSpatialMapController.SourceType == SparseSpatialMapController.DataSource.MapInfo 的时候有效。


Properties

MapInfo

C#

public SparseSpatialMapController.SparseSpatialMapInfo MapInfo { get; }

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

MapWorker

C#

public SparseSpatialMapWorkerFrameFilter MapWorker { get; set; }

SparseSpatialMapController.MapInfoAvailable 之后加载target的 SparseSpatialMapWorkerFrameFilter 。如果设为null,map将会被从之前设置的MapWorker中卸载。可随时修改,立即生效。

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

MapInfoAvailable

C#

public event Action MapInfoAvailable

SparseSpatialMapController.MapInfo 可以使用的事件。

MapLocalized

C#

public event Action MapLocalized

Map 定位到的事件。

MapStopLocalize

C#

public event Action MapStopLocalize

Map停止定位的事件。

MapLoad

C#

public event Action< SparseSpatialMapController.SparseSpatialMapInfo , bool, string> MapLoad

Map加载完成的事件。bool值表示加载是否成功。string值表示出错时的错误信息。

MapUnload

C#

public event Action< SparseSpatialMapController.SparseSpatialMapInfo , bool, string> MapUnload

Map卸载完成的事件。bool值表示卸载是否成功。string值表示出错时的错误信息。

MapHost

C#

public event Action< SparseSpatialMapController.SparseSpatialMapInfo , bool, string> MapHost

Map创建上传完成的事件。bool值表示是否成功。string值表示出错时的错误信息。


Methods

HitTest

C#

public List< Vector3 > HitTest( Vector2 pointInView)

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

Host

C#

public void Host(string name, Optional< Image > preview)

创建和上传Map。 name 为地图的名字, preview 是可选的map预览图 。