org.hfbk.vis.visnode.VisSet Class Reference

Inheritance diagram for org.hfbk.vis.visnode.VisSet:

Inheritance graph
Collaboration diagram for org.hfbk.vis.visnode.VisSet:

Collaboration graph
List of all members.

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, VisEdgeedges = new HashMap<Edge,VisEdge>()
HashMap< Node, VisNodenodes = new HashMap<Node,VisNode>()
Vector3f tmp = new Vector3f()


class  DeltaVector3f
class  VisEdge

Detailed Description

a real graph (sub-)set "set" refers to the fact that this can be any subset of nodes of a graph.

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

Constructor & Destructor Documentation

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 (

See also:
org.hfbk.vis.VisRoot.recurseNodes) by deletion herein.
set the set root node which references all nodes

Definition at line 134 of file

References org.hfbk.vis.visnode.VisSet.update().

Here is the call graph for this function:

Member Function Documentation

VisNode org.hfbk.vis.visnode.VisSet.create ( Node  node,
Vector3f  pos 
) [package]

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

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

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

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

See also:

Reimplemented from org.hfbk.vis.visnode.VisNode.

Definition at line 195 of file

void org.hfbk.vis.visnode.VisSet.layout (  )  [package]

Definition at line 209 of file

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

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

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:

Member Data Documentation

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

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

Referenced by org.hfbk.vis.visnode.VisSet.layout().

final float org.hfbk.vis.visnode.VisSet.REPELL = 20 [package]

Definition at line 47 of file

Referenced by org.hfbk.vis.visnode.VisSet.repell().

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

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

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

Referenced by org.hfbk.vis.visnode.VisSet.layout(), org.hfbk.vis.visnode.VisProfiler.profile(), and org.hfbk.vis.visnode.VisSet.repell().

The documentation for this class was generated from the following file:
Generated on Tue Apr 7 17:59:59 2009 for visclient by  doxygen 1.5.1