예제 #1
0
        private void AddTerminalRay(Vertex source)
        {
            BisectorVertex vertex = skeleton.Find(new BisectorVertex(source.Position));

            Debug.Assert(vertex != null);
            vertex.Direction = source.Direction;
        }
예제 #2
0
            public override bool Equals(object obj)
            {
                // Deliberately does not use the direction field
                BisectorVertex vertex = obj as BisectorVertex;

                return(vertex != null && position.Equals(vertex.position));
            }
예제 #3
0
        private void AddArc(Vertex source, Vertex target)
        {
            BisectorVertex sourceVertex = new BisectorVertex(source.Position);
            BisectorVertex targetVertex = new BisectorVertex(target.Position);

            sourceVertex = skeleton.Add(sourceVertex);
            targetVertex = skeleton.Add(targetVertex);
            skeleton.AddEdge(sourceVertex, targetVertex);
        }
예제 #4
0
 public BisectorVertex(BisectorVertex other) :
     base(other)
 {
     this.position  = other.position;
     this.direction = other.direction;
 }