2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2021-03-23 13:40:34 +01:00
<class name= "EditorSpatialGizmo" inherits= "SpatialGizmo" version= "3.3" >
2017-09-12 22:42:36 +02:00
<brief_description >
Custom gizmo for editing Spatial objects.
</brief_description>
<description >
2019-01-25 12:57:32 +01:00
Custom gizmo that is used for providing custom visualization and editing (handles) for 3D Spatial objects. See [EditorSpatialGizmoPlugin] for more information.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_collision_segments" >
<return type= "void" >
</return>
<argument index= "0" name= "segments" type= "PoolVector3Array" >
</argument>
<description >
2020-07-18 17:17:00 +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 >
2019-06-22 01:04:47 +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>
<argument index= "0" name= "handles" type= "PoolVector3Array" >
</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.
2017-09-12 22:42:36 +02:00
There are virtual functions which will be called upon editing of these handles. Call this function during [method redraw].
</description>
</method>
<method name= "add_lines" >
<return type= "void" >
</return>
<argument index= "0" name= "lines" type= "PoolVector3Array" >
</argument>
<argument index= "1" name= "material" type= "Material" >
</argument>
<argument index= "2" name= "billboard" type= "bool" default= "false" >
</argument>
2020-01-03 15:09:03 +01:00
<argument index= "3" name= "modulate" type= "Color" default= "Color( 1, 1, 1, 1 )" >
</argument>
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +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 >
2020-07-18 17:17:00 +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>
2020-01-03 15:09:03 +01:00
<argument index= "2" name= "modulate" type= "Color" default= "Color( 1, 1, 1, 1 )" >
</argument>
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +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>
<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 >
2017-10-14 12:45:26 +02:00
Commit a handle being edited (handles must have been previously added by [method add_handles]).
2019-06-22 01:04:47 +02:00
If the [code]cancel[/code] parameter is [code]true[/code], an option to restore the edited value to the original is provided.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_handle_name" qualifiers= "virtual" >
<return type= "String" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<description >
2019-06-22 01:04:47 +02:00
Gets the name of an edited handle (handles must have been previously added by [method add_handles]).
2017-09-12 22:42:36 +02:00
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 >
2019-06-22 01:04:47 +02:00
Gets actual value of a handle. This value can be anything and used for eventually undoing the motion when calling [method commit_handle].
2019-01-25 12:57:32 +01:00
</description>
</method>
<method name= "get_plugin" qualifiers= "const" >
<return type= "EditorSpatialGizmoPlugin" >
</return>
<description >
2019-05-24 04:15:43 +02:00
Returns the [EditorSpatialGizmoPlugin] that owns this gizmo. It's useful to retrieve materials using [method EditorSpatialGizmoPlugin.get_material].
2019-01-25 12:57:32 +01:00
</description>
</method>
<method name= "get_spatial_node" qualifiers= "const" >
<return type= "Spatial" >
</return>
<description >
Returns the Spatial node associated with this gizmo.
</description>
</method>
<method name= "is_handle_highlighted" qualifiers= "virtual" >
<return type= "bool" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<description >
2020-07-18 17:17:00 +02:00
Returns [code]true[/code] if the handle at index [code]index[/code] is highlighted by being hovered with the mouse.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "redraw" qualifiers= "virtual" >
<return type= "void" >
</return>
<description >
2020-07-18 17:17:00 +02:00
This function is called when the [Spatial] this gizmo refers to changes (the [method Spatial.update_gizmo] is called).
2017-09-12 22:42:36 +02:00
</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= "Camera" >
</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 [Camera] is also provided so screen coordinates can be converted to raycasts.
</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 [Spatial] node for the gizmo. [code]node[/code] must inherit from [Spatial].
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<constants >
</constants>
</class>