Package org.jzy3d.plot3d.rendering.scene
Class MultithreadedGraph
java.lang.Object
org.jzy3d.plot3d.rendering.scene.Graph
org.jzy3d.plot3d.rendering.scene.MultithreadedGraph
WORK IN PROGRESS
=================
Split drawing tasks to multiple thread, and wait for termination of all drawing tasks
before exiting the draw method, hence ensuring a consistent display.
This prove to be hardly managed by opengl backends (emulgl and jogl) that require GL primitives
being called consistently in order (glBegin->glVertex->glEnd) : multi thread make them interlaced
in the current GL context.
EmulGL : throws exception
JOGL : AWT and NEWT are both crashing the JVM
- Author:
- martin
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jzy3d.plot3d.rendering.scene.Graph
Graph.GraphListener
-
Field Summary
Fields inherited from class org.jzy3d.plot3d.rendering.scene.Graph
CLIP_MARGIN_RATIO, clipBox, clipIncludesLimits, components, graphListener, scene, sort, strategy, transform
-
Constructor Summary
ConstructorDescriptionMultithreadedGraph
(Scene scene, AbstractOrderingStrategy strategy, boolean sort) -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
void
Decompose allComposite
objects, and sort the extracted monotype (i.e.void
void
drawDecomposition
(IPainter painter) render all items of the graph after decomposing all composite item into primitive drawablesvoid
drawSimple
(IPainter painter, List<Drawable> components) render all items of the graphExpand allinvalid @link
AbstractComposites
Drawable
types and return all the current Graph primitives decomposition.Methods inherited from class org.jzy3d.plot3d.rendering.scene.Graph
add, add, add, add, addGraphListener, fireMountAll, getAll, getAllGLBindedResources, getBounds, getClipBox, getGraphListener, getLegends, getScene, getStrategy, getTransform, hasLegends, isSort, mountAllGLBindedResources, project, remove, remove, setClipBox, setClipBox, setSort, setStrategy, setTransform, toString, viewsShoot, viewsUpdateBounds
-
Constructor Details
-
MultithreadedGraph
-
-
Method Details
-
dispose
public void dispose() -
draw
Decompose allComposite
objects, and sort the extracted monotype (i.e. non-Composite
Drawable
s) in order to render them according to the default -or defined-AbstractOrderingStrategy
. -
draw
-
drawSimple
render all items of the graph- Overrides:
drawSimple
in classGraph
-
drawDecomposition
render all items of the graph after decomposing all composite item into primitive drawables- Overrides:
drawDecomposition
in classGraph
-
getDecomposition
Expand allinvalid @link
AbstractComposites
Drawable
types and return all the current Graph primitives decomposition.- Overrides:
getDecomposition
in classGraph
-