GltfSaveOptions
Inheritance: java.lang.Object, com.aspose.threed.IOConfig, com.aspose.threed.SaveOptions
public class GltfSaveOptions extends SaveOptions
Save options for glTF format.
Constructors
Constructor | Description |
---|---|
GltfSaveOptions(FileContentType contentType) | Constructor of GltfSaveOptions |
GltfSaveOptions(FileFormat format) | Constructor of GltfSaveOptions |
Methods
Method | Description |
---|---|
equals(Object arg0) | |
getApplyUnitScale() | Apply AssetInfo.getUnitScaleFactor to the mesh. |
getBufferFile() | The file name of the external buffer file used to store binary data. |
getClass() | |
getDracoCompression() | Gets whether to enable draco compression |
getEmbedAssets() | Embed all external assets as base64 into single file in ASCII mode, default value is false. |
getEncoding() | Gets the default encoding for text-based files. |
getExportTextures() | Try to copy textures used in scene to output directory. |
getExternalDracoEncoder() | Use external draco encoder to accelerate the draco compression speed. |
getFallbackNormal() | When GLTF2 exporter detected an invalid normal, this will be used instead of its original value to bypass the validation. |
getFileFormat() | Gets the file format that specified in current Save/Load option. |
getFileName() | The file name of the exporting/importing scene. |
getFileSystem() | Allow user to handle how to manage the external dependencies during load/save. |
getFileSystemFactory() | Gets the factory class for FileSystem. |
getFlipTexCoordV() | Flip texture coordinate v(t) component, default value is true. |
getImageFormat() | Standard glTF only supports PNG/JPG as its texture format, this option will guide how Aspose.3D convert the non-standard images to supported format during the exporting. |
getLookupPaths() | Some files like OBJ depends on external file, the lookup paths will allows Aspose.3D to look for external file to load. |
getMaterialConverter() | Custom converter to convert the geometry’s material to PBR material If this is unassigned, glTF 2.0 exporter will automatically convert the standard material to PBR material. |
getPrettyPrint() | The JSON content of GLTF file is indented for human reading, default value is false |
getSaveExtras() | Save scene object’s dynamic properties into ’extra’ fields in the generated glTF file. |
getUseCommonMaterials() | Serialize materials using KHR common material extensions, default value is false. |
hashCode() | |
notify() | |
notifyAll() | |
setApplyUnitScale(boolean value) | Apply AssetInfo.getUnitScaleFactor to the mesh. |
setBufferFile(String value) | The file name of the external buffer file used to store binary data. |
setDracoCompression(boolean value) | Sets whether to enable draco compression |
setEmbedAssets(boolean value) | Embed all external assets as base64 into single file in ASCII mode, default value is false. |
setEncoding(Charset value) | Sets the default encoding for text-based files. |
setExportTextures(boolean value) | Try to copy textures used in scene to output directory. |
setExternalDracoEncoder(String value) | Use external draco encoder to accelerate the draco compression speed. |
setFallbackNormal(Vector3 value) | When GLTF2 exporter detected an invalid normal, this will be used instead of its original value to bypass the validation. |
setFileName(String value) | The file name of the exporting/importing scene. |
setFileSystem(FileSystem value) | Allow user to handle how to manage the external dependencies during load/save. |
setFileSystemFactory(FileSystemFactory value) | Sets the factory class for FileSystem. |
setFlipTexCoordV(boolean value) | Flip texture coordinate v(t) component, default value is true. |
setImageFormat(GltfEmbeddedImageFormat value) | Standard glTF only supports PNG/JPG as its texture format, this option will guide how Aspose.3D convert the non-standard images to supported format during the exporting. |
setLookupPaths(ArrayList | Some files like OBJ depends on external file, the lookup paths will allows Aspose.3D to look for external file to load. |
setMaterialConverter(MaterialConverter value) | Custom converter to convert the geometry’s material to PBR material If this is unassigned, glTF 2.0 exporter will automatically convert the standard material to PBR material. |
setPrettyPrint(boolean value) | The JSON content of GLTF file is indented for human reading, default value is false |
setSaveExtras(boolean value) | Save scene object’s dynamic properties into ’extra’ fields in the generated glTF file. |
setUseCommonMaterials(boolean value) | Serialize materials using KHR common material extensions, default value is false. |
toString() | |
wait() | |
wait(long arg0) | |
wait(long arg0, int arg1) |
GltfSaveOptions(FileContentType contentType)
public GltfSaveOptions(FileContentType contentType)
Constructor of GltfSaveOptions
Parameters:
Parameter | Type | Description |
---|---|---|
contentType | FileContentType |
GltfSaveOptions(FileFormat format)
public GltfSaveOptions(FileFormat format)
Constructor of GltfSaveOptions
Parameters:
Parameter | Type | Description |
---|---|---|
format | FileFormat |
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
Parameter | Type | Description |
---|---|---|
arg0 | java.lang.Object |
Returns: boolean
getApplyUnitScale()
public boolean getApplyUnitScale()
Apply AssetInfo.getUnitScaleFactor to the mesh. Default value is false.
Returns: boolean - Apply AssetInfo.getUnitScaleFactor to the mesh. Default value is false.
getBufferFile()
public String getBufferFile()
The file name of the external buffer file used to store binary data. If this file is not specified, Aspose.3D will generate a name for you. This is ignored when export glTF in binary mode.
Returns: java.lang.String - The file name of the external buffer file used to store binary data. If this file is not specified, Aspose.3D will generate a name for you. This is ignored when export glTF in binary mode.
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getDracoCompression()
public boolean getDracoCompression()
Gets whether to enable draco compression
Returns: boolean - whether to enable draco compression
getEmbedAssets()
public boolean getEmbedAssets()
Embed all external assets as base64 into single file in ASCII mode, default value is false.
Returns: boolean - Embed all external assets as base64 into single file in ASCII mode, default value is false.
getEncoding()
public Charset getEncoding()
Gets the default encoding for text-based files. Default value is null which means the importer/exporter will decide which encoding to use.
Returns: java.nio.charset.Charset - the default encoding for text-based files. Default value is null which means the importer/exporter will decide which encoding to use.
getExportTextures()
public boolean getExportTextures()
Try to copy textures used in scene to output directory.
Returns: boolean - Try to copy textures used in scene to output directory.
getExternalDracoEncoder()
public String getExternalDracoEncoder()
Use external draco encoder to accelerate the draco compression speed.
Returns: java.lang.String - Use external draco encoder to accelerate the draco compression speed. Remarks: Aspose.3D will create new sub process to encode the mesh to the draco format, use it at your own risk.
getFallbackNormal()
public Vector3 getFallbackNormal()
When GLTF2 exporter detected an invalid normal, this will be used instead of its original value to bypass the validation. Default value is (0, 1, 0)
Returns: Vector3 - When GLTF2 exporter detected an invalid normal, this will be used instead of its original value to bypass the validation. Default value is (0, 1, 0)
getFileFormat()
public FileFormat getFileFormat()
Gets the file format that specified in current Save/Load option.
Returns: FileFormat - the file format that specified in current Save/Load option.
getFileName()
public String getFileName()
The file name of the exporting/importing scene. This is optional, but useful when serialize external assets like OBJ’s material.
Returns: java.lang.String - The file name of the exporting/importing scene. This is optional, but useful when serialize external assets like OBJ’s material.
getFileSystem()
public FileSystem getFileSystem()
Allow user to handle how to manage the external dependencies during load/save.
Returns: FileSystem - Allow user to handle how to manage the external dependencies during load/save. Example: The default FileSystem is LocalFileSystem, it is not safe in environment like server side, But you can override the file system access by specifying a different implementation. Aspose.3D provides different FileSystem implementation like:
- Memory-based file system
- Directory-based file system
- Dummy file system
- Zip file system
And you can also use your own implementation.
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
var opt = new ObjSaveOptions();
var memFs = new HashMap<string, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(memFs));
opt.setFileName("output.obj");
try(var output = new ByteArrayOutputStream()) {
scene.save(output, opt);
//The material will be written to variable memFs named output.mtl
var materialInBytes = memFs["output.mtl"].toArray();
}
getFileSystemFactory()
public static FileSystemFactory getFileSystemFactory()
Gets the factory class for FileSystem. The default factory will create com.aspose.threed.LocalFileSystem which is not suitable for server environment.
Returns: FileSystemFactory - the factory class for FileSystem. The default factory will create com.aspose.threed.LocalFileSystem which is not suitable for server environment. Example: The default FileSystem in SaveOptions/LoadOptions is directory-based file system, You can override the default implementation by specify it through IOConfig.FileSystemFactory:
IOConfig.setFileSystemFactory(new FileSystemFactory() {
@Override
public FileSystem call() {
return FileSystem.createDummyFileSystem();
}
});
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
//opt.FileSystem would be dummy file system now
var opt = new ObjSaveOptions();
scene.Save("output.obj", opt);
//the material file output.mtl will not be written to any places because we've configured a dummy file system as default implementation.
getFlipTexCoordV()
public boolean getFlipTexCoordV()
Flip texture coordinate v(t) component, default value is true.
Returns: boolean - Flip texture coordinate v(t) component, default value is true.
getImageFormat()
public GltfEmbeddedImageFormat getImageFormat()
Standard glTF only supports PNG/JPG as its texture format, this option will guide how Aspose.3D convert the non-standard images to supported format during the exporting. Default value is GltfEmbeddedImageFormat.PNG
Returns: GltfEmbeddedImageFormat - Standard glTF only supports PNG/JPG as its texture format, this option will guide how Aspose.3D convert the non-standard images to supported format during the exporting. Default value is GltfEmbeddedImageFormat.PNG
getLookupPaths()
public ArrayList<String> getLookupPaths()
Some files like OBJ depends on external file, the lookup paths will allows Aspose.3D to look for external file to load.
Returns: java.util.ArrayList<java.lang.String> - Some files like OBJ depends on external file, the lookup paths will allows Aspose.3D to look for external file to load. Example: The following code shows how to manually specify the look up textures, so the importer can find
var opt = new ObjLoadOptions();
//Specify the lookup paths, so the textures can be located.
opt.getLookupPaths().add("textures");
var scene = Scene.fromFile("input.obj", opt);
scene.save("output.glb");
getMaterialConverter()
public MaterialConverter getMaterialConverter()
Custom converter to convert the geometry’s material to PBR material If this is unassigned, glTF 2.0 exporter will automatically convert the standard material to PBR material. Default value is null This property is used when exporting a scene to a glTF 2.0 file.
Returns: MaterialConverter - Custom converter to convert the geometry’s material to PBR material If this is unassigned, glTF 2.0 exporter will automatically convert the standard material to PBR material. Default value is null This property is used when exporting a scene to a glTF 2.0 file.
getPrettyPrint()
public boolean getPrettyPrint()
The JSON content of GLTF file is indented for human reading, default value is false
Returns: boolean - The JSON content of GLTF file is indented for human reading, default value is false
getSaveExtras()
public boolean getSaveExtras()
Save scene object’s dynamic properties into ’extra’ fields in the generated glTF file. This is useful to provide application-specific data. Default value is false.
Returns: boolean - Save scene object’s dynamic properties into ’extra’ fields in the generated glTF file. This is useful to provide application-specific data. Default value is false.
getUseCommonMaterials()
public boolean getUseCommonMaterials()
Serialize materials using KHR common material extensions, default value is false. Set this to false will cause Aspose.3D export a set of vertex/fragment shader if getExportShaders
Returns: boolean - Serialize materials using KHR common material extensions, default value is false. Set this to false will cause Aspose.3D export a set of vertex/fragment shader if getExportShaders Remarks: This property only works for glTF 1.0
hashCode()
public native int hashCode()
Returns: int
notify()
public final native void notify()
notifyAll()
public final native void notifyAll()
setApplyUnitScale(boolean value)
public void setApplyUnitScale(boolean value)
Apply AssetInfo.getUnitScaleFactor to the mesh. Default value is false.
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | New value |
setBufferFile(String value)
public void setBufferFile(String value)
The file name of the external buffer file used to store binary data. If this file is not specified, Aspose.3D will generate a name for you. This is ignored when export glTF in binary mode.
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.lang.String | New value |
setDracoCompression(boolean value)
public void setDracoCompression(boolean value)
Sets whether to enable draco compression
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | New value |
setEmbedAssets(boolean value)
public void setEmbedAssets(boolean value)
Embed all external assets as base64 into single file in ASCII mode, default value is false.
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | New value |
setEncoding(Charset value)
public void setEncoding(Charset value)
Sets the default encoding for text-based files. Default value is null which means the importer/exporter will decide which encoding to use.
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.nio.charset.Charset | New value |
setExportTextures(boolean value)
public void setExportTextures(boolean value)
Try to copy textures used in scene to output directory.
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | New value |
setExternalDracoEncoder(String value)
public void setExternalDracoEncoder(String value)
Use external draco encoder to accelerate the draco compression speed.
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.lang.String | New value Remarks: Aspose.3D will create new sub process to encode the mesh to the draco format, use it at your own risk. |
setFallbackNormal(Vector3 value)
public void setFallbackNormal(Vector3 value)
When GLTF2 exporter detected an invalid normal, this will be used instead of its original value to bypass the validation. Default value is (0, 1, 0)
Parameters:
Parameter | Type | Description |
---|---|---|
value | Vector3 | New value |
setFileName(String value)
public void setFileName(String value)
The file name of the exporting/importing scene. This is optional, but useful when serialize external assets like OBJ’s material.
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.lang.String | New value |
setFileSystem(FileSystem value)
public void setFileSystem(FileSystem value)
Allow user to handle how to manage the external dependencies during load/save.
Parameters:
Parameter | Type | Description |
---|---|---|
value | FileSystem | New value Example: The default FileSystem is LocalFileSystem, it is not safe in environment like server side, But you can override the file system access by specifying a different implementation. Aspose.3D provides different FileSystem implementation like: |
- Memory-based file system
- Directory-based file system
- Dummy file system
- Zip file system
And you can also use your own implementation.
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
var opt = new ObjSaveOptions();
var memFs = new HashMap<string, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(memFs));
opt.setFileName("output.obj");
try(var output = new ByteArrayOutputStream()) {
scene.save(output, opt);
//The material will be written to variable memFs named output.mtl
var materialInBytes = memFs["output.mtl"].toArray();
}
``` |
### setFileSystemFactory(FileSystemFactory value) {#setFileSystemFactory-com.aspose.threed.FileSystemFactory-}
public static void setFileSystemFactory(FileSystemFactory value)
Sets the factory class for FileSystem. The default factory will create com.aspose.threed.LocalFileSystem which is not suitable for server environment.
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | [FileSystemFactory](../../com.aspose.threed/filesystemfactory) | New value **Example:** The default FileSystem in SaveOptions/LoadOptions is directory-based file system, You can override the default implementation by specify it through IOConfig.FileSystemFactory:
IOConfig.setFileSystemFactory(new FileSystemFactory() { @Override public FileSystem call() { return FileSystem.createDummyFileSystem(); } });
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
//opt.FileSystem would be dummy file system now
var opt = new ObjSaveOptions();
scene.Save("output.obj", opt);
//the material file output.mtl will not be written to any places because we've configured a dummy file system as default implementation.
### setFlipTexCoordV(boolean value) {#setFlipTexCoordV-boolean-}
public void setFlipTexCoordV(boolean value)
Flip texture coordinate v(t) component, default value is true.
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | boolean | New value |
### setImageFormat(GltfEmbeddedImageFormat value) {#setImageFormat-com.aspose.threed.GltfEmbeddedImageFormat-}
public void setImageFormat(GltfEmbeddedImageFormat value)
Standard glTF only supports PNG/JPG as its texture format, this option will guide how Aspose.3D convert the non-standard images to supported format during the exporting. Default value is [GltfEmbeddedImageFormat.PNG](../../com.aspose.threed/gltfembeddedimageformat\#PNG)
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | [GltfEmbeddedImageFormat](../../com.aspose.threed/gltfembeddedimageformat) | New value |
### setLookupPaths(ArrayList<String> value) {#setLookupPaths-java.util.ArrayList-java.lang.String--}
public void setLookupPaths(ArrayList
Some files like OBJ depends on external file, the lookup paths will allows Aspose.3D to look for external file to load.
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | java.util.ArrayList<java.lang.String> | New value **Example:** The following code shows how to manually specify the look up textures, so the importer can find
var opt = new ObjLoadOptions(); //Specify the lookup paths, so the textures can be located. opt.getLookupPaths().add(“textures”); var scene = Scene.fromFile(“input.obj”, opt); scene.save(“output.glb”);
### setMaterialConverter(MaterialConverter value) {#setMaterialConverter-com.aspose.threed.MaterialConverter-}
public void setMaterialConverter(MaterialConverter value)
Custom converter to convert the geometry's material to PBR material If this is unassigned, glTF 2.0 exporter will automatically convert the standard material to PBR material. Default value is null This property is used when exporting a scene to a glTF 2.0 file.
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | [MaterialConverter](../../com.aspose.threed/materialconverter) | New value |
### setPrettyPrint(boolean value) {#setPrettyPrint-boolean-}
public void setPrettyPrint(boolean value)
The JSON content of GLTF file is indented for human reading, default value is false
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | boolean | New value |
### setSaveExtras(boolean value) {#setSaveExtras-boolean-}
public void setSaveExtras(boolean value)
Save scene object's dynamic properties into 'extra' fields in the generated glTF file. This is useful to provide application-specific data. Default value is false.
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | boolean | New value |
### setUseCommonMaterials(boolean value) {#setUseCommonMaterials-boolean-}
public void setUseCommonMaterials(boolean value)
Serialize materials using KHR common material extensions, default value is false. Set this to false will cause Aspose.3D export a set of vertex/fragment shader if [getExportShaders](../../com.aspose.threed/gltfsaveoptions\#getExportShaders)
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| value | boolean | New value **Remarks:** This property only works for glTF 1.0 |
### toString() {#toString--}
public String toString()
**Returns:**
java.lang.String
### wait() {#wait--}
public final void wait()
### wait(long arg0) {#wait-long-}
public final void wait(long arg0)
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| arg0 | long | |
### wait(long arg0, int arg1) {#wait-long-int-}
public final void wait(long arg0, int arg1)
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| arg0 | long | |
| arg1 | int | |