java.lang.Object
de.grogra.pf.io.FilterBase
de.grogra.imp3d.io.SceneGraphExport
de.grogra.webgl.WebGLExport
- All Implemented Interfaces:
SceneTree.Visitor,FileWriterSource,Filter,FilterSource,RegistryContext,Map
A simple exporter for WebGL using three.js (threejs.org).
TODO:
- finish work on Polygonizable.java (e.g. ellipses)
- finish Text export
- optimize structure (e.g. use copies of equal NURBS objects, re-use of equal materials)
- support textures shaders
- support lines and polygons
- support extrusion objects, point clouds
- support SuperShape?
MH 2016-06-28
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.imp3d.io.SceneGraphExport
SceneGraphExport.NodeExport, SceneGraphExport.ObjectExportNested classes/interfaces inherited from interface de.grogra.pf.io.FilterSource
FilterSource.MetaDataKey<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FilterSource.MetaDataKey<Float> protected PrintWriterprotected intFields inherited from class de.grogra.imp3d.io.SceneGraphExport
filesFields inherited from class de.grogra.pf.io.FilterBase
item, sourceFields inherited from interface de.grogra.pf.io.FilterSource
AUTO_PROGRESS, DESTINATION_FILE, DESTINATION_URLFields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbeginGroup(SceneTree.InnerNode group) This method is invoked at the beginning of every inner nodegroupwhich has more than one child.protected SceneTreecreateSceneTree(View3D scene) The implementation of this method creates the scene tree which is to be exported by this export.protected voidendGroup(SceneTree.InnerNode group) This method is invoked at the end of every inner nodegroupwhich has more than one child.getExportFor(Object object, boolean asNode) This method is used to obtain an instance ofNodeExportcapable of exporting the object of aSceneTree.Leaf.voidvoidThis method writes the data toout.Methods inherited from class de.grogra.imp3d.io.SceneGraphExport
export, export, getDirectory, getExportForObject, getFile, getFiles, getFileSystem, getGraphState, getOutputStream, getPath, getPath, getView, initDirectory, initFileSystem, visit, visitEnter, visitLeave, writeMethods inherited from class de.grogra.pf.io.FilterBase
get, getFilter, getFlavor, getImpl, getMetaData, getRegistry, getSource, getSystemId, initProgressMonitor, setFlavor, setMetaData, setMetaData, setProgress, setSystemId, toString, toURLMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface de.grogra.pf.io.FilterSource
getFilter, getFlavor, getMetaData, getSystemId, initProgressMonitor, setMetaData, setProgressMethods inherited from interface de.grogra.pf.registry.RegistryContext
getRegistry
-
Field Details
-
FLATNESS
-
out
-
primitives
protected int primitives
-
-
Constructor Details
-
WebGLExport
-
-
Method Details
-
beginGroup
Description copied from class:SceneGraphExportThis method is invoked at the beginning of every inner nodegroupwhich has more than one child. Its children will be processed until the corresponding methodSceneGraphExport.endGroup(de.grogra.imp3d.objects.SceneTree.InnerNode)is invoked. The export should write the hierarchy and transformation information of thegroup.- Specified by:
beginGroupin classSceneGraphExport- Parameters:
group- the group- Throws:
IOException
-
createSceneTree
Description copied from class:SceneGraphExportThe implementation of this method creates the scene tree which is to be exported by this export.- Specified by:
createSceneTreein classSceneGraphExport- Parameters:
scene- the view which defines the scene to export- Returns:
- scene tree for the view
-
endGroup
Description copied from class:SceneGraphExportThis method is invoked at the end of every inner nodegroupwhich has more than one child. Its children have been processed completely.- Specified by:
endGroupin classSceneGraphExport- Parameters:
group- the group- Throws:
IOException- See Also:
-
write
Description copied from interface:FileWriterSourceThis method writes the data toout.- Specified by:
writein interfaceFileWriterSource- Parameters:
file- the file to which data is written- Throws:
IOException
-
getExportFor
Description copied from class:SceneGraphExportThis method is used to obtain an instance ofNodeExportcapable of exporting the object of aSceneTree.Leaf. If no such export is defined,nullis returned.This implementation looks for an export defined in the registry: As name, the name of the class of
objectis chosen, the export is searched as a child ofFilterBase.item.- Overrides:
getExportForin classSceneGraphExport- Parameters:
object- object of the original scene graphasNode- is object a node or an edge?- Returns:
- suitable export for the object or
null
-
increaseProgress
public void increaseProgress()
-