Ejemplo n.º 1
0
        public override object visit(GraphEdge edge)
        {
            Pen p;

            if (edge.IsLoop)
            {
                p = new Pen(Brushes.Green, 2.0f);
            }
            else
            {
                p = new Pen(Brushes.Black);
            }
            p.EndCap = LineCap.ArrowAnchor;
            Point p2 = intersectLineCircle(edge.From.Location, edge.To.Location, edge.To.Location, edge.To.Height / 2);
            Point p1 = intersectLineCircle(edge.To.Location, edge.From.Location, edge.From.Location, edge.From.Height / 2);

            m_gc.DrawLine(p, p1.X,
                          p1.Y,
                          p2.X,
                          p2.Y);
            if (!edge.IsLoop && edge.From == GraphNode.getFirstNonLoopingPredecessor(edge.To))
            {
                edge.To.getVisited(this);
            }
            return(null);
        }
Ejemplo n.º 2
0
 public override object visit(GraphEdge edge)
 {
     m_edges.Add(edge);
     //not looping and not second pass
     if (!edge.IsLoop && edge.From == GraphNode.getFirstNonLoopingPredecessor(edge.To))
     {
         edge.To.getVisited(this);
     }
     return(null);
 }
Ejemplo n.º 3
0
        public override object visit(GraphEdge edge)
        {
            int frm = m_flatter.Nodes.IndexOf(edge.From);
            int to  = m_flatter.Nodes.IndexOf(edge.To);

            m_cmd.CommandText = "INSERT INTO room_connections (frm, too, chid, type) VALUES (" + frm + ", " + to + ",0 , 0);";
            m_cmd.ExecuteNonQuery();
            if (!edge.IsLoop && edge.From == GraphNode.getFirstNonLoopingPredecessor(edge.To))
            {
                edge.To.getVisited(this);
            }
            return(null);
        }
Ejemplo n.º 4
0
        public override object visit(GraphEdge edge)
        {
            if (edge.IsLoop || edge.From != GraphNode.getFirstNonLoopingPredecessor(edge.To))
            {
                return(null);
            }
            object found = edge.To.getVisited(this);

            if (found != null)
            {
                return(found);
            }
            return(null);
        }