case class SkewCurve(left: PantsBoundary, right: PantsBoundary, twist: Double, length: Double) extends Product with Serializable
A curve in the curve system for a pants decomposition for a hyperbolic surface obtained by twisting and regluing along the pants system Twists and vertex positions are parametrized as fractions of the length, so are in [0, 1].
Generically, there are 4 vertices, two at 0 and 0.5 and the other two at twist
and twist + 0.5 (mod 1)
.
- left
the pants boundary to the left
- right
the pants boundary to the right
- twist
the twist, parametrized as a fraction of the length, so is in [0, 1]
- length
the length of the curve in the hyperbolic structure.
- Self Type
- SkewCurve
- Alphabetic
- By Inheritance
- SkewCurve
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SkewCurve(left: PantsBoundary, right: PantsBoundary, twist: Double, length: Double)
- left
the pants boundary to the left
- right
the pants boundary to the right
- twist
the twist, parametrized as a fraction of the length, so is in [0, 1]
- length
the length of the curve in the hyperbolic structure.
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def base: Curve
the corresponding curve in the untwisted surface
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def contains(pb: PantsBoundary): Boolean
whether a pants boundary is contained in the curve
whether a pants boundary is contained in the curve
- pb
a pants boundary
- returns
boolean for containment
- def edgesOn(left: Boolean, top: Boolean): Vector[Edge]
the edges in the twisted pants complex on an edge in a pants boundary adjacent to the given curve; a pair of edges if twisted, otherwise a single edge
the edges in the twisted pants complex on an edge in a pants boundary adjacent to the given curve; a pair of edges if twisted, otherwise a single edge
- left
whether the pants we consider are on the left
- top
whether we consider the top edge
- returns
edges in the twisted pants complex
- def edgesToOppositeVertex(position: Double, positivelyOriented: Boolean): Vector[Edge]
edges between the given vertex and the opposite one along the given orientation; a single edge if untwisted and two edges if twisted
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def initPos(left: Boolean): Double
position of the first vertex on the given pants boundary in the curve after gluing with a twist
position of the first vertex on the given pants boundary in the curve after gluing with a twist
- left
whether we consider the pants
- returns
position
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val left: PantsBoundary
- val length: Double
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val neighbours: Set[Index]
(indices of) adjacent pairs of pants
- def nextVertex(position: Double): Double
the postion of the next vertex (in [0, 1))
the postion of the next vertex (in [0, 1))
- position
position of the given vertex
- returns
position of the next vertex
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def previousVertex(position: Double): Double
the postion of the previous vertex (in [0, 1))
the postion of the previous vertex (in [0, 1))
- position
position of the given vertex
- returns
position of the previous vertex
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val right: PantsBoundary
- val shift: Double
the position (in [0, 1]) of the next vertex after 0; the next vertex after 0.5 is
0.5 + shift
. - def shiftedVertex(position: Double, positivelyOriented: Boolean): Double
position of the next vertex along the orientation
position of the next vertex along the orientation
- position
position of the present vertex
- positivelyOriented
whether orientation is poistive
- returns
position of the next vertex along the orientation
- val skewLess: Boolean
whether the vertices and edges of the two pants match, either directly or with exchange; this also determines whether the number of vertices is 2 (otherwise it is 4)
- val support: Set[PantsBoundary]
the pants boundaries identified to get this curve.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val twist: Double
- def verticesOn(left: Boolean, top: Boolean): Set[Vertex]
the vertices in the twisted pants complex on an edge in a pants boundary adjacent to the given curve; three vertices if twisted, otherwise two vertices
the vertices in the twisted pants complex on an edge in a pants boundary adjacent to the given curve; three vertices if twisted, otherwise two vertices
- left
whether the pants we consider are on the left
- top
whether we consider the top edge
- returns
vertices in the twisted pants complex
- def verticesToOppositeVertex(position: Double, positivelyOriented: Boolean): Set[Vertex]
vetices on edges between the given vertex and the opposite vertex along the given orientation; we have a single edge, hence two vertices, if untwisted and two edges, hence three vertices, if twisted
- 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