org.wilmascope.viewplugin
Class LineEdgeView

java.lang.Object
  extended by org.wilmascope.patterns.Prototype
      extended by org.wilmascope.view.GraphElementView
          extended by org.wilmascope.view.EdgeView
              extended by org.wilmascope.viewplugin.LineEdgeView
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, EdgeAbility, EdgeView, Viewable, NodeGeometryObserver, View2D

public class LineEdgeView
extends EdgeView
implements NodeGeometryObserver

Uses OpenGL (or DirectX) line segment primitive for super-fast rendering. Lines colouring is smoothly graded from start node colour to end node colour if used with LineNode.

Author:
dwyer
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.wilmascope.view.GraphElementView
t3d
 
Constructor Summary
LineEdgeView()
           
 
Method Summary
 void draw()
          draw the edge correctly between the start and end nodes
 void draw2D(Renderer2D r, java.awt.Graphics2D g, float transparency)
          2D version of line edge is just a two colour solid line.
 javax.swing.ImageIcon getIcon()
           
protected  void init()
          you must over-ride the following method to create the 3D Shapes which will represent your graph elements
 void nodeGeometryChanged(NodeView nv)
          The node being observed will notify the observer with this method
 void setEndColour(javax.vecmath.Color3f c)
           
 void setStartColour(javax.vecmath.Color3f c)
           
protected  void setupDefaultMaterial()
          Sets the default material for graph elements You must over-ride this abstract method stub with: setupDefaultAppearance(myDefaultMaterial);
protected  void setupHighlightMaterial()
          You must over-ride this method with: setupHighlightAppearance(myHighLightedMaterial)
 
Methods inherited from class org.wilmascope.view.EdgeView
getEdge, getPositionAngle, getPositionVector, getProperties, getRadius, setEdge, setHueByWeight, setMultiEdgeOffset, setProperties, setRadius, showLabel
 
Methods inherited from class org.wilmascope.view.GraphElementView
addLabel, addLiveBranch, addPickingClient, addShape, addTransformGroupChild, defaultColour, delete, getAppearance, getAxisAngle4f, getBranchGroup, getColor3f, getColour, getDefaultColour, getGraphCanvas, getLabel, getTransformGroup, getUserData, hide, highlightColour, initGraphElement, isDefaultColour, makePickable, picked, removeLabel, removePickingClient, setColour, setColour, setColour, setFullTransform, setFullTransform, setLabel, setLabel, setLabel, setPickable, setResizeTranslateTransform, setTransformGroupTransform, setTranslation, setTransparencyAttributes, setupDefaultAppearance, setupHighlightAppearance, setUserData, show, transform
 
Methods inherited from class org.wilmascope.patterns.Prototype
clone, getTypeName, setTypeName
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.wilmascope.graph.Viewable
delete, hide, setPickable, show
 

Constructor Detail

LineEdgeView

public LineEdgeView()
Method Detail

setupHighlightMaterial

protected void setupHighlightMaterial()
Description copied from class: GraphElementView
You must over-ride this method with: setupHighlightAppearance(myHighLightedMaterial)

Specified by:
setupHighlightMaterial in class GraphElementView

setupDefaultMaterial

protected void setupDefaultMaterial()
Description copied from class: GraphElementView
Sets the default material for graph elements You must over-ride this abstract method stub with: setupDefaultAppearance(myDefaultMaterial);

Specified by:
setupDefaultMaterial in class GraphElementView

init

protected void init()
Description copied from class: GraphElementView
you must over-ride the following method to create the 3D Shapes which will represent your graph elements

Specified by:
init in class GraphElementView

draw

public void draw()
Description copied from class: EdgeView
draw the edge correctly between the start and end nodes

Specified by:
draw in interface Viewable
Overrides:
draw in class EdgeView

draw2D

public void draw2D(Renderer2D r,
                   java.awt.Graphics2D g,
                   float transparency)
2D version of line edge is just a two colour solid line. First half line is coloured same as start node Second half is coloured as for end node

Specified by:
draw2D in interface View2D
Overrides:
draw2D in class EdgeView

setStartColour

public void setStartColour(javax.vecmath.Color3f c)

setEndColour

public void setEndColour(javax.vecmath.Color3f c)

getIcon

public javax.swing.ImageIcon getIcon()
Overrides:
getIcon in class EdgeView

nodeGeometryChanged

public void nodeGeometryChanged(NodeView nv)
Description copied from interface: NodeGeometryObserver
The node being observed will notify the observer with this method

Specified by:
nodeGeometryChanged in interface NodeGeometryObserver
Parameters:
nv - the node being observed