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
ConstructorsConstructorDescriptionMultithreadedGraph(Scene scene, AbstractOrderingStrategy strategy, boolean sort) -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()voidDecompose allCompositeobjects, and sort the extracted monotype (i.e.voidvoiddrawDecomposition(IPainter painter) render all items of the graph after decomposing all composite item into primitive drawablesvoiddrawSimple(IPainter painter, List<Drawable> components) render all items of the graphExpand allinstance into a list of atomicinvalid @link
AbstractCompositesDrawabletypes 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 allCompositeobjects, and sort the extracted monotype (i.e. non-CompositeDrawables) in order to render them according to the default -or defined-AbstractOrderingStrategy. -
draw
-
drawSimple
render all items of the graph- Overrides:
drawSimplein classGraph
-
drawDecomposition
render all items of the graph after decomposing all composite item into primitive drawables- Overrides:
drawDecompositionin classGraph
-
getDecomposition
Expand allinstance into a list of atomicinvalid @link
AbstractCompositesDrawabletypes and return all the current Graph primitives decomposition.- Overrides:
getDecompositionin classGraph
-