2021-09-21 01:24:31 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 13:18:53 +00:00
<class name= "GLTFDocumentExtension" inherits= "Resource" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../../../doc/class.xsd" >
2021-09-21 01:24:31 +00:00
<brief_description >
2022-09-18 03:16:22 +00:00
[GLTFDocument] extension class.
2021-09-21 01:24:31 +00:00
</brief_description>
<description >
2022-09-18 03:16:22 +00:00
Extends the functionality of the [GLTFDocument] class by allowing you to run arbitrary code at various stages of GLTF import or export.
2022-09-19 01:35:13 +00:00
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].
2021-09-21 01:24:31 +00:00
</description>
<tutorials >
</tutorials>
<methods >
2022-04-09 09:35:50 +00:00
<method name= "_export_node" qualifiers= "virtual" >
<return type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "state" type= "GLTFState" />
<param index= "1" name= "gltf_node" type= "GLTFNode" />
<param index= "2" name= "json" type= "Dictionary" />
<param index= "3" name= "node" type= "Node" />
2021-09-21 01:24:31 +00:00
<description >
</description>
</method>
2022-04-09 09:35:50 +00:00
<method name= "_export_post" qualifiers= "virtual" >
<return type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "state" type= "GLTFState" />
2021-09-21 01:24:31 +00:00
<description >
</description>
</method>
2022-04-09 09:35:50 +00:00
<method name= "_export_preflight" qualifiers= "virtual" >
<return type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "root" type= "Node" />
2021-09-21 01:24:31 +00:00
<description >
</description>
</method>
2022-09-19 01:35:13 +00:00
<method name= "_get_supported_extensions" qualifiers= "virtual" >
<return type= "PackedStringArray" />
<description >
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.
</description>
</method>
2022-04-09 09:35:50 +00:00
<method name= "_import_node" qualifiers= "virtual" >
<return type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "state" type= "GLTFState" />
<param index= "1" name= "gltf_node" type= "GLTFNode" />
<param index= "2" name= "json" type= "Dictionary" />
<param index= "3" name= "node" type= "Node" />
2021-09-21 01:24:31 +00:00
<description >
</description>
</method>
2022-04-09 09:35:50 +00:00
<method name= "_import_post" qualifiers= "virtual" >
<return type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "state" type= "GLTFState" />
<param index= "1" name= "root" type= "Node" />
2021-09-21 01:24:31 +00:00
<description >
</description>
</method>
2022-04-09 09:35:50 +00:00
<method name= "_import_post_parse" qualifiers= "virtual" >
<return type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "state" type= "GLTFState" />
2021-09-21 01:24:31 +00:00
<description >
</description>
</method>
2022-04-09 09:35:50 +00:00
<method name= "_import_preflight" qualifiers= "virtual" >
<return type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "state" type= "GLTFState" />
2022-09-19 01:35:13 +00:00
<param index= "1" name= "extensions" type= "PackedStringArray" />
2021-09-21 01:24:31 +00:00
<description >
2022-09-19 01:35:13 +00:00
This callback is run first. It is used to determine if this GLTFDocumentExtension class should be used for importing a given GLTF file. If [constant OK], the import will use this GLTFDocumentExtension class.
2021-09-21 01:24:31 +00:00
</description>
</method>
</methods>
</class>