Package urban.shapes

Examples of urban.shapes.Node


     
      int i=1;
      while(!q.isEmpty()){
        RuleGraph graph = q.poll();
       
        Node root = graph.getRoot();
        if (root instanceof BondNode){
          Iterator<Entry<Link, RuleGraph>> children = sorted(graph.getChildren()).iterator();
          Entry<Link, RuleGraph> entry1 = children.next();
          Entry<Link, RuleGraph> entry2 = children.next();
         
          Node a = entry1.getValue().getRoot();
          Node b = entry2.getValue().getRoot();
          get(rhs,a).add(new Site(a.getName(), entry1.getKey().getDst(), null, ""+i));
          get(rhs,b).add(new Site(b.getName(), entry2.getKey().getDst(), null, ""+i));
          i++;
          q.add(entry1.getValue());
          q.add(entry2.getValue());
        } else {
          ordering.add(root);
          String agent = root.getName();
          List<Site> sitesL = get(lhs, root);
          List<Site> sitesR = get(rhs, root);
          addAll(sitesL, root.getSitesL());
          addAll(sitesR, root.getSitesR());
          for(Entry<Link, RuleGraph> e : sorted(graph.getChildren())){
            if (e.getValue() == null){
              String siteName = e.getKey().getSrc();
              sitesL.add(new Site(agent, siteName, null, "_"));
              sitesR.add(new Site(agent, siteName, null, "_"));         
            } else {
              if (!lhs.containsKey(e.getValue().getRoot())){
                q.add(e.getValue());
              }
              String src = e.getKey().getSrc();
              sitesL.add(new Site(agent, src, null, ""+i));
              sitesR.add(new Site(agent, src, null, ""+i));
              Node root2 = e.getValue().getRoot();
              String dst = e.getKey().getDst();
              get(lhs, root2).add(new Site(root2.getName(), dst, null, ""+i));
              get(rhs, root2).add(new Site(root2.getName(), dst, null, ""+i));       
              i++;
            }
          }
        }
      }
View Full Code Here


          Pair<Agent,Site> p2 = data.getLinked(aL, m);
          if (p2 != null){
            Agent a = p2.fst;
            int indexOf = data.lhs.indexOf(a);
            if (data.rgArrays[indexOf] == null){
              data.rgArrays[indexOf] = new RuleGraph(new Node(a));
              data.q.add(pairOf(a,data.rgArrays[indexOf]));
            }
            RuleGraph value = data.rgArrays[indexOf];
            current.addChild(new Link(s.getName(),p2.snd.getName()), value);
          }
View Full Code Here

  private RuleGraph createRoot(Shape.ShapePlusSite arg0, Data d) {
    RuleGraph rg;
    Site s = arg0.site;
    if (s.getState() == null){
      rg = new RuleGraph(new BondNode());
      RuleGraph r1 = new RuleGraph(new Node(arg0.agent));
      final Link key = new Link("1",s.getName());
      if (template == null){
        rg.addChild(key, r1);
        d.q.add(pairOf(arg0.agent, r1));
      } else {
View Full Code Here

  private Pair<Agent, RuleGraph> createRuleGraph(Data d, RuleGraph rg, Agent fst, Site s) {
    String bindingMark = s.getBindingMark();
 
    Pair<Agent,Site> other = d.getLinked(fst, bindingMark);
    if (other != null){
      RuleGraph r2 = new RuleGraph(new Node(other.fst));
      rg.addChild(new Link("2",other.snd.getName()), r2);
      return pairOf(other.fst, r2);
    }

    return null;
View Full Code Here

        if (m != null && !"?".equals(m) && !"_".equals(m)){
          Agent a = getLinked(aL, m, data.first, data.second);
          if (a != null){
            int indexOf = data.lhs.indexOf(a);
            if (data.rgArrays[indexOf] == null){
              data.rgArrays[indexOf] = new RuleGraph(new Node(a));
              data.q.add(pairOf(a,data.rgArrays[indexOf]));
            }
            RuleGraph value = data.rgArrays[indexOf];
            current.addChild(new Link(s.getName(),getSiteName(a,m)), value);
          }
View Full Code Here

      } else {
        result = new RuleGraph(new BondNode());
        int i=0;
       
        i = data.lhs.indexOf(bondA);
        RuleGraph r1 = data.rgArrays[i] = new RuleGraph(new Node(reverse ? data.rhs.get(i) : bondA));
        result.addChild(new Link("1",siteA.getName()), r1);

        i = data.lhs.indexOf(bondB);
        RuleGraph r2 = data.rgArrays[i] = new RuleGraph(new Node(reverse ? data.rhs.get(i) : bondB));
        result.addChild(new Link("2",siteB.getName()), r2);       

        data.q.add(pairOf(bondA, r1));
        data.q.add(pairOf(bondB, r2));
      }
View Full Code Here

TOP

Related Classes of urban.shapes.Node

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.