t

superficial

# TwoComplex

### Companion object TwoComplex

#### traitTwoComplex extends AnyRef

A polyheadral two complex, with faces polygons, a collection of edges and

Self Type
TwoComplex
Linear Supertypes
AnyRef, Any
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. TwoComplex
2. AnyRef
3. Any
1. Hide All
2. Show All
Visibility
1. Public
2. Protected

### Abstract Value Members

1. abstract val edges: Set[Edge]
2. abstract val faces: Set[Polygon]
3. abstract val vertices: Set[Vertex]

### Concrete 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

5. def R(e: Edge): Edge

Forced version of turnRight, for geodesics and edgepaths

6. def SL(e: Edge): Edge

Forced version of slightLeft, for geodesics and edgepaths

7. def SR(e: Edge): Edge

Forced version of slightRight, for geodesics and edgepaths

8. def SwL(e: Edge): Edge

Forced swivelLeft, for geodesics and edgepaths

9. def SwR(e: Edge): Edge

Forced swivelRight, for geodesics and edgepaths

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

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

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

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

14. def allEdgesToTheLeftOf(e: Edge): Set[Edge]

all edges to the left of the edge e including itself

15. def allEdgesToTheRightOf(e: Edge): Set[Edge]

all edges to the left of the edge e including itself

16. 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

17. final def asInstanceOf[T0]: T0
Definition Classes
Any
18. def checkComplex: Boolean
19. lazy val chi: Int
20. def clone(): AnyRef
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
21. def collapseEdge(e: Edge): (TwoComplex, ((EdgePath) => EdgePath, (EdgePath) => EdgePath))
22. 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

23. def degree(v: Vertex): Int

The degree of a vertex

24. def edgeIndex(edge: Edge): Option[(Int, Boolean)]
25. def edgeIndices(edge: Edge): Set[(Polygon, Index, Boolean)]
26. def edgeOccurences(e: Edge): Int

Occurences of edges in faces, counting multiplicity

27. def edgesEndingAt(v: Vertex): Set[Edge]

set of all edges ending at v

28. final def eq(arg0: AnyRef): Boolean
Definition Classes
AnyRef
29. def equals(arg0: AnyRef): Boolean
Definition Classes
AnyRef → Any
30. def facesWithEdge(edge: Edge): Set[Polygon]
31. final def getClass(): Class[_ <: AnyRef]
Definition Classes
AnyRef → Any
Annotations
@native() @HotSpotIntrinsicCandidate()
32. lazy val halfEdges: Set[Edge]
33. def hashCode(): Int
Definition Classes
AnyRef → Any
Annotations
@native() @HotSpotIntrinsicCandidate()
34. lazy val indexedVertices: Set[(Vertex, Int)]
35. def isClosedSurface: Boolean
36. def isConnectedComplex: Boolean

Checks if the complex is connected

Checks if the complex is connected

returns

connectivity

37. 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

38. final def isInstanceOf[T0]: Boolean
Definition Classes
Any
39. def isSurfaceWithBoundary: Boolean

Checks if the twoComplex is a surface with boundary

40. def maxSetNbr(s: Set[Vertex]): Set[Vertex]
41. final def ne(arg0: AnyRef): Boolean
Definition Classes
AnyRef
42. def normalArcs: Set[NormalArc]
43. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native() @HotSpotIntrinsicCandidate()
44. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native() @HotSpotIntrinsicCandidate()
45. 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

46. lazy val positiveEdges: Vector[OrientedEdge]
47. 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

48. def rotateLeftOpt(e: Edge): Option[Edge]

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

49. def rotateRightOpt(e: Edge): Option[Edge]

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

50. def setNbr(s: Set[Vertex]): Set[Vertex]
51. 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.

52. def slightRight(e: Edge): Option[Edge]

Given e takes two right rotations and flips it.

53. def subComplex(vs: Set[Vertex])

Given a set of vertices gives the subcomplex on the vertices

54. 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

55. final def synchronized[T0](arg0: => T0): T0
Definition Classes
AnyRef
56. def toString()
Definition Classes
AnyRef → Any
57. 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

58. def turnEdge(e: Edge, t: Int): Edge

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

59. 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

60. def turnLeft(e: Edge): Option[Edge]

Turns left in an EdgePath

61. def turnRight(e: Edge): Option[Edge]

Turns right in an EdgePath

62. def vectorEdgesToTheLeftOf(e: Edge): Vector[Edge]

Vector of edges to the left of an edge

63. def vectorEdgesToTheRightOf(e: Edge): Vector[Edge]

Vector of edges to the right of an edge

64. def vectorLeftTurns(e: Edge): Vector[Edge]

Vector of flips of edges to the left of an edge

65. 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

66. def vectorOrbitFin(e: Edge, opt: (Edge) => Option[Edge], accum: Vector[Edge], n: Int): Vector[Edge]
67. def vectorRightTurns(e: Edge): Vector[Edge]

Vector of flips of edges to the right of an edge

68. def vertexIndex(v: Vertex): Option[Int]
69. def vertexNbr(v: Vertex): Set[Vertex]

Finds neighbours of a vertex

Finds neighbours of a vertex

v

the vertex

returns

set of neighbours

70. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])
71. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()
72. 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