Skip to content

NavigationMeshSourceGeometryData

eduardgushchin edited this page Oct 22, 2026 · 1 revision

Home | API by Category | Complete API Index | API Status

Field Value
Full name Electron2D.NavigationMeshSourceGeometryData
Namespace Electron2D
Kind class
Category API Navigation

Overview

Owns copied planar source contours used to bake navigation geometry.

Syntax

public sealed class Electron2D.NavigationMeshSourceGeometryData

Remarks

Snapshots and exports do not share caller arrays. State is synchronized; callbacks run after mutation. Bounds include all source families. HasData reports traversable contours, independently of obstructions.

Inherits: Resource

Detailed engine reference

Members

Member Kind Summary
public NavigationMeshSourceGeometryData() constructor Creates empty source geometry.
public System.Void AddObstructionOutline(System.ReadOnlySpan<Electron2D.Vector2> outline) method Appends a copied obstruction contour when it has at least two points.
public System.Void AddProjectedObstruction(System.ReadOnlySpan<Electron2D.Vector2> vertices, System.Boolean carve) method Appends a projected obstruction.
public System.Void AddTraversableOutline(System.ReadOnlySpan<Electron2D.Vector2> outline) method Appends a copied traversable contour when it has at least two points.
public System.Void AppendObstructionOutlines(Electron2D.Vector2[][] outlines) method Appends copied obstruction contours.
public System.Void AppendTraversableOutlines(Electron2D.Vector2[][] outlines) method Appends copied traversable contours.
public System.Void Clear() method Clears all source contours and projected obstructions.
public System.Void ClearProjectedObstructions() method Clears only projected obstructions.
protected override System.Void CopyCustomStateTo(Electron2D.Resource target, System.Boolean deep, Electron2D.DeepDuplicateMode subresourceMode, System.Func<Electron2D.Resource, Electron2D.Resource> duplicateSubresource, System.Func<Electron2D.Resource, Electron2D.Resource> forceDuplicateSubresource) method
protected override Electron2D.Resource CreateDuplicateInstance() method
public Electron2D.Rect2 GetBounds() method Returns the enclosing bounds of every source point.
public Electron2D.Vector2[][] GetObstructionOutlines() method Returns copied obstruction contours.
public Electron2D.NavigationProjectedObstruction[] GetProjectedObstructions() method Returns immutable projected entries with copied vertex exports.
protected override System.Collections.Generic.IEnumerable<Electron2D.PropertyDescriptor> GetPropertyDescriptors() method
public Electron2D.Vector2[][] GetTraversableOutlines() method Returns copied traversable contours.
public System.Boolean HasData() method Reports whether traversable contours are present.
public System.Void Merge(Electron2D.NavigationMeshSourceGeometryData otherGeometry) method Appends one coherent snapshot of another source, including self-merge.
public System.Void SetObstructionOutlines(Electron2D.Vector2[][] outlines) method Replaces obstruction contours after copying and validation.
public System.Void SetProjectedObstructions(System.ReadOnlySpan<Electron2D.NavigationProjectedObstruction> obstructions) method Replaces projected obstructions with immutable entries.
public System.Void SetTraversableOutlines(Electron2D.Vector2[][] outlines) method Replaces traversable contours after copying and validation.

Member Details

NavigationMeshSourceGeometryData()

Kind: constructor

public NavigationMeshSourceGeometryData()

Summary

Creates empty source geometry.

AddObstructionOutline(System.ReadOnlySpan<Electron2D.Vector2>)

Kind: method

public System.Void AddObstructionOutline(System.ReadOnlySpan<Electron2D.Vector2> outline)

Summary

Appends a copied obstruction contour when it has at least two points.

Parameters

  • outline: Finite root-local points.

AddProjectedObstruction(System.ReadOnlySpan<Electron2D.Vector2>, System.Boolean)

Kind: method

public System.Void AddProjectedObstruction(System.ReadOnlySpan<Electron2D.Vector2> vertices, System.Boolean carve)

Summary

Appends a projected obstruction.

Parameters

  • vertices: At least two finite points.
  • carve: Applies after clearance erosion when true.

AddTraversableOutline(System.ReadOnlySpan<Electron2D.Vector2>)

Kind: method

public System.Void AddTraversableOutline(System.ReadOnlySpan<Electron2D.Vector2> outline)

Summary

Appends a copied traversable contour when it has at least two points.

Parameters

  • outline: Finite root-local points.

AppendObstructionOutlines(Electron2D.Vector2[][])

Kind: method

public System.Void AppendObstructionOutlines(Electron2D.Vector2[][] outlines)

Summary

Appends copied obstruction contours.

Parameters

  • outlines: Finite point arrays.

AppendTraversableOutlines(Electron2D.Vector2[][])

Kind: method

public System.Void AppendTraversableOutlines(Electron2D.Vector2[][] outlines)

Summary

Appends copied traversable contours.

Parameters

  • outlines: Finite point arrays.

Clear()

Kind: method

public System.Void Clear()

Summary

Clears all source contours and projected obstructions.

ClearProjectedObstructions()

Kind: method

public System.Void ClearProjectedObstructions()

Summary

Clears only projected obstructions.

CopyCustomStateTo(Electron2D.Resource, System.Boolean, Electron2D.DeepDuplicateMode, System.Func<Electron2D.Resource, Electron2D.Resource>, System.Func<Electron2D.Resource, Electron2D.Resource>)

Kind: method

protected override System.Void CopyCustomStateTo(Electron2D.Resource target, System.Boolean deep, Electron2D.DeepDuplicateMode subresourceMode, System.Func<Electron2D.Resource, Electron2D.Resource> duplicateSubresource, System.Func<Electron2D.Resource, Electron2D.Resource> forceDuplicateSubresource)

CreateDuplicateInstance()

Kind: method

protected override Electron2D.Resource CreateDuplicateInstance()

GetBounds()

Kind: method

public Electron2D.Rect2 GetBounds()

Summary

Returns the enclosing bounds of every source point.

Returns

Zero for empty input.

Exceptions

  • T:System.OverflowException: The finite coordinate span cannot be represented by Rect2.

GetObstructionOutlines()

Kind: method

public Electron2D.Vector2[][] GetObstructionOutlines()

Summary

Returns copied obstruction contours.

Returns

Independent arrays.

GetProjectedObstructions()

Kind: method

public Electron2D.NavigationProjectedObstruction[] GetProjectedObstructions()

Summary

Returns immutable projected entries with copied vertex exports.

Returns

Independent entry array.

GetPropertyDescriptors()

Kind: method

protected override System.Collections.Generic.IEnumerable<Electron2D.PropertyDescriptor> GetPropertyDescriptors()

GetTraversableOutlines()

Kind: method

public Electron2D.Vector2[][] GetTraversableOutlines()

Summary

Returns copied traversable contours.

Returns

Independent arrays.

HasData()

Kind: method

public System.Boolean HasData()

Summary

Reports whether traversable contours are present.

Returns

False for obstruction-only geometry.

Merge(Electron2D.NavigationMeshSourceGeometryData)

Kind: method

public System.Void Merge(Electron2D.NavigationMeshSourceGeometryData otherGeometry)

Summary

Appends one coherent snapshot of another source, including self-merge.

Parameters

  • otherGeometry: Live source resource.

SetObstructionOutlines(Electron2D.Vector2[][])

Kind: method

public System.Void SetObstructionOutlines(Electron2D.Vector2[][] outlines)

Summary

Replaces obstruction contours after copying and validation.

Parameters

  • outlines: Finite point arrays.

SetProjectedObstructions(System.ReadOnlySpan<Electron2D.NavigationProjectedObstruction>)

Kind: method

public System.Void SetProjectedObstructions(System.ReadOnlySpan<Electron2D.NavigationProjectedObstruction> obstructions)

Summary

Replaces projected obstructions with immutable entries.

Parameters

  • obstructions: Entries with independent immutable vertex state.

SetTraversableOutlines(Electron2D.Vector2[][])

Kind: method

public System.Void SetTraversableOutlines(Electron2D.Vector2[][] outlines)

Summary

Replaces traversable contours after copying and validation.

Parameters

  • outlines: Finite point arrays.

Clone this wiki locally