MeshingSubsystemComponent
NameSpace: MagicLeap
Inherits from:
MonoBehaviour
Public Fields
PrefabRenderer
public MeshRenderer PrefabRenderer { get; set; }
batchSize
How many meshes to update per batch. Larger values are more efficient, but have higher latency.
public int batchSize { get; set; }
computeNormals
When enabled, the system will compute the normals for the triangle vertices.
public bool computeNormals { get; set; }
density
public float density { get; set; }
disconnectedComponentArea
Any component that is disconnected from the main mesh and which has an area less than this size will be removed.
public float disconnectedComponentArea { get; set; }
fillHoleLength
Boundary distance (in meters) of holes you wish to have filled.
public float fillHoleLength { get; set; }
meshIdToGameObjectMap
A Dictionary which maps mesh ids to their GameObject s.
public Dictionary< MeshId, GameObject > meshIdToGameObjectMap { get; set; }
meshParent
The parent transform for generated meshes.
public Transform meshParent { get; set; }
meshPrefab
Get or set the prefab which should be instantiated to create individual mesh instances. May have a mesh renderer and an optional mesh collider for physics.
public GameObject meshPrefab { get; set; }
meshQueueSize
Controls the number of meshes to queue for generation at once. Larger numbers will lead to higher CPU usage.
public uint meshQueueSize { get; set; }
planarize
When enabled, the system will planarize the returned mesh (planar regions will be smoothed out).
public bool planarize { get; set; }
pollingRate
How often to check for updates, in seconds. More frequent updates will increase CPU usage.
public float pollingRate { get; set; }
removeMeshSkirt
When enabled, the mesh skirt (overlapping area between two mesh blocks) will be removed. This field is only valid when the Mesh Type is Blocks.
public bool removeMeshSkirt { get; set; }
requestVertexConfidence
When enabled, the system will generate confidence values for each vertex, ranging from 0-1.
public bool requestVertexConfidence { get; set; }
See: TryGetConfidence(MeshId, List<float>)
requestedMeshType
Request Magic Leap to generate a triangle mesh or point cloud points.
public MeshType requestedMeshType { get; set; }
Type | Description |
---|---|
MeshType | What type of mesh to generate: a triangle mesh or a point cloud |
Public Methods
void DestroyAllMeshes
Destroy all mesh GameObject s created by this MeshingSubsystemComponent. The meshIdToGameObjectMap will also be cleared.
public void DestroyAllMeshes()
MeshingSubsystem.Extensions.MLMeshing.LevelOfDetail FromDensityToLevelOfDetail
public static MeshingSubsystem.Extensions.MLMeshing.LevelOfDetail FromDensityToLevelOfDetail(
float density
)
Parameters
Type | Name | Description |
---|---|---|
float | density |
float FromLevelOfDetailToDensity
public static float FromLevelOfDetailToDensity(
MeshingSubsystem.Extensions.MLMeshing.LevelOfDetail lod
)
Parameters
Type | Name | Description |
---|---|---|
MeshingSubsystem.Extensions.MLMeshing.LevelOfDetail | lod | Level of detail of the block mesh. |
void OnMeshingPropertyChanged
public void OnMeshingPropertyChanged()
void RefreshAllMeshes
'Refresh' all known meshes (meshes that are in meshIdToGameObjectMap). This will force all meshes to be regenerated with the current settings.
public void RefreshAllMeshes()
void RefreshMesh
'Refresh' a single mesh. This forces the mesh to be regenerated with the current settings.
public void RefreshMesh(
MeshId meshId
)
Parameters
Type | Name | Description |
---|---|---|
MeshId | meshId | The MeshId of the mesh to regenerate. |
void SetCustomMeshBlockRequests
public static void SetCustomMeshBlockRequests(
MeshingSubsystem.Extensions.MLMeshing.OnMeshBlockRequests onBlockRequests
)
Parameters
Type | Name | Description |
---|---|---|
MeshingSubsystem.Extensions.MLMeshing.OnMeshBlockRequests | onBlockRequests |
bool TryGetConfidence
Retrieve the confidence values associated with a mesh. Confidence values range from 0..1. requestVertexConfidence must be enabled.
public bool TryGetConfidence(
MeshId meshId,
List< float > confidenceOut
)
Parameters
Type | Name | Description |
---|---|---|
MeshId | meshId | The unique MeshId of the mesh. |
List< float > | confidenceOut | A List of floats, one for each vertex in the mesh. |
Returns: True if confidence values were successfully retrieved for the mesh with id meshId .
Public Attributes
currentMeshType
The current mesh type being surfaced by the subsystem provider.
public MeshType currentMeshType => SubsystemFeatures.currentFeatures.HasFlag(Feature.Meshing) ? MeshType.Triangles : MeshType.PointCloud;
Type | Description |
---|---|
MeshType | What type of mesh to generate: a triangle mesh or a point cloud |
Public Events
meshAdded
An event which is invoked whenever a new mesh is added
public Action< MeshId > meshAdded()
meshRemoved
An event which is invoked whenever an existing mesh is removed.
public Action< MeshId > meshRemoved()
meshUpdated
An event which is invoked whenever an existing mesh is updated (regenerated).
public Action< MeshId > meshUpdated()
Public Enums
MeshType
What type of mesh to generate: a triangle mesh or a point cloud
Enumerator | Value | Description |
---|---|---|
Triangles | Generate triangle meshes | |
PointCloud | Generate a point cloud (a mesh with MeshTopology.Points ) |