Documentation ¶
Overview ¶
Package GLTFDocumentExtension provides methods for working with GLTFDocumentExtension object instances.
Index ¶
- type Advanced
- type Any
- type Error
- type Implementation
- type Instance
- func (self Instance) AsGLTFDocumentExtension() Instance
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsRefCounted() [1]gd.RefCounted
- func (self Instance) AsResource() Resource.Instance
- func (self *Instance) UnsafePointer() unsafe.Pointer
- func (self Instance) Virtual(name string) reflect.Value
- type Interface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type Error ¶
const ( /*Methods that return [enum Error] return [constant OK] when no error occurred. Since [constant OK] has value 0, and all other error constants are positive integers, it can also be used in boolean checks. [b]Example:[/b] [codeblock] var error = method_that_returns_error() if error != OK: printerr("Failure!") # Or, alternatively: if error: printerr("Still failing!") [/codeblock] [b]Note:[/b] Many functions do not return an error code, but will print error messages to standard output.*/ Ok Error = 0 /*Generic error.*/ Failed Error = 1 ErrUnavailable Error = 2 /*Unconfigured error.*/ ErrUnconfigured Error = 3 ErrUnauthorized Error = 4 /*Parameter range error.*/ ErrParameterRangeError Error = 5 /*Out of memory (OOM) error.*/ ErrOutOfMemory Error = 6 /*File: Not found error.*/ ErrFileNotFound Error = 7 /*File: Bad drive error.*/ ErrFileBadDrive Error = 8 /*File: Bad path error.*/ ErrFileBadPath Error = 9 /*File: No permission error.*/ ErrFileNoPermission Error = 10 /*File: Already in use error.*/ ErrFileAlreadyInUse Error = 11 /*File: Can't open error.*/ ErrFileCantOpen Error = 12 /*File: Can't write error.*/ ErrFileCantWrite Error = 13 /*File: Can't read error.*/ ErrFileCantRead Error = 14 /*File: Unrecognized error.*/ ErrFileUnrecognized Error = 15 /*File: Corrupt error.*/ ErrFileCorrupt Error = 16 /*File: Missing dependencies error.*/ ErrFileMissingDependencies Error = 17 /*File: End of file (EOF) error.*/ ErrFileEof Error = 18 /*Can't open error.*/ ErrCantOpen Error = 19 /*Can't create error.*/ ErrCantCreate Error = 20 /*Query failed error.*/ ErrQueryFailed Error = 21 /*Already in use error.*/ ErrAlreadyInUse Error = 22 /*Locked error.*/ ErrLocked Error = 23 /*Timeout error.*/ ErrTimeout Error = 24 /*Can't connect error.*/ ErrCantConnect Error = 25 /*Can't resolve error.*/ ErrCantResolve Error = 26 /*Connection error.*/ ErrConnectionError Error = 27 /*Can't acquire resource error.*/ ErrCantAcquireResource Error = 28 /*Can't fork process error.*/ ErrCantFork Error = 29 /*Invalid data error.*/ ErrInvalidData Error = 30 /*Invalid parameter error.*/ ErrInvalidParameter Error = 31 /*Already exists error.*/ ErrAlreadyExists Error = 32 /*Does not exist error.*/ ErrDoesNotExist Error = 33 /*Database: Read error.*/ ErrDatabaseCantRead Error = 34 /*Database: Write error.*/ ErrDatabaseCantWrite Error = 35 /*Compilation failed error.*/ ErrCompilationFailed Error = 36 /*Method not found error.*/ ErrMethodNotFound Error = 37 /*Linking failed error.*/ ErrLinkFailed Error = 38 /*Script failed error.*/ ErrScriptFailed Error = 39 /*Cycling link (import cycle) error.*/ ErrCyclicLink Error = 40 /*Invalid declaration error.*/ ErrInvalidDeclaration Error = 41 /*Duplicate symbol error.*/ ErrDuplicateSymbol Error = 42 /*Parse error.*/ ErrParseError Error = 43 /*Busy error.*/ ErrBusy Error = 44 /*Skip error.*/ ErrSkip Error = 45 /*Help error. Used internally when passing [code]--version[/code] or [code]--help[/code] as executable options.*/ ErrHelp Error = 46 /*Bug error, caused by an implementation issue in the method. [b]Note:[/b] If a built-in method returns this code, please open an issue on [url=https://github.com/godotengine/godot/issues]the GitHub Issue Tracker[/url].*/ ErrBug Error = 47 /*Printer on fire error (This is an easter egg, no built-in methods return this error code).*/ ErrPrinterOnFire Error = 48 )
type Implementation ¶
type Implementation = implementation
Implementation implements Interface with empty methods.
type Instance ¶
type Instance [1]gdclass.GLTFDocumentExtension
Extends the functionality of the [GLTFDocument] class by allowing you to run arbitrary code at various stages of GLTF import or export. To use, make a new class extending GLTFDocumentExtension, override any methods you need, make an instance of your class, and register it using [method GLTFDocument.register_gltf_document_extension]. [b]Note:[/b] Like GLTFDocument itself, all GLTFDocumentExtension classes must be stateless in order to function properly. If you need to store data, use the [code]set_additional_data[/code] and [code]get_additional_data[/code] methods in [GLTFState] or [GLTFNode].
See [Interface] for methods that can be overridden by a [Class] that extends it.
%!(EXTRA string=GLTFDocumentExtension)
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AsGLTFDocumentExtension ¶
func (Instance) AsRefCounted ¶
func (self Instance) AsRefCounted() [1]gd.RefCounted
func (Instance) AsResource ¶
func (*Instance) UnsafePointer ¶
type Interface ¶
type Interface interface { //Part of the import process. This method is run first, before all other parts of the import process. //The return value is used to determine if this [GLTFDocumentExtension] instance should be used for importing a given GLTF file. If [constant OK], the import will use this [GLTFDocumentExtension] instance. If not overridden, [constant OK] is returned. ImportPreflight(state [1]gdclass.GLTFState, extensions []string) error //Part of the import process. This method is run after [method _import_preflight] and before [method _parse_node_extensions]. //Returns an array of the GLTF extensions supported by this GLTFDocumentExtension class. This is used to validate if a GLTF file with required extensions can be loaded. GetSupportedExtensions() []string //Part of the import process. This method is run after [method _get_supported_extensions] and before [method _import_post_parse]. //Runs when parsing the node extensions of a GLTFNode. This method can be used to process the extension JSON data into a format that can be used by [method _generate_scene_node]. The return value should be a member of the [enum Error] enum. ParseNodeExtensions(state [1]gdclass.GLTFState, gltf_node [1]gdclass.GLTFNode, extensions map[any]any) error //Part of the import process. This method is run after [method _parse_node_extensions] and before [method _parse_texture_json]. //Runs when parsing image data from a GLTF file. The data could be sourced from a separate file, a URI, or a buffer, and then is passed as a byte array. ParseImageData(state [1]gdclass.GLTFState, image_data []byte, mime_type string, ret_image [1]gdclass.Image) error //Returns the file extension to use for saving image data into, for example, [code]".png"[/code]. If defined, when this extension is used to handle images, and the images are saved to a separate file, the image bytes will be copied to a file with this extension. If this is set, there should be a [ResourceImporter] class able to import the file. If not defined or empty, Godot will save the image into a PNG file. GetImageFileExtension() string //Part of the import process. This method is run after [method _parse_image_data] and before [method _generate_scene_node]. //Runs when parsing the texture JSON from the GLTF textures array. This can be used to set the source image index to use as the texture. ParseTextureJson(state [1]gdclass.GLTFState, texture_json map[any]any, ret_gltf_texture [1]gdclass.GLTFTexture) error //Part of the import process. This method is run after [method _import_post_parse] and before [method _import_node]. //Runs when generating a Godot scene node from a GLTFNode. The returned node will be added to the scene tree. Multiple nodes can be generated in this step if they are added as a child of the returned node. //[b]Note:[/b] The [param scene_parent] parameter may be null if this is the single root node. GenerateSceneNode(state [1]gdclass.GLTFState, gltf_node [1]gdclass.GLTFNode, scene_parent [1]gdclass.Node) [1]gdclass.Node3D //Part of the import process. This method is run after [method _parse_node_extensions] and before [method _generate_scene_node]. //This method can be used to modify any of the data imported so far after parsing, before generating the nodes and then running the final per-node import step. ImportPostParse(state [1]gdclass.GLTFState) error //Part of the import process. This method is run after [method _generate_scene_node] and before [method _import_post]. //This method can be used to make modifications to each of the generated Godot scene nodes. ImportNode(state [1]gdclass.GLTFState, gltf_node [1]gdclass.GLTFNode, json map[any]any, node [1]gdclass.Node) error //Part of the import process. This method is run last, after all other parts of the import process. //This method can be used to modify the final Godot scene generated by the import process. ImportPost(state [1]gdclass.GLTFState, root [1]gdclass.Node) error //Part of the export process. This method is run first, before all other parts of the export process. //The return value is used to determine if this [GLTFDocumentExtension] instance should be used for exporting a given GLTF file. If [constant OK], the export will use this [GLTFDocumentExtension] instance. If not overridden, [constant OK] is returned. ExportPreflight(state [1]gdclass.GLTFState, root [1]gdclass.Node) error //Part of the export process. This method is run after [method _export_preflight] and before [method _export_preserialize]. //Runs when converting the data from a Godot scene node. This method can be used to process the Godot scene node data into a format that can be used by [method _export_node]. ConvertSceneNode(state [1]gdclass.GLTFState, gltf_node [1]gdclass.GLTFNode, scene_node [1]gdclass.Node) //Part of the export process. This method is run after [method _convert_scene_node] and before [method _get_saveable_image_formats]. //This method can be used to alter the state before performing serialization. It runs every time when generating a buffer with [method GLTFDocument.generate_buffer] or writing to the file system with [method GLTFDocument.write_to_filesystem]. ExportPreserialize(state [1]gdclass.GLTFState) error //Part of the export process. This method is run after [method _convert_scene_node] and before [method _export_node]. //Returns an array of the image formats that can be saved/exported by this extension. This extension will only be selected as the image exporter if the [GLTFDocument]'s [member GLTFDocument.image_format] is in this array. If this [GLTFDocumentExtension] is selected as the image exporter, one of the [method _save_image_at_path] or [method _serialize_image_to_bytes] methods will run next, otherwise [method _export_node] will run next. If the format name contains [code]"Lossy"[/code], the lossy quality slider will be displayed. GetSaveableImageFormats() []string //Part of the export process. This method is run after [method _get_saveable_image_formats] and before [method _serialize_texture_json]. //This method is run when embedding images in the GLTF file. When images are saved separately, [method _save_image_at_path] runs instead. Note that these methods only run when this [GLTFDocumentExtension] is selected as the image exporter. //This method must set the image MIME type in the [param image_dict] with the [code]"mimeType"[/code] key. For example, for a PNG image, it would be set to [code]"image/png"[/code]. The return value must be a [PackedByteArray] containing the image data. SerializeImageToBytes(state [1]gdclass.GLTFState, image [1]gdclass.Image, image_dict map[any]any, image_format string, lossy_quality Float.X) []byte //Part of the export process. This method is run after [method _get_saveable_image_formats] and before [method _serialize_texture_json]. //This method is run when saving images separately from the GLTF file. When images are embedded, [method _serialize_image_to_bytes] runs instead. Note that these methods only run when this [GLTFDocumentExtension] is selected as the image exporter. SaveImageAtPath(state [1]gdclass.GLTFState, image [1]gdclass.Image, file_path string, image_format string, lossy_quality Float.X) error //Part of the export process. This method is run after [method _save_image_at_path] or [method _serialize_image_to_bytes], and before [method _export_node]. Note that this method only runs when this [GLTFDocumentExtension] is selected as the image exporter. //This method can be used to set up the extensions for the texture JSON by editing [param texture_json]. The extension must also be added as used extension with [method GLTFState.add_used_extension], be sure to set [code]required[/code] to [code]true[/code] if you are not providing a fallback. SerializeTextureJson(state [1]gdclass.GLTFState, texture_json map[any]any, gltf_texture [1]gdclass.GLTFTexture, image_format string) error //Part of the export process. This method is run after [method _get_saveable_image_formats] and before [method _export_post]. If this [GLTFDocumentExtension] is used for exporting images, this runs after [method _serialize_texture_json]. //This method can be used to modify the final JSON of each node. Data should be primarily stored in [param gltf_node] prior to serializing the JSON, but the original Godot [param node] is also provided if available. The node may be null if not available, such as when exporting GLTF data not generated from a Godot scene. ExportNode(state [1]gdclass.GLTFState, gltf_node [1]gdclass.GLTFNode, json map[any]any, node [1]gdclass.Node) error //Part of the export process. This method is run last, after all other parts of the export process. //This method can be used to modify the final JSON of the generated GLTF file. ExportPost(state [1]gdclass.GLTFState) error }