Table of Contents

Interface ITopology

Namespace
Lime
Assembly
Lime.dll
public interface ITopology

Properties

ConstrainedEdges

IEnumerable<(int, int)> ConstrainedEdges { get; }

Property Value

IEnumerable<(int, int)>

EdgeHitTestDistance

float EdgeHitTestDistance { get; set; }

Property Value

float

Faces

IEnumerable<TopologyFace> Faces { get; }

Property Value

IEnumerable<TopologyFace>

FacesWithInfo

We need private information in Tangerine in order to show them to end user. In any other application there is no need to know inner information about topology.

IEnumerable<(TopologyFace, TopologyFace.FaceInfo)> FacesWithInfo { get; }

Property Value

IEnumerable<(TopologyFace, TopologyFace.FaceInfo)>

VertexHitTestRadius

float VertexHitTestRadius { get; set; }

Property Value

float

Vertices

List<Vector2> Vertices { get; }

Property Value

List<Vector2>

Methods

AddVertex(Vector2)

int AddVertex(Vector2 vertex)

Parameters

vertex Vector2

Returns

int

ConstructFrom(IEnumerable<Vector2>, List<TopologyEdge>, IReadOnlyList<TopologyFace>)

void ConstructFrom(IEnumerable<Vector2> vertices, List<TopologyEdge> constrainedEdges, IReadOnlyList<TopologyFace> faces)

Parameters

vertices IEnumerable<Vector2>
constrainedEdges List<TopologyEdge>
faces IReadOnlyList<TopologyFace>

HitTest(Vector2, float, float, out TopologyHitTestResult)

Carries out a test to determine the most suitable topology primitive for a given position.

bool HitTest(Vector2 position, float vertexHitRadius, float edgeHitRadius, out TopologyHitTestResult result)

Parameters

position Vector2

Position in local space.

vertexHitRadius float

Admissible radius for vertex testing.

edgeHitRadius float

Admissible radius for edge testing.

result TopologyHitTestResult

Primitive and its appropriate info if test was successful, null otherwise.

Returns

bool

Test success verdict.

InsertConstrainedEdge(int, int)

bool InsertConstrainedEdge(int index0, int index1)

Parameters

index0 int
index1 int

Returns

bool

Locate(Vector2)

IHalfEdge Locate(Vector2 point)

Parameters

point Vector2

Returns

IHalfEdge

RemoveConstrainedEdge(int, int)

void RemoveConstrainedEdge(int index0, int index1)

Parameters

index0 int
index1 int

RemoveUnusedVertices()

(List<int>, int) RemoveUnusedVertices()

Returns

(List<int>, int)

RemoveVertex(int)

void RemoveVertex(int index)

Parameters

index int

Scale(Vector2)

void Scale(Vector2 scale)

Parameters

scale Vector2

TranslateVertex(int, Vector2)

bool TranslateVertex(int index, Vector2 positionDelta)

Parameters

index int
positionDelta Vector2

Returns

bool

Events

OnTopologyChanged

event Action<ITopology> OnTopologyChanged

Event Type

Action<ITopology>