2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-03-30 18:22:57 +02:00
<class name= "EditorNode3DGizmo" inherits= "Node3DGizmo" version= "4.0" >
2017-09-12 22:42:36 +02:00
<brief_description >
2020-03-30 18:22:57 +02:00
Custom gizmo for editing Node3D objects.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2020-03-30 18:22:57 +02:00
Custom gizmo that is used for providing custom visualization and editing (handles) for Node3D objects. See [EditorNode3DGizmoPlugin] for more information.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2021-05-15 23:48:59 +02:00
<method name= "_commit_handle" qualifiers= "virtual" >
<return type= "void" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<argument index= "1" name= "restore" type= "Variant" >
</argument>
<argument index= "2" name= "cancel" type= "bool" default= "false" >
</argument>
<description >
Commit a handle being edited (handles must have been previously added by [method add_handles]).
If the [code]cancel[/code] parameter is [code]true[/code], an option to restore the edited value to the original is provided.
</description>
</method>
<method name= "_get_handle_name" qualifiers= "virtual" >
<return type= "String" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<description >
Gets the name of an edited handle (handles must have been previously added by [method add_handles]).
Handles can be named for reference to the user when editing.
</description>
</method>
<method name= "_get_handle_value" qualifiers= "virtual" >
<return type= "Variant" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<description >
Gets actual value of a handle. This value can be anything and used for eventually undoing the motion when calling [method _commit_handle].
</description>
</method>
<method name= "_is_handle_highlighted" qualifiers= "virtual" >
<return type= "bool" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<description >
Returns [code]true[/code] if the handle at index [code]index[/code] is highlighted by being hovered with the mouse.
</description>
</method>
<method name= "_redraw" qualifiers= "virtual" >
<return type= "void" >
</return>
<description >
This function is called when the [Node3D] this gizmo refers to changes (the [method Node3D.update_gizmo] is called).
</description>
</method>
<method name= "_set_handle" qualifiers= "virtual" >
<return type= "void" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<argument index= "1" name= "camera" type= "Camera3D" >
</argument>
<argument index= "2" name= "point" type= "Vector2" >
</argument>
<description >
This function is used when the user drags a gizmo handle (previously added with [method add_handles]) in screen coordinates.
The [Camera3D] is also provided so screen coordinates can be converted to raycasts.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "add_collision_segments" >
<return type= "void" >
</return>
2020-02-18 13:59:24 +01:00
<argument index= "0" name= "segments" type= "PackedVector3Array" >
2017-09-12 22:42:36 +02:00
</argument>
<description >
2021-05-15 23:48:59 +02:00
Adds the specified [code]segments[/code] to the gizmo's collision shape for picking. Call this function during [method _redraw].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_collision_triangles" >
<return type= "void" >
</return>
<argument index= "0" name= "triangles" type= "TriangleMesh" >
</argument>
<description >
2021-05-15 23:48:59 +02:00
Adds collision triangles to the gizmo for picking. A [TriangleMesh] can be generated from a regular [Mesh] too. Call this function during [method _redraw].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_handles" >
<return type= "void" >
</return>
2020-02-18 13:59:24 +01:00
<argument index= "0" name= "handles" type= "PackedVector3Array" >
2017-09-12 22:42:36 +02:00
</argument>
2018-08-21 00:35:30 +02:00
<argument index= "1" name= "material" type= "Material" >
2017-09-12 22:42:36 +02:00
</argument>
2018-08-21 00:35:30 +02:00
<argument index= "2" name= "billboard" type= "bool" default= "false" >
</argument>
<argument index= "3" name= "secondary" type= "bool" default= "false" >
2017-09-12 22:42:36 +02:00
</argument>
<description >
2019-06-22 01:04:47 +02:00
Adds a list of handles (points) which can be used to deform the object being edited.
2021-05-15 23:48:59 +02:00
There are virtual functions which will be called upon editing of these handles. Call this function during [method _redraw].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_lines" >
<return type= "void" >
</return>
2020-02-18 13:59:24 +01:00
<argument index= "0" name= "lines" type= "PackedVector3Array" >
2017-09-12 22:42:36 +02:00
</argument>
<argument index= "1" name= "material" type= "Material" >
</argument>
<argument index= "2" name= "billboard" type= "bool" default= "false" >
</argument>
2019-09-24 19:45:03 +02:00
<argument index= "3" name= "modulate" type= "Color" default= "Color(1, 1, 1, 1)" >
2020-01-03 15:09:03 +01:00
</argument>
2017-09-12 22:42:36 +02:00
<description >
2021-05-15 23:48:59 +02:00
Adds lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this function during [method _redraw].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_mesh" >
<return type= "void" >
</return>
<argument index= "0" name= "mesh" type= "ArrayMesh" >
</argument>
<argument index= "1" name= "billboard" type= "bool" default= "false" >
</argument>
2019-09-24 15:57:22 +02:00
<argument index= "2" name= "skeleton" type= "SkinReference" default= "null" >
2017-09-12 22:42:36 +02:00
</argument>
2019-02-25 11:21:15 +01:00
<argument index= "3" name= "material" type= "Material" default= "null" >
</argument>
2017-09-12 22:42:36 +02:00
<description >
2021-05-15 23:48:59 +02:00
Adds a mesh to the gizmo with the specified [code]billboard[/code] state, [code]skeleton[/code] and [code]material[/code]. If [code]billboard[/code] is [code]true[/code], the mesh will rotate to always face the camera. Call this function during [method _redraw].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_unscaled_billboard" >
<return type= "void" >
</return>
<argument index= "0" name= "material" type= "Material" >
</argument>
<argument index= "1" name= "default_scale" type= "float" default= "1" >
</argument>
2019-09-24 19:45:03 +02:00
<argument index= "2" name= "modulate" type= "Color" default= "Color(1, 1, 1, 1)" >
2020-01-03 15:09:03 +01:00
</argument>
2017-09-12 22:42:36 +02:00
<description >
2021-05-15 23:48:59 +02:00
Adds an unscaled billboard for visualization. Call this function during [method _redraw].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "clear" >
<return type= "void" >
</return>
<description >
2020-07-18 17:17:00 +02:00
Removes everything in the gizmo including meshes, collisions and handles.
2017-09-12 22:42:36 +02:00
</description>
</method>
2019-01-25 12:57:32 +01:00
<method name= "get_plugin" qualifiers= "const" >
2020-03-30 18:22:57 +02:00
<return type= "EditorNode3DGizmoPlugin" >
2019-01-25 12:57:32 +01:00
</return>
<description >
2020-03-30 18:22:57 +02:00
Returns the [EditorNode3DGizmoPlugin] that owns this gizmo. It's useful to retrieve materials using [method EditorNode3DGizmoPlugin.get_material].
2019-01-25 12:57:32 +01:00
</description>
</method>
<method name= "get_spatial_node" qualifiers= "const" >
2020-03-30 18:22:57 +02:00
<return type= "Node3D" >
2019-01-25 12:57:32 +01:00
</return>
<description >
2020-03-30 18:22:57 +02:00
Returns the Node3D node associated with this gizmo.
2019-01-25 12:57:32 +01:00
</description>
</method>
2018-08-21 00:35:30 +02:00
<method name= "set_hidden" >
<return type= "void" >
</return>
<argument index= "0" name= "hidden" type= "bool" >
</argument>
<description >
2020-07-18 17:17:00 +02:00
Sets the gizmo's hidden state. If [code]true[/code], the gizmo will be hidden. If [code]false[/code], it will be shown.
2018-08-21 00:35:30 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_spatial_node" >
<return type= "void" >
</return>
<argument index= "0" name= "node" type= "Node" >
</argument>
<description >
2020-07-18 17:17:00 +02:00
Sets the reference [Node3D] node for the gizmo. [code]node[/code] must inherit from [Node3D].
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<constants >
</constants>
</class>