java.lang.Object
de.grogra.pf.io.FilterBase
de.grogra.imp3d.io.SceneGraphExport
de.grogra.ext.x3d.X3DExport
- All Implemented Interfaces:
SceneTree.Visitor
,FileWriterSource
,Filter
,FilterSource
,RegistryContext
,Map
- Direct Known Subclasses:
ClassicVRMLExport
,VRML97Export
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.imp3d.io.SceneGraphExport
SceneGraphExport.NodeExport, SceneGraphExport.ObjectExport
Nested classes/interfaces inherited from interface de.grogra.pf.io.FilterSource
FilterSource.MetaDataKey<V>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final String
protected final String
protected final String
protected final String
protected final String
Fields inherited from class de.grogra.imp3d.io.SceneGraphExport
files
Fields inherited from class de.grogra.pf.io.FilterBase
item, source
Fields inherited from interface de.grogra.pf.io.FilterSource
AUTO_PROGRESS, DESTINATION_FILE, DESTINATION_URL
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
beginGroup
(SceneTree.InnerNode group) This method is invoked at the beginning of every inner nodegroup
which has more than one child.protected SceneTree
createSceneTree
(View3D scene) The implementation of this method creates the scene tree which is to be exported by this export.protected void
endGroup
(SceneTree.InnerNode group) This method is invoked at the end of every inner nodegroup
which has more than one child.This method returns the base directory withinSceneGraphExport.getFileSystem()
to use for the export.getExportFor
(Object object, boolean asNode) This method is used to obtain an instance ofNodeExport
capable of exporting the object of aSceneTree.Leaf
.This method creates a file inSceneGraphExport.getDirectory()
.de.grogra.ext.x3d.xmlbeans.TransformDocument.Transform
de.grogra.ext.x3d.xmlbeans.SceneDocument.Scene
getScene()
void
void
This method writes the data toout
.Methods inherited from class de.grogra.imp3d.io.SceneGraphExport
export, export, getExportForObject, getFiles, getFileSystem, getGraphState, getOutputStream, getPath, getPath, getView, initDirectory, initFileSystem, visit, visitEnter, visitLeave, write
Methods inherited from class de.grogra.pf.io.FilterBase
get, getFilter, getFlavor, getImpl, getMetaData, getRegistry, getSource, getSystemId, initProgressMonitor, setFlavor, setMetaData, setMetaData, setProgress, setSystemId, toString, toURL
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface de.grogra.pf.io.FilterSource
getFilter, getFlavor, getMetaData, getSystemId, initProgressMonitor, setMetaData, setProgress
Methods inherited from interface de.grogra.pf.registry.RegistryContext
getRegistry
-
Field Details
-
XSLT_PATH_X3D_TO_VRML97
-
XSLT_PATH_X3D_TO_VRML97_A
-
XSLT_PATH_X3D_TO_VRML_CLASSIC
-
TRANSFORMERFACTORY_JAVA
- See Also:
-
TRANSFORMERFACTORY_XALAN
- See Also:
-
-
Constructor Details
-
X3DExport
-
-
Method Details
-
createSceneTree
Description copied from class:SceneGraphExport
The implementation of this method creates the scene tree which is to be exported by this export.- Specified by:
createSceneTree
in classSceneGraphExport
- Parameters:
scene
- the view which defines the scene to export- Returns:
- scene tree for the view
-
getExportFor
Description copied from class:SceneGraphExport
This method is used to obtain an instance ofNodeExport
capable of exporting the object of aSceneTree.Leaf
. If no such export is defined,null
is returned.This implementation looks for an export defined in the registry: As name, the name of the class of
object
is chosen, the export is searched as a child ofFilterBase.item
.- Overrides:
getExportFor
in classSceneGraphExport
- Parameters:
object
- object of the original scene graphasNode
- is object a node or an edge?- Returns:
- suitable export for the object or
null
-
beginGroup
Description copied from class:SceneGraphExport
This method is invoked at the beginning of every inner nodegroup
which 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:
beginGroup
in classSceneGraphExport
- Parameters:
group
- the group- Throws:
IOException
-
endGroup
Description copied from class:SceneGraphExport
This method is invoked at the end of every inner nodegroup
which has more than one child. Its children have been processed completely.- Specified by:
endGroup
in classSceneGraphExport
- Parameters:
group
- the group- Throws:
IOException
- See Also:
-
write
Description copied from interface:FileWriterSource
This method writes the data toout
.- Specified by:
write
in interfaceFileWriterSource
- Parameters:
out
- the file to which data is written- Throws:
IOException
-
getOutFile
-
getLastTransform
public de.grogra.ext.x3d.xmlbeans.TransformDocument.Transform getLastTransform() -
getScene
public de.grogra.ext.x3d.xmlbeans.SceneDocument.Scene getScene() -
getDirectory
Description copied from class:SceneGraphExport
This method returns the base directory withinSceneGraphExport.getFileSystem()
to use for the export. On first invocation, the directory is obtained fromSceneGraphExport.initDirectory()
.- Overrides:
getDirectory
in classSceneGraphExport
- Returns:
- directory to use for export
-
getFile
Description copied from class:SceneGraphExport
This method creates a file inSceneGraphExport.getDirectory()
. The file name is based obname
: E.g., ifname
istest.png
, the actual name could be something liketest123.png
. It is ensured that no file will be returned twice during a single export.- Overrides:
getFile
in classSceneGraphExport
- Parameters:
name
- name for file- Returns:
- file
- Throws:
IOException
-
increaseProgress
public void increaseProgress()
-