case class PantsSurface(numPants: Index, cs: Set[Curve]) extends PureTwoComplex with Product with Serializable

Surface with a pants decomposition (compact, possibly with boundary and possibly disconnected)

numPants

the number of pairs of pants

cs

the curve system giving the pants decomposition

Linear Supertypes
Serializable, Product, Equals, PureTwoComplex, TwoComplex, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PantsSurface
  2. Serializable
  3. Product
  4. Equals
  5. PureTwoComplex
  6. TwoComplex
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PantsSurface(numPants: Index, cs: Set[Curve])

    numPants

    the number of pairs of pants

    cs

    the curve system giving the pants decomposition

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def L(e: Edge): Edge

    Forced version of turnLeft, for geodesics and edgepaths

    Forced version of turnLeft, for geodesics and edgepaths

    Definition Classes
    TwoComplex
  5. def R(e: Edge): Edge

    Forced version of turnRight, for geodesics and edgepaths

    Forced version of turnRight, for geodesics and edgepaths

    Definition Classes
    TwoComplex
  6. def SL(e: Edge): Edge

    Forced version of slightLeft, for geodesics and edgepaths

    Forced version of slightLeft, for geodesics and edgepaths

    Definition Classes
    TwoComplex
  7. def SR(e: Edge): Edge

    Forced version of slightRight, for geodesics and edgepaths

    Forced version of slightRight, for geodesics and edgepaths

    Definition Classes
    TwoComplex
  8. def SwL(e: Edge): Edge

    Forced swivelLeft, for geodesics and edgepaths

    Forced swivelLeft, for geodesics and edgepaths

    Definition Classes
    TwoComplex
  9. def SwR(e: Edge): Edge

    Forced swivelRight, for geodesics and edgepaths

    Forced swivelRight, for geodesics and edgepaths

    Definition Classes
    TwoComplex
  10. def addEdges(eds: Set[Edge]): TwoComplex

    Given a set of edges eds gives the TwoComplex got by adding eds and there flips to the existing twoComplex.

    Given a set of edges eds gives the TwoComplex got by adding eds and there flips to the existing twoComplex.

    Definition Classes
    TwoComplex
  11. def addFaces(fcs: Set[Polygon]): TwoComplex

    Given a set of faces fcs gives the TwoComplex got by adding fcs to the existing twoComplex.

    Given a set of faces fcs gives the TwoComplex got by adding fcs to the existing twoComplex.

    Definition Classes
    TwoComplex
  12. def addTwoComplexes(complexes: Set[TwoComplex]): TwoComplex

    Gives the result of adding the given set of twocomplexes to the existing one.

    Gives the result of adding the given set of twocomplexes to the existing one.

    Definition Classes
    TwoComplex
  13. def addVertices(vs: Set[Vertex]): TwoComplex

    Given a set of vertices vs gives the TwoComplex got by adding vs to the existing twoComplex.

    Given a set of vertices vs gives the TwoComplex got by adding vs to the existing twoComplex. If vs is already inside gives the same twoComplex

    Definition Classes
    TwoComplex
  14. val allCurves: Set[PantsBoundary]
  15. def allEdgesToTheLeftOf(e: Edge): Set[Edge]

    all edges to the left of the edge e including itself

    all edges to the left of the edge e including itself

    Definition Classes
    TwoComplex
  16. def allEdgesToTheRightOf(e: Edge): Set[Edge]

    all edges to the left of the edge e including itself

    all edges to the left of the edge e including itself

    Definition Classes
    TwoComplex
  17. def allGlue1: Set[PantsSurface]

    attach new pants along a single boundary component in all possible ways

    attach new pants along a single boundary component in all possible ways

    returns

    set of pants surfaces obtained by attachment

  18. def allGlue2: Set[PantsSurface]

    attach new pants along two boundary components in all possible ways

    attach new pants along two boundary components in all possible ways

    returns

    set of pants surfaces obtained by attachment

  19. def allGlue3: Set[PantsSurface]

    attach new pants along three boundary components in all possible ways

    attach new pants along three boundary components in all possible ways

    returns

    set of pants surfaces obtained by attachment

  20. def allGlueLoop: Set[PantsSurface]

    attach new pants along a single boundary component, with the other two components of the new pants glued, in all possible ways

    attach new pants along a single boundary component, with the other two components of the new pants glued, in all possible ways

    returns

    set of pants surfaces obtained by attachment

  21. def allGlued: Set[PantsSurface]

    attach new pants along a positive number of boundary components in all possible ways

    attach new pants along a positive number of boundary components in all possible ways

    returns

    set of pants surfaces obtained by attachment

  22. def angleBetween(e1: Edge, e2: Edge): Int

    Given two edges e1 and e2 says what is the angle between them.

    Given two edges e1 and e2 says what is the angle between them. Where angle is the number of turns to reach e2 from e1. Left turns are considered positive and right turns are considered negative. For this method to work both e1 and e2 need to end at the same vertex

    Definition Classes
    TwoComplex
  23. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  24. val boundaryCurves: Set[PantsBoundary]

    curves in the boundary; we can attach other pairs of pants to these.

  25. val boundaryIndices: Set[Index]

    indices of pants that intersect the boundary of the surface

  26. def checkComplex: Boolean
    Definition Classes
    TwoComplex
  27. lazy val chi: Int
    Definition Classes
    TwoComplex
  28. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  29. def collapseEdge(e: Edge): (TwoComplex, ((EdgePath) => EdgePath, (EdgePath) => EdgePath))
    Definition Classes
    TwoComplex
  30. final def component(pantSet: Set[Index]): Set[Index]

    connected component given a set of pants (should start with a single one)

    connected component given a set of pants (should start with a single one)

    pantSet

    starting set of pants

    returns

    set of indices for the component

    Annotations
    @tailrec()
  31. def connectedComponent(v: Vertex): Set[Vertex]

    Finds the connected component of a vertex

    Finds the connected component of a vertex

    v

    the starting vertex

    returns

    set of initial neighbours

    Definition Classes
    TwoComplex
  32. val cs: Set[Curve]
  33. val csSupp: Set[PantsBoundary]
  34. def degree(v: Vertex): Int

    The degree of a vertex

    The degree of a vertex

    Definition Classes
    TwoComplex
  35. def drop(n: Index): PantsSurface

    surface obtained by deleting a pair of pants

  36. def edgeIndex(edge: Edge): Option[(Int, Boolean)]
    Definition Classes
    TwoComplex
  37. def edgeIndices(edge: Edge): Set[(Polygon, Index, Boolean)]
    Definition Classes
    TwoComplex
  38. def edgeOccurences(e: Edge): Int

    Occurences of edges in faces, counting multiplicity

    Occurences of edges in faces, counting multiplicity

    Definition Classes
    TwoComplex
  39. lazy val edges: Set[Edge]
    Definition Classes
    PureTwoComplexTwoComplex
  40. def edgesEndingAt(v: Vertex): Set[Edge]

    set of all edges ending at v

    set of all edges ending at v

    Definition Classes
    TwoComplex
  41. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. val faces: Set[Polygon]
    Definition Classes
    PantsSurfacePureTwoComplexTwoComplex
  43. def facesWithEdge(edge: Edge): Set[Polygon]
    Definition Classes
    TwoComplex
  44. val fundamentalClass: FormalSum[Polygon]
  45. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  46. def glue1(pb: PantsBoundary): PantsSurface

    attach a new pair of pants along one specified boundary component

    attach a new pair of pants along one specified boundary component

    pb

    pants boundary of the given surface along which to attach the new pants

    returns

    pants surface with new pants attached

  47. def glue2(pb1: PantsBoundary, pb2: PantsBoundary): PantsSurface

    attach a new pair of pants along two specified boundary components

    attach a new pair of pants along two specified boundary components

    pb1

    first pants boundary of the given surface along which to attach the new pants

    pb2

    second pants boundary of the given surface along which to attach the new pants

    returns

    pants surface with new pants attached

  48. def glue3(pb1: PantsBoundary, pb2: PantsBoundary, pb3: PantsBoundary): PantsSurface

    attach a new pair of pants along three specified boundary components

    attach a new pair of pants along three specified boundary components

    pb1

    first pants boundary of the given surface along which to attach the new pants

    pb2

    second pants boundary of the given surface along which to attach the new pants

    pb3

    third pants boundary of the given surface along which to attach the new pants

    returns

    pants surface with new pants attached

  49. def glueLoop(pb: PantsBoundary): PantsSurface

    attach a new pair of pants along one specified boundary component, with the other two boundary components of the new pants glued to each other.

    attach a new pair of pants along one specified boundary component, with the other two boundary components of the new pants glued to each other.

    pb

    pants boundary of the given surface along which to attach the new pants

    returns

    pants surface with new pants attached

  50. lazy val halfEdges: Set[Edge]
    Definition Classes
    TwoComplex
  51. lazy val indexedVertices: Set[(Vertex, Int)]
    Definition Classes
    TwoComplex
  52. val indices: Vector[Index]
  53. def innerCurves(index: Index): Int

    number of curves in the boundary of a pair of pants that are interior to the surface

  54. def isClosed: Boolean

    whether the surface is closed

    whether the surface is closed

    returns

    boolean for surface being closed

  55. def isClosedSurface: Boolean
    Definition Classes
    TwoComplex
  56. lazy val isConnected: Boolean

    whether the surface is connected

    whether the surface is connected

    returns

    connectivity

  57. def isConnectedComplex: Boolean

    Checks if the complex is connected

    Checks if the complex is connected

    returns

    connectivity

    Definition Classes
    TwoComplex
  58. def isEdgeAtBoundary(e: Edge): Boolean

    Checks if the given edge is at the boundary.

    Checks if the given edge is at the boundary. That is exactly one of e and e.flip is inside a face of the twocomplex

    Definition Classes
    TwoComplex
  59. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  60. def isSurfaceWithBoundary: Boolean

    Checks if the twoComplex is a surface with boundary

    Checks if the twoComplex is a surface with boundary

    Definition Classes
    TwoComplex
  61. val loopIndices: Set[Index]

    indices of pairs of pants for which two boundary components are glued to each other, i.e., which contain a loop.

  62. def maxSetNbr(s: Set[Vertex]): Set[Vertex]
    Definition Classes
    TwoComplex
  63. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  64. def neighbourhood(pantSet: Set[Index]): Set[Index]

    pants neighbouring a given set

    pants neighbouring a given set

    pantSet

    set whose neighbourhood is sought

    returns

    indices of the neighbouring pants

  65. def normalArcs: Set[NormalArc]
    Definition Classes
    TwoComplex
  66. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  67. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  68. val numPants: Index
  69. def orbit(e: Edge, steps: Int, opt: (Edge) => Option[Edge], accum: Set[Edge]): Set[Edge]

    auxilliary function to start with an edge and take all edges by rotating left

    auxilliary function to start with an edge and take all edges by rotating left

    Definition Classes
    TwoComplex
  70. lazy val peripheral: Set[Index]

    peripheral pairs of pants, i.e., so that the complement of the pants is connected.

    peripheral pairs of pants, i.e., so that the complement of the pants is connected.

    returns

    indices of peripheral pants

  71. lazy val positiveEdges: Vector[OrientedEdge]
    Definition Classes
    TwoComplex
  72. def predOpt(e: Edge): Option[Edge]

    given an edge, find a face whose boundary contains e (if it exists, it is unique); take the previous edge along the boundary

    given an edge, find a face whose boundary contains e (if it exists, it is unique); take the previous edge along the boundary

    Definition Classes
    TwoComplex
  73. def productElementNames: Iterator[String]
    Definition Classes
    Product
  74. def rotateLeftOpt(e: Edge): Option[Edge]

    gives the edge with same terminal vertex obtained by left rotation.

    gives the edge with same terminal vertex obtained by left rotation.

    Definition Classes
    TwoComplex
  75. def rotateRightOpt(e: Edge): Option[Edge]

    gives the edge with same terminal vertex obtained by right rotation.

    gives the edge with same terminal vertex obtained by right rotation.

    Definition Classes
    TwoComplex
  76. def setNbr(s: Set[Vertex]): Set[Vertex]
    Definition Classes
    TwoComplex
  77. def slightLeft(e: Edge): Option[Edge]

    Given e rotates left twice and flips it.

    Given e rotates left twice and flips it. This is same as rotating left once and then taking the successor.

    Definition Classes
    TwoComplex
  78. def slightRight(e: Edge): Option[Edge]

    Given e takes two right rotations and flips it.

    Given e takes two right rotations and flips it.

    Definition Classes
    TwoComplex
  79. def subComplex(vs: Set[Vertex]): TwoComplex

    Given a set of vertices gives the subcomplex on the vertices

    Given a set of vertices gives the subcomplex on the vertices

    Definition Classes
    TwoComplex
  80. def succOpt(e: Edge): Option[Edge]

    given an edge, find a face whose boundary contains e (if it exists, it is unique); take the next edge along the boundary

    given an edge, find a face whose boundary contains e (if it exists, it is unique); take the next edge along the boundary

    Definition Classes
    TwoComplex
  81. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  82. val topFaces: Vector[PantsHexagon]
  83. def transitiveRotations(v: Vertex): Boolean

    checks if we start with an edge e with v == e.terminal, using left rotations, (by iterating) we should get all edges with terminal vertex v.

    checks if we start with an edge e with v == e.terminal, using left rotations, (by iterating) we should get all edges with terminal vertex v. The naming is slightly misleading. Do give suggestions for better names

    Definition Classes
    TwoComplex
  84. def turnEdge(e: Edge, t: Int): Edge

    Gives the succeeding edge associated to a previous edge and a turning index

    Gives the succeeding edge associated to a previous edge and a turning index

    Definition Classes
    TwoComplex
  85. def turnIndex(e1: Edge, e2: Edge): Int

    Gives the designated index (1 L, 2 SL, -1 R, -2 SR, higher values by turn distance) associated to a turn

    Gives the designated index (1 L, 2 SL, -1 R, -2 SR, higher values by turn distance) associated to a turn

    Definition Classes
    TwoComplex
  86. def turnLeft(e: Edge): Option[Edge]

    Turns left in an EdgePath

    Turns left in an EdgePath

    Definition Classes
    TwoComplex
  87. def turnRight(e: Edge): Option[Edge]

    Turns right in an EdgePath

    Turns right in an EdgePath

    Definition Classes
    TwoComplex
  88. def vectorEdgesToTheLeftOf(e: Edge): Vector[Edge]

    Vector of edges to the left of an edge

    Vector of edges to the left of an edge

    Definition Classes
    TwoComplex
  89. def vectorEdgesToTheRightOf(e: Edge): Vector[Edge]

    Vector of edges to the right of an edge

    Vector of edges to the right of an edge

    Definition Classes
    TwoComplex
  90. def vectorLeftTurns(e: Edge): Vector[Edge]

    Vector of flips of edges to the left of an edge

    Vector of flips of edges to the left of an edge

    Definition Classes
    TwoComplex
  91. def vectorOrbit(e: Edge, opt: (Edge) => Option[Edge], accum: Vector[Edge]): Vector[Edge]

    Vector of edges related by a function opt to an edge, modified version of orbit

    Vector of edges related by a function opt to an edge, modified version of orbit

    Definition Classes
    TwoComplex
  92. def vectorOrbitFin(e: Edge, opt: (Edge) => Option[Edge], accum: Vector[Edge], n: Int): Vector[Edge]
    Definition Classes
    TwoComplex
  93. def vectorRightTurns(e: Edge): Vector[Edge]

    Vector of flips of edges to the right of an edge

    Vector of flips of edges to the right of an edge

    Definition Classes
    TwoComplex
  94. def vertexIndex(v: Vertex): Option[Int]
    Definition Classes
    TwoComplex
  95. def vertexNbr(v: Vertex): Set[Vertex]

    Finds neighbours of a vertex

    Finds neighbours of a vertex

    v

    the vertex

    returns

    set of neighbours

    Definition Classes
    TwoComplex
  96. lazy val vertices: Set[Vertex]
    Definition Classes
    PureTwoComplexTwoComplex
  97. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  98. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  99. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from PureTwoComplex

Inherited from TwoComplex

Inherited from AnyRef

Inherited from Any

Ungrouped