trait TwoComplex extends AnyRef
A polyheadral two complex, with faces polygons, a collection of edges and
- Self Type
- TwoComplex
- Alphabetic
- By Inheritance
- TwoComplex
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
Concrete 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
- def R(e: Edge): Edge
Forced version of turnRight, for geodesics and edgepaths
- def SL(e: Edge): Edge
Forced version of slightLeft, for geodesics and edgepaths
- def SR(e: Edge): Edge
Forced version of slightRight, for geodesics and edgepaths
- def SwL(e: Edge): Edge
Forced swivelLeft, for geodesics and edgepaths
- def SwR(e: Edge): Edge
Forced swivelRight, for geodesics and edgepaths
- 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.
- def addFaces(fcs: Set[Polygon]): TwoComplex
Given a set of faces fcs gives the TwoComplex got by adding fcs to the existing twoComplex.
- def addTwoComplexes(complexes: Set[TwoComplex]): TwoComplex
Gives the result of adding the given set of twocomplexes to the existing one.
- 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
- def allEdgesToTheLeftOf(e: Edge): Set[Edge]
all edges to the left of the edge e including itself
- def allEdgesToTheRightOf(e: Edge): Set[Edge]
all edges to the left of the edge e including itself
- 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def checkComplex: Boolean
- lazy val chi: Int
- 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))
- 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
- def degree(v: Vertex): Int
The degree of a vertex
- def edgeIndex(edge: Edge): Option[(Int, Boolean)]
- def edgeIndices(edge: Edge): Set[(Polygon, Index, Boolean)]
- def edgeOccurences(e: Edge): Int
Occurences of edges in faces, counting multiplicity
- def edgesEndingAt(v: Vertex): Set[Edge]
set of all edges ending at v
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def facesWithEdge(edge: Edge): Set[Polygon]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- lazy val halfEdges: Set[Edge]
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- lazy val indexedVertices: Set[(Vertex, Int)]
- def isClosedSurface: Boolean
- def isConnectedComplex: Boolean
Checks if the complex is connected
Checks if the complex is connected
- returns
connectivity
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isSurfaceWithBoundary: Boolean
Checks if the twoComplex is a surface with boundary
- def maxSetNbr(s: Set[Vertex]): Set[Vertex]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def normalArcs: Set[NormalArc]
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- lazy val positiveEdges: Vector[OrientedEdge]
- 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
- def rotateLeftOpt(e: Edge): Option[Edge]
gives the edge with same terminal vertex obtained by left rotation.
- def rotateRightOpt(e: Edge): Option[Edge]
gives the edge with same terminal vertex obtained by right rotation.
- def setNbr(s: Set[Vertex]): Set[Vertex]
- 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.
- def slightRight(e: Edge): Option[Edge]
Given e takes two right rotations and flips it.
- def subComplex(vs: Set[Vertex]): TwoComplex
Given a set of vertices gives the subcomplex on the vertices
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- def turnEdge(e: Edge, t: Int): Edge
Gives the succeeding edge associated to a previous edge and a turning index
- 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
- def turnLeft(e: Edge): Option[Edge]
Turns left in an EdgePath
- def turnRight(e: Edge): Option[Edge]
Turns right in an EdgePath
- def vectorEdgesToTheLeftOf(e: Edge): Vector[Edge]
Vector of edges to the left of an edge
- def vectorEdgesToTheRightOf(e: Edge): Vector[Edge]
Vector of edges to the right of an edge
- def vectorLeftTurns(e: Edge): Vector[Edge]
Vector of flips of edges to the left of an edge
- 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
- def vectorOrbitFin(e: Edge, opt: (Edge) => Option[Edge], accum: Vector[Edge], n: Int): Vector[Edge]
- def vectorRightTurns(e: Edge): Vector[Edge]
Vector of flips of edges to the right of an edge
- def vertexIndex(v: Vertex): Option[Int]
- def vertexNbr(v: Vertex): Set[Vertex]
Finds neighbours of a vertex
Finds neighbours of a vertex
- v
the vertex
- returns
set of neighbours
- 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