lv.lumii.layoutengine.flowLayout

## Class FlowLayoutGraph

- java.lang.Object
- - lv.lumii.layoutengine.flowLayout.FlowLayoutGraph

-     public class FlowLayoutGraph
      extends java.lang.Object

  This class implements the internal representation of the diagram graph for the Flow Layout algorithm.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.ArrayList<java.util.ArrayList<java.lang.Integer>>` | `adjStruct`
    `java.util.ArrayList<FlowLayoutEdge>` | `edgeList`
    `int` | `m`
    `int` | `n`
    `int[]` | `vC`
    `java.util.ArrayList<FlowLayoutVertex>` | `vertexList`
    `double[]` | `vH`
    `double[]` | `vW`
    `double[]` | `vX`
    `double[]` | `vX1`
    `double[]` | `vX2`
    `double[]` | `vY`
    `double[]` | `vY1`
    `double[]` | `vY2`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FlowLayoutGraph(int n)` This method is the class constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `buildAdjacencyStructure()` This method builds the adjacency structure of the graph.
    `void` | `buildDirectedAdjacencyStructure()` This method builds the directed adjacency structure of the graph.
    `void` | `insertNewAcyclicEdge(int v1, int v2)` This method inserts a new edge to the graph if the new edge does not create cycles.
    `void` | `insertNewEdge(int v1, int v2)` This method inserts a new edge to the graph.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### n

          public int n

    - #### m

          public int m

    - #### vertexList

          public java.util.ArrayList<FlowLayoutVertex> vertexList

    - #### edgeList

          public java.util.ArrayList<FlowLayoutEdge> edgeList

    - #### adjStruct

          public java.util.ArrayList<java.util.ArrayList<java.lang.Integer>> adjStruct

    - #### vX

          public double[] vX

    - #### vY

          public double[] vY

    - #### vW

          public double[] vW

    - #### vH

          public double[] vH

    - #### vX1

          public double[] vX1

    - #### vX2

          public double[] vX2

    - #### vY1

          public double[] vY1

    - #### vY2

          public double[] vY2

    - #### vC

          public int[] vC

  - ### Constructor Detail

    - #### FlowLayoutGraph

          public FlowLayoutGraph(int n)

      This method is the class constructor.
      Parameters:
        `n` - the number of vertices of the graph.

  - ### Method Detail

    - #### insertNewEdge

          public void insertNewEdge(int v1,
                                    int v2)

      This method inserts a new edge to the graph.
      Parameters:
        `v1` - the edge from vertex index.
        `v2` - the edge to vertex index.

    - #### buildAdjacencyStructure

          public void buildAdjacencyStructure()

      This method builds the adjacency structure of the graph.

    - #### buildDirectedAdjacencyStructure

          public void buildDirectedAdjacencyStructure()

      This method builds the directed adjacency structure of the graph.

    - #### insertNewAcyclicEdge

          public void insertNewAcyclicEdge(int v1,
                                           int v2)

      This method inserts a new edge to the graph if the new edge does not create cycles.
      Parameters:
        `v1` - the edge from vertex index.
        `v2` - the edge to vertex index.