VisClient/org/hfbk/vis/visnode/VisSerializer.java

Go to the documentation of this file.
00001 package org.hfbk.vis.visnode;
00002 
00003 import org.dronus.graph.Node;
00004 import org.lwjgl.util.vector.Vector3f;
00005 
00006 public class VisSerializer {
00007         
00008         public static Node buildNode(VisNode vn){
00009                 
00010                 String type=vn.getClass().getSimpleName().substring(3);
00011                 type=Character.toLowerCase(type.charAt(0))+type.substring(1);
00012                 
00013                 String text;
00014                 if (vn.node!=null)
00015                         text=vn.node.text;
00016                 else
00017                         text="unnamed";
00018                 
00019                 Node n=new Node((text+type).hashCode(), text, type);
00020 
00021                 return n;
00022         }
00023         
00024         public static String buildScript(VisNode vn){
00025                 Vector3f pos=vn.position;
00026                 Node n=buildNode(vn);
00027                 String script="node=parent.add(new "+vn.getClass().getSimpleName()+"(new Node('"+n.text+"'), new Vector3f("+pos.x+","+pos.y+","+pos.z+"));\n";          
00028         
00029                 return script;
00030         }
00031         
00032         public static String buildTreeScript(VisNode vn){
00033                 String script=buildScript(vn);
00034                 
00035                 if (vn.children.size()>0){
00036                         script+="parent=node;\n";
00037                         for (VisNode c: vn.children)
00038                                 script+=buildTreeScript(c);
00039                         script+="parent=parent.parent;\n";                      
00040                 }
00041                 return script;
00042         }
00043         
00044         public static String vs(VisNode vn){
00045                 return "parent=root;\n"+buildTreeScript(vn);
00046         }
00047 }
00048 

Generated on Tue Apr 7 17:57:22 2009 for visclient by  doxygen 1.5.1