All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mdr.ascii.layout.coordAssign.EdgeInfo.scala Maven / Gradle / Ivy

The newest version!
package com.github.mdr.ascii.layout.coordAssign

import com.github.mdr.ascii.layout.layering.Vertex
import com.github.mdr.ascii.common.Point
import com.github.mdr.ascii.layout.layering.Edge

/**
 * Information about edges that pass between two adjacent layers.
 *
 * @param finishPort -- column is correct, but not row
 */
case class EdgeInfo(startVertex: Vertex, finishVertex: Vertex, startPort: Point, finishPort: Point, reversed: Boolean) {

  def startColumn = startPort.column

  def finishColumn = finishPort.column

  def requiresBend = !isStraight

  def isStraight = startColumn == finishColumn

  def withFinishColumn(column: Int) = copy(finishPort = finishPort.withColumn(column))

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy