Show / Hide Table of Contents

Class FSAAlgorithm<TObject, TParameters>

Force-Scan Algorithm (FSA).

Inheritance
System.Object
AlgorithmBase
OverlapRemovalAlgorithmBase<TObject, TParameters>
FSAAlgorithm<TObject, TParameters>
FSAAlgorithm<TObject>
OneWayFSAAlgorithm<TObject>
Implements
IOverlapRemovalAlgorithm<TObject, TParameters>
IOverlapRemovalAlgorithm<TObject>
IAlgorithm
Inherited Members
OverlapRemovalAlgorithmBase<TObject, TParameters>.WrappedRectangles
OverlapRemovalAlgorithmBase<TObject, TParameters>.Rectangles
OverlapRemovalAlgorithmBase<TObject, TParameters>.Parameters
OverlapRemovalAlgorithmBase<TObject, TParameters>.GetParameters()
OverlapRemovalAlgorithmBase<TObject, TParameters>.InternalCompute()
OverlapRemovalAlgorithmBase<TObject, TParameters>.AddGaps()
OverlapRemovalAlgorithmBase<TObject, TParameters>.RemoveOverlap()
OverlapRemovalAlgorithmBase<TObject, TParameters>.RemoveGaps()
AlgorithmBase.IsCancelling
AlgorithmBase.ThrowIfCancellationRequested()
AlgorithmBase.SyncRoot
AlgorithmBase.State
AlgorithmBase.Compute()
AlgorithmBase.Abort()
AlgorithmBase.StateChanged
AlgorithmBase.OnStateChanged(EventArgs)
AlgorithmBase.Started
AlgorithmBase.OnStarted(EventArgs)
AlgorithmBase.Finished
AlgorithmBase.OnFinished(EventArgs)
AlgorithmBase.Aborted
AlgorithmBase.OnAborted(EventArgs)
AlgorithmBase.Initialize()
AlgorithmBase.InternalCompute()
AlgorithmBase.Clean()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: GraphShape.Algorithms.OverlapRemoval
Assembly: GraphShape.dll
Syntax
public class FSAAlgorithm<TObject, TParameters> : OverlapRemovalAlgorithmBase<TObject, TParameters>, IOverlapRemovalAlgorithm<TObject, TParameters>, IOverlapRemovalAlgorithm<TObject>, IAlgorithm where TParameters : IOverlapRemovalParameters
Type Parameters
Name Description
TObject

Object type.

TParameters

Algorithm parameters type.

Constructors

| Improve this Doc View Source

FSAAlgorithm(IDictionary<TObject, Rect>, TParameters)

Initializes a new instance of the FSAAlgorithm<TObject, TParameters> class.

Declaration
public FSAAlgorithm(IDictionary<TObject, Rect> rectangles, TParameters parameters)
Parameters
Type Name Description
System.Collections.Generic.IDictionary<TObject, Rect> rectangles

Overlap rectangles.

TParameters parameters

Algorithm parameters.

Exceptions
Type Condition
System.ArgumentNullException

rectangles is null.

System.ArgumentNullException

parameters is null.

Methods

| Improve this Doc View Source

Force(Rect, Rect)

Specifies the bounding force of the two rectangles.

Declaration
protected Vector Force(Rect vi, Rect vj)
Parameters
Type Name Description
Rect vi

First rectangle.

Rect vj

Second rectangle.

Returns
Type Description
Vector

Force vector.

| Improve this Doc View Source

Force2(Rect, Rect)

Specifies the bounding force of the two rectangles (version 2).

Declaration
protected Vector Force2(Rect vi, Rect vj)
Parameters
Type Name Description
Rect vi

First rectangle.

Rect vj

Second rectangle.

Returns
Type Description
Vector

Force vector.

| Improve this Doc View Source

Horizontal()

Horizontal offset rectangles.

Declaration
protected void Horizontal()
| Improve this Doc View Source

HorizontalImproved()

Horizontal improvement.

Declaration
protected double HorizontalImproved()
Returns
Type Description
System.Double
| Improve this Doc View Source

RemoveOverlap()

Removes overlap.

Declaration
protected override void RemoveOverlap()
Overrides
GraphShape.Algorithms.OverlapRemoval.OverlapRemovalAlgorithmBase<TObject, TParameters>.RemoveOverlap()
| Improve this Doc View Source

Vertical()

Vertical offset rectangles.

Declaration
protected void Vertical()
| Improve this Doc View Source

VerticalImproved()

Vertical improvement.

Declaration
protected double VerticalImproved()
Returns
Type Description
System.Double
| Improve this Doc View Source

XComparison(RectangleWrapper<TObject>, RectangleWrapper<TObject>)

Compares both rectangle center on X axis.

Declaration
protected int XComparison(RectangleWrapper<TObject> r1, RectangleWrapper<TObject> r2)
Parameters
Type Name Description
RectangleWrapper<TObject> r1

First rectangle.

RectangleWrapper<TObject> r2

Second rectangle.

Returns
Type Description
System.Int32

0 if both rectangle have same X center, -1 if r1 X center is lower than r2, 1 otherwise.

| Improve this Doc View Source

YComparison(RectangleWrapper<TObject>, RectangleWrapper<TObject>)

Compares both rectangle center on Y axis.

Declaration
protected int YComparison(RectangleWrapper<TObject> r1, RectangleWrapper<TObject> r2)
Parameters
Type Name Description
RectangleWrapper<TObject> r1

First rectangle.

RectangleWrapper<TObject> r2

Second rectangle.

Returns
Type Description
System.Int32

0 if both rectangle have same Y center, -1 if r1 Y center is lower than r2, 1 otherwise.

Implements

IOverlapRemovalAlgorithm<TObject, TParameters>
IOverlapRemovalAlgorithm<TObject>
IAlgorithm

Extension Methods

GraphHelpers.GetDistances<TVertex, TEdge, TGraph>(TGraph)
GraphHelpers.GetDiameter<TVertex, TEdge, TGraph>(TGraph)
GraphHelpers.GetDiameter<TVertex, TEdge, TGraph>(TGraph, out Double[,])
  • Improve this Doc
  • View Source
In This Article
Back to top GraphShape