Exemple #1
0
        private ReadOnlyCollection <Vector2> GenerateDeadEnd(HalfEdge <IVertexBuilder, IHalfEdgeBuilder, IFaceBuilder> a)
        {
            Contract.Requires(a != null);

            //Get the builder for the edge ending at _vertex
            var b = a.BuilderEndingWith(_vertex);

            var ld = b.Left.ClosestPointDistanceAlongLine(_vertex.Position);

            b.LeftEnd = b.Left.Position + b.Left.Direction * ld;

            var rd = b.Right.ClosestPointDistanceAlongLine(_vertex.Position);

            b.RightEnd = b.Right.Position + b.Right.Direction * rd;

            //Dead ends do not create *any* junction, so return null for the junction shape
            return(null);
        }