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
- Alphabetic
- By Inheritance
- PantsSurface
- Serializable
- Product
- Equals
- PureTwoComplex
- TwoComplex
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def L(e: Edge): Edge
Forced version of turnLeft, for geodesics and edgepaths
Forced version of turnLeft, for geodesics and edgepaths
- Definition Classes
- TwoComplex
- def R(e: Edge): Edge
Forced version of turnRight, for geodesics and edgepaths
Forced version of turnRight, for geodesics and edgepaths
- Definition Classes
- TwoComplex
- def SL(e: Edge): Edge
Forced version of slightLeft, for geodesics and edgepaths
Forced version of slightLeft, for geodesics and edgepaths
- Definition Classes
- TwoComplex
- def SR(e: Edge): Edge
Forced version of slightRight, for geodesics and edgepaths
Forced version of slightRight, for geodesics and edgepaths
- Definition Classes
- TwoComplex
- def SwL(e: Edge): Edge
Forced swivelLeft, for geodesics and edgepaths
Forced swivelLeft, for geodesics and edgepaths
- Definition Classes
- TwoComplex
- def SwR(e: Edge): Edge
Forced swivelRight, for geodesics and edgepaths
Forced swivelRight, for geodesics and edgepaths
- Definition Classes
- TwoComplex
- 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
- 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
- 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
- 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
- val allCurves: Set[PantsBoundary]
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val boundaryCurves: Set[PantsBoundary]
curves in the boundary; we can attach other pairs of pants to these.
- val boundaryIndices: Set[Index]
indices of pants that intersect the boundary of the surface
- def checkComplex: Boolean
- Definition Classes
- TwoComplex
- lazy val chi: Int
- Definition Classes
- TwoComplex
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def collapseEdge(e: Edge): (TwoComplex, ((EdgePath) => EdgePath, (EdgePath) => EdgePath))
- Definition Classes
- TwoComplex
- 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()
- 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
- val cs: Set[Curve]
- val csSupp: Set[PantsBoundary]
- def degree(v: Vertex): Int
The degree of a vertex
The degree of a vertex
- Definition Classes
- TwoComplex
- def drop(n: Index): PantsSurface
surface obtained by deleting a pair of pants
- def edgeIndex(edge: Edge): Option[(Int, Boolean)]
- Definition Classes
- TwoComplex
- def edgeIndices(edge: Edge): Set[(Polygon, Index, Boolean)]
- Definition Classes
- TwoComplex
- def edgeOccurences(e: Edge): Int
Occurences of edges in faces, counting multiplicity
Occurences of edges in faces, counting multiplicity
- Definition Classes
- TwoComplex
- lazy val edges: Set[Edge]
- Definition Classes
- PureTwoComplex → TwoComplex
- def edgesEndingAt(v: Vertex): Set[Edge]
set of all edges ending at v
set of all edges ending at v
- Definition Classes
- TwoComplex
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val faces: Set[Polygon]
- Definition Classes
- PantsSurface → PureTwoComplex → TwoComplex
- def facesWithEdge(edge: Edge): Set[Polygon]
- Definition Classes
- TwoComplex
- val fundamentalClass: FormalSum[Polygon]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- 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
- 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
- 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
- lazy val halfEdges: Set[Edge]
- Definition Classes
- TwoComplex
- lazy val indexedVertices: Set[(Vertex, Int)]
- Definition Classes
- TwoComplex
- val indices: Vector[Index]
- def innerCurves(index: Index): Int
number of curves in the boundary of a pair of pants that are interior to the surface
- def isClosed: Boolean
whether the surface is closed
whether the surface is closed
- returns
boolean for surface being closed
- def isClosedSurface: Boolean
- Definition Classes
- TwoComplex
- lazy val isConnected: Boolean
whether the surface is connected
whether the surface is connected
- returns
connectivity
- def isConnectedComplex: Boolean
Checks if the complex is connected
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isSurfaceWithBoundary: Boolean
Checks if the twoComplex is a surface with boundary
Checks if the twoComplex is a surface with boundary
- Definition Classes
- TwoComplex
- 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.
- def maxSetNbr(s: Set[Vertex]): Set[Vertex]
- Definition Classes
- TwoComplex
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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
- def normalArcs: Set[NormalArc]
- Definition Classes
- TwoComplex
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val numPants: Index
- 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
- 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
- lazy val positiveEdges: Vector[OrientedEdge]
- Definition Classes
- TwoComplex
- 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
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- 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
- 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
- def setNbr(s: Set[Vertex]): Set[Vertex]
- Definition Classes
- TwoComplex
- 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
- 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
- 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
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val topFaces: Vector[PantsHexagon]
- 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
- 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
- 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
- def turnLeft(e: Edge): Option[Edge]
Turns left in an EdgePath
Turns left in an EdgePath
- Definition Classes
- TwoComplex
- def turnRight(e: Edge): Option[Edge]
Turns right in an EdgePath
Turns right in an EdgePath
- Definition Classes
- TwoComplex
- 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
- 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
- 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
- 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
- def vectorOrbitFin(e: Edge, opt: (Edge) => Option[Edge], accum: Vector[Edge], n: Int): Vector[Edge]
- Definition Classes
- TwoComplex
- 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
- def vertexIndex(v: Vertex): Option[Int]
- Definition Classes
- TwoComplex
- def vertexNbr(v: Vertex): Set[Vertex]
Finds neighbours of a vertex
- lazy val vertices: Set[Vertex]
- Definition Classes
- PureTwoComplex → TwoComplex
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated