Public Member Functions | |
VisSet (Node set, Vector3f pos) | |
void | update (Node set) |
void | render (List< AWTEvent > events) |
Package Functions | |
VisNode | create (Node node, Vector3f pos) |
void | repell (DeltaVector3f p1, DeltaVector3f p2) |
void | layout () |
void | renderSelf () |
Package Attributes | |
final float | CUTOFF_DISTANCE = 30 |
final float | ATTRACT = .025f |
final float | REPELL = 20 |
HashMap< Edge, VisEdge > | edges = new HashMap<Edge,VisEdge>() |
HashMap< Node, VisNode > | nodes = new HashMap<Node,VisNode>() |
Vector3f | tmp = new Vector3f() |
Classes | |
class | DeltaVector3f |
class | VisEdge |
shows nodes (currently VisKeywords) connected by edges.
The layout is done by a physical force simulation: all nodes repell each other like electrically charged particels. all edges pull nodes together like a spring would do.
as spring forces are lineary but repellent forces are quadratic, there is a well defined local energy minimum approached by the whole graph. however it can take a long time to reach this equilibrium.
Definition at line 38 of file VisSet.java.
org.hfbk.vis.visnode.VisSet.VisSet | ( | Node | set, | |
Vector3f | pos | |||
) |
build a VisSet. it gatheres all subnodes (the graph) by itself so all this nodes are excluded from the global recursion (
set | the set root node which references all nodes | |
pos |
Definition at line 134 of file VisSet.java.
References org.hfbk.vis.visnode.VisSet.update().
Here is the call graph for this function:
factory for visualisation of Nodes. could be overridden for custom VisNode generation.
by default, we just render VisKeywords for each Node, appending the type as (type) to the keyword label.
Reimplemented in org.hfbk.vis.visnode.VisFilesys, org.hfbk.vis.visnode.VisProfiler, and org.hfbk.vis.visnode.VisPs.
Definition at line 121 of file VisSet.java.
References org.hfbk.vis.visnode.VisNode.node, org.dronus.graph.Node.text, and org.dronus.graph.Node.type.
Referenced by org.hfbk.vis.visnode.VisSet.update().
Here is the caller graph for this function:
void org.hfbk.vis.visnode.VisSet.update | ( | Node | set | ) |
builds or updates a visualisation of the node tree starting with set
Definition at line 148 of file VisSet.java.
References org.hfbk.vis.visnode.VisNode.add(), org.hfbk.vis.visnode.VisSet.create(), org.hfbk.vis.visnode.VisSet.edges, org.dronus.graph.Node.getEdges(), org.dronus.graph.Node.getFromNodes(), org.hfbk.vis.visnode.VisNode.layoutLocked, org.hfbk.vis.visnode.VisSet.nodes, and org.dronus.graph.Node.type.
Referenced by org.hfbk.vis.visnode.VisPs.renderSelf(), org.hfbk.vis.visnode.VisProfiler.renderSelf(), org.hfbk.vis.visnode.VisFilesys.renderSelf(), org.hfbk.vis.visnode.VisSet.VisSet(), and org.hfbk.vis.visnode.VisSetExample.VisSetExample().
Here is the call graph for this function:
Here is the caller graph for this function:
void org.hfbk.vis.visnode.VisSet.repell | ( | DeltaVector3f | p1, | |
DeltaVector3f | p2 | |||
) | [package] |
Definition at line 176 of file VisSet.java.
References org.hfbk.vis.visnode.VisSet.CUTOFF_DISTANCE, org.hfbk.vis.visnode.VisSet.DeltaVector3f.old, org.hfbk.vis.visnode.VisSet.REPELL, and org.hfbk.vis.visnode.VisSet.tmp.
Referenced by org.hfbk.vis.visnode.VisSet.layout().
Here is the caller graph for this function:
void org.hfbk.vis.visnode.VisSet.render | ( | List< AWTEvent > | events | ) |
recursively renders this node and all children.
we do some culling of objects spherical extends against the view frustum. for problems see
Reimplemented from org.hfbk.vis.visnode.VisNode.
Definition at line 195 of file VisSet.java.
void org.hfbk.vis.visnode.VisSet.layout | ( | ) | [package] |
Definition at line 209 of file VisSet.java.
References org.hfbk.vis.visnode.VisSet.ATTRACT, org.hfbk.vis.visnode.VisNode.children, org.hfbk.vis.visnode.VisSet.CUTOFF_DISTANCE, org.hfbk.vis.visnode.VisSet.edges, org.hfbk.vis.visnode.VisSet.VisEdge.force, org.hfbk.vis.visnode.VisSet.VisEdge.from, org.hfbk.vis.visnode.VisSet.repell(), org.hfbk.vis.visnode.VisSet.tmp, and org.hfbk.vis.visnode.VisSet.VisEdge.to.
Referenced by org.hfbk.vis.visnode.VisSet.renderSelf().
Here is the call graph for this function:
Here is the caller graph for this function:
void org.hfbk.vis.visnode.VisSet.renderSelf | ( | ) | [package, virtual] |
do one layout step and draw edges. nodes are not drawn herein but as as usual child VisNodes.
Implements org.hfbk.vis.visnode.VisNode.
Reimplemented in org.hfbk.vis.visnode.VisFilesys, org.hfbk.vis.visnode.VisProfiler, org.hfbk.vis.visnode.VisPs, and org.hfbk.vis.visnode.VisSetExample.
Definition at line 280 of file VisSet.java.
References org.hfbk.vis.visnode.VisSet.edges, org.hfbk.vis.visnode.VisSet.layout(), org.hfbk.vis.visnode.VisNode.layoutLocked, and org.hfbk.vis.visnode.VisSet.VisEdge.renderSelf().
Here is the call graph for this function:
final float org.hfbk.vis.visnode.VisSet.CUTOFF_DISTANCE = 30 [package] |
distance where the repelling field drops to zero.
Definition at line 41 of file VisSet.java.
Referenced by org.hfbk.vis.visnode.VisSet.layout(), and org.hfbk.vis.visnode.VisSet.repell().
final float org.hfbk.vis.visnode.VisSet.ATTRACT = .025f [package] |
spring force attracting nodes along edges
Definition at line 45 of file VisSet.java.
Referenced by org.hfbk.vis.visnode.VisSet.layout().
final float org.hfbk.vis.visnode.VisSet.REPELL = 20 [package] |
HashMap<Edge,VisEdge> org.hfbk.vis.visnode.VisSet.edges = new HashMap<Edge,VisEdge>() [package] |
edges are no childs currently.
Definition at line 113 of file VisSet.java.
Referenced by org.hfbk.vis.visnode.VisSet.layout(), org.hfbk.vis.visnode.VisSet.renderSelf(), and org.hfbk.vis.visnode.VisSet.update().
HashMap<Node, VisNode> org.hfbk.vis.visnode.VisSet.nodes = new HashMap<Node,VisNode>() [package] |
Definition at line 145 of file VisSet.java.
Referenced by org.hfbk.vis.visnode.VisProfiler.profile(), and org.hfbk.vis.visnode.VisSet.update().
Vector3f org.hfbk.vis.visnode.VisSet.tmp = new Vector3f() [package] |
Definition at line 175 of file VisSet.java.
Referenced by org.hfbk.vis.visnode.VisSet.layout(), org.hfbk.vis.visnode.VisProfiler.profile(), and org.hfbk.vis.visnode.VisSet.repell().