Class BiModalRenderer<V,E>
- java.lang.Object
-
- org.jungrapht.visualization.renderers.BiModalRenderer<V,E>
-
- Type Parameters:
V- the vertex typeE- the edge type
- All Implemented Interfaces:
EventListener,ChangeListener,ModalRenderer<V,E>,Renderer<V,E>
- Direct Known Subclasses:
BiModalSelectionRenderer,DefaultModalRenderer
public class BiModalRenderer<V,E> extends Object implements ModalRenderer<V,E>, ChangeListener
ARendererthat delegates to either aHeavyweightRendereror aLightweightRendererdepending on the results of a count Predicate and a scale PredicateThe count predicate defaults to a comparison of the vertex count with the lightweightCountThreshold.
The scale predicate defaults to a comparison of the VIEW transform scale with the lightweightScaleThreshold. Note that the VIEW transform scale range is 0 < VIEW transform scale <= 1.0
The following conditions apply:
- vertex count <
lightweightCountThreshold: Always draw withHeavyweightRenderer lightweightScaleThreshold> 1.0: Always draw withLightweightRenderer(unless 1 is true)- If neither 1 nor 2 are true:
- the static graph will be rendered with the
HeavyweightRendererwhen VIEW transform scale >lightweightScaleThreshold. Otherwise, the static graph will be rendered with theLightweightRenderer - While the graph is being manipulated with mouse gestures (zoom/pan, etc) the graph
will be rendered with the
LightweightRenderer
- the static graph will be rendered with the
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBiModalRenderer.Builder<V,E,T extends BiModalRenderer<V,E>,B extends BiModalRenderer.Builder<V,E,T,B>>Builder to create a configured instance of a BiModalRenderer-
Nested classes/interfaces inherited from interface org.jungrapht.visualization.renderers.ModalRenderer
ModalRenderer.Mode
-
Nested classes/interfaces inherited from interface org.jungrapht.visualization.renderers.Renderer
Renderer.Edge<V,E>, Renderer.EdgeLabel<V,E>, Renderer.Vertex<V,E>, Renderer.VertexLabel<V,E>
-
-
Field Summary
Fields Modifier and Type Field Description protected Predicate<Supplier<Integer>>countPredicateprotected Supplier<Integer>countSupplierstatic ModalRenderer.ModeHEAVYWEIGHTstatic ModalRenderer.ModeLIGHTWEIGHTprotected intlightweightRenderingCountThresholdthreshold for vertex count that affects rendering modeprotected doublelightweightRenderingScaleThresholdscale that affects rendering modeprotected ModalRenderer.Modemodeprotected Map<ModalRenderer.Mode,Renderer<V,E>>rendererMapprotected Predicate<Supplier<Double>>scalePredicateprotected Supplier<Double>scaleSupplier
-
Constructor Summary
Constructors Modifier Constructor Description protectedBiModalRenderer(JComponent component, Map<ModalRenderer.Mode,Renderer<V,E>> rendererMap)protectedBiModalRenderer(BiModalRenderer.Builder<V,E,?,?> builder)
-
Method Summary
-
-
-
Field Detail
-
LIGHTWEIGHT
public static final ModalRenderer.Mode LIGHTWEIGHT
-
HEAVYWEIGHT
public static final ModalRenderer.Mode HEAVYWEIGHT
-
lightweightRenderingCountThreshold
protected int lightweightRenderingCountThreshold
threshold for vertex count that affects rendering mode
-
lightweightRenderingScaleThreshold
protected double lightweightRenderingScaleThreshold
scale that affects rendering mode
-
mode
protected ModalRenderer.Mode mode
-
rendererMap
protected Map<ModalRenderer.Mode,Renderer<V,E>> rendererMap
-
-
Constructor Detail
-
BiModalRenderer
protected BiModalRenderer(BiModalRenderer.Builder<V,E,?,?> builder)
-
BiModalRenderer
protected BiModalRenderer(JComponent component, Map<ModalRenderer.Mode,Renderer<V,E>> rendererMap)
-
-
Method Detail
-
builder
public static <V,E> BiModalRenderer.Builder<V,E,?,?> builder()
- Type Parameters:
V- vertex typeE- edge type- Returns:
- a Builder to configure
-
setRenderer
public void setRenderer(ModalRenderer.Mode mode, Renderer<V,E> renderer)
- Specified by:
setRendererin interfaceModalRenderer<V,E>
-
getRenderer
public Renderer<V,E> getRenderer(ModalRenderer.Mode mode)
- Specified by:
getRendererin interfaceModalRenderer<V,E>
-
setMode
public void setMode(ModalRenderer.Mode mode)
- Specified by:
setModein interfaceModalRenderer<V,E>
-
getMode
public ModalRenderer.Mode getMode()
-
render
public void render(RenderContext<V,E> renderContext, LayoutModel<V> layoutModel, Spatial<V,V> vertexSpatial, Spatial<E,V> edgeSpatial)
-
render
public void render(RenderContext<V,E> renderContext, LayoutModel<V> layoutModel)
-
renderVertex
public void renderVertex(RenderContext<V,E> renderContext, LayoutModel<V> layoutModel, V v)
- Specified by:
renderVertexin interfaceRenderer<V,E>
-
renderVertexLabel
public void renderVertexLabel(RenderContext<V,E> renderContext, LayoutModel<V> layoutModel, V v)
- Specified by:
renderVertexLabelin interfaceRenderer<V,E>
-
renderEdge
public void renderEdge(RenderContext<V,E> renderContext, LayoutModel<V> layoutModel, E e)
- Specified by:
renderEdgein interfaceRenderer<V,E>
-
renderEdgeLabel
public void renderEdgeLabel(RenderContext<V,E> renderContext, LayoutModel<V> layoutModel, E e)
- Specified by:
renderEdgeLabelin interfaceRenderer<V,E>
-
setVertexRenderer
public void setVertexRenderer(Renderer.Vertex<V,E> r)
- Specified by:
setVertexRendererin interfaceRenderer<V,E>
-
setEdgeRenderer
public void setEdgeRenderer(Renderer.Edge<V,E> r)
- Specified by:
setEdgeRendererin interfaceRenderer<V,E>
-
setVertexLabelRenderer
public void setVertexLabelRenderer(Renderer.VertexLabel<V,E> r)
- Specified by:
setVertexLabelRendererin interfaceRenderer<V,E>
-
setEdgeLabelRenderer
public void setEdgeLabelRenderer(Renderer.EdgeLabel<V,E> r)
- Specified by:
setEdgeLabelRendererin interfaceRenderer<V,E>
-
getVertexLabelRenderer
public Renderer.VertexLabel<V,E> getVertexLabelRenderer()
- Specified by:
getVertexLabelRendererin interfaceRenderer<V,E>
-
getVertexRenderer
public Renderer.Vertex<V,E> getVertexRenderer()
- Specified by:
getVertexRendererin interfaceRenderer<V,E>
-
getEdgeRenderer
public Renderer.Edge<V,E> getEdgeRenderer()
- Specified by:
getEdgeRendererin interfaceRenderer<V,E>
-
getEdgeLabelRenderer
public Renderer.EdgeLabel<V,E> getEdgeLabelRenderer()
- Specified by:
getEdgeLabelRendererin interfaceRenderer<V,E>
-
setVertexRenderer
public void setVertexRenderer(ModalRenderer.Mode mode, Renderer.Vertex<V,E> r)
- Specified by:
setVertexRendererin interfaceModalRenderer<V,E>
-
setEdgeRenderer
public void setEdgeRenderer(ModalRenderer.Mode mode, Renderer.Edge<V,E> r)
- Specified by:
setEdgeRendererin interfaceModalRenderer<V,E>
-
setVertexLabelRenderer
public void setVertexLabelRenderer(ModalRenderer.Mode mode, Renderer.VertexLabel<V,E> r)
- Specified by:
setVertexLabelRendererin interfaceModalRenderer<V,E>
-
setEdgeLabelRenderer
public void setEdgeLabelRenderer(ModalRenderer.Mode mode, Renderer.EdgeLabel<V,E> r)
- Specified by:
setEdgeLabelRendererin interfaceModalRenderer<V,E>
-
getVertexLabelRenderer
public Renderer.VertexLabel<V,E> getVertexLabelRenderer(ModalRenderer.Mode mode)
- Specified by:
getVertexLabelRendererin interfaceModalRenderer<V,E>
-
getVertexRenderer
public Renderer.Vertex<V,E> getVertexRenderer(ModalRenderer.Mode mode)
- Specified by:
getVertexRendererin interfaceModalRenderer<V,E>
-
getEdgeRenderer
public Renderer.Edge<V,E> getEdgeRenderer(ModalRenderer.Mode mode)
- Specified by:
getEdgeRendererin interfaceModalRenderer<V,E>
-
getEdgeLabelRenderer
public Renderer.EdgeLabel<V,E> getEdgeLabelRenderer(ModalRenderer.Mode mode)
- Specified by:
getEdgeLabelRendererin interfaceModalRenderer<V,E>
-
getModeFor
protected ModalRenderer.Mode getModeFor(Supplier<Double> scaleSupplier)
-
manageMode
protected void manageMode()
-
stateChanged
public void stateChanged(ChangeEvent e)
- Specified by:
stateChangedin interfaceChangeListener
-
-