:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the EditorSpatialGizmoPlugin.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_EditorSpatialGizmoPlugin: EditorSpatialGizmoPlugin ======================== **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` Used by the editor to define Spatial gizmo types. Description ----------- ``EditorSpatialGizmoPlugin`` allows you to define a new type of Gizmo. There are two main ways to do so: extending ``EditorSpatialGizmoPlugin`` for the simpler gizmos, or creating a new :ref:`EditorSpatialGizmo` type. See the tutorial in the documentation for more info. To use ``EditorSpatialGizmoPlugin``, register it using the :ref:`EditorPlugin.add_spatial_gizmo_plugin` method first. Tutorials --------- - :doc:`../tutorials/plugins/editor/spatial_gizmos` Methods ------- +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_material` **(** :ref:`String` name, :ref:`SpatialMaterial` material **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_be_hidden` **(** **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`commit_handle` **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index, :ref:`Variant` restore, :ref:`bool` cancel=false **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`EditorSpatialGizmo` | :ref:`create_gizmo` **(** :ref:`Spatial` spatial **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`create_handle_material` **(** :ref:`String` name, :ref:`bool` billboard=false, :ref:`Texture` texture=null **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`create_icon_material` **(** :ref:`String` name, :ref:`Texture` texture, :ref:`bool` on_top=false, :ref:`Color` color=Color( 1, 1, 1, 1 ) **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`create_material` **(** :ref:`String` name, :ref:`Color` color, :ref:`bool` billboard=false, :ref:`bool` on_top=false, :ref:`bool` use_vertex_color=false **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_handle_name` **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_handle_value` **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SpatialMaterial` | :ref:`get_material` **(** :ref:`String` name, :ref:`EditorSpatialGizmo` gizmo=null **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_name` **(** **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_priority` **(** **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_gizmo` **(** :ref:`Spatial` spatial **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_handle_highlighted` **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_selectable_when_hidden` **(** **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`redraw` **(** :ref:`EditorSpatialGizmo` gizmo **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_handle` **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index, :ref:`Camera` camera, :ref:`Vector2` point **)** |virtual| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- .. _class_EditorSpatialGizmoPlugin_method_add_material: - void **add_material** **(** :ref:`String` name, :ref:`SpatialMaterial` material **)** Adds a new material to the internal material list for the plugin. It can then be accessed with :ref:`get_material`. Should not be overridden. ---- .. _class_EditorSpatialGizmoPlugin_method_can_be_hidden: - :ref:`bool` **can_be_hidden** **(** **)** |virtual| Override this method to define whether the gizmo can be hidden or not. Returns ``true`` if not overridden. ---- .. _class_EditorSpatialGizmoPlugin_method_commit_handle: - void **commit_handle** **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index, :ref:`Variant` restore, :ref:`bool` cancel=false **)** |virtual| Override this method to commit gizmo handles. Called for this plugin's active gizmos. ---- .. _class_EditorSpatialGizmoPlugin_method_create_gizmo: - :ref:`EditorSpatialGizmo` **create_gizmo** **(** :ref:`Spatial` spatial **)** |virtual| Override this method to return a custom :ref:`EditorSpatialGizmo` for the spatial nodes of your choice, return ``null`` for the rest of nodes. See also :ref:`has_gizmo`. ---- .. _class_EditorSpatialGizmoPlugin_method_create_handle_material: - void **create_handle_material** **(** :ref:`String` name, :ref:`bool` billboard=false, :ref:`Texture` texture=null **)** Creates a handle material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with :ref:`get_material` and used in :ref:`EditorSpatialGizmo.add_handles`. Should not be overridden. You can optionally provide a texture to use instead of the default icon. ---- .. _class_EditorSpatialGizmoPlugin_method_create_icon_material: - void **create_icon_material** **(** :ref:`String` name, :ref:`Texture` texture, :ref:`bool` on_top=false, :ref:`Color` color=Color( 1, 1, 1, 1 ) **)** Creates an icon material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with :ref:`get_material` and used in :ref:`EditorSpatialGizmo.add_unscaled_billboard`. Should not be overridden. ---- .. _class_EditorSpatialGizmoPlugin_method_create_material: - void **create_material** **(** :ref:`String` name, :ref:`Color` color, :ref:`bool` billboard=false, :ref:`bool` on_top=false, :ref:`bool` use_vertex_color=false **)** Creates an unshaded material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with :ref:`get_material` and used in :ref:`EditorSpatialGizmo.add_mesh` and :ref:`EditorSpatialGizmo.add_lines`. Should not be overridden. ---- .. _class_EditorSpatialGizmoPlugin_method_get_handle_name: - :ref:`String` **get_handle_name** **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index **)** |virtual| Override this method to provide gizmo's handle names. Called for this plugin's active gizmos. ---- .. _class_EditorSpatialGizmoPlugin_method_get_handle_value: - :ref:`Variant` **get_handle_value** **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index **)** |virtual| Gets actual value of a handle from gizmo. Called for this plugin's active gizmos. ---- .. _class_EditorSpatialGizmoPlugin_method_get_material: - :ref:`SpatialMaterial` **get_material** **(** :ref:`String` name, :ref:`EditorSpatialGizmo` gizmo=null **)** Gets material from the internal list of materials. If an :ref:`EditorSpatialGizmo` is provided, it will try to get the corresponding variant (selected and/or editable). ---- .. _class_EditorSpatialGizmoPlugin_method_get_name: - :ref:`String` **get_name** **(** **)** |virtual| Override this method to provide the name that will appear in the gizmo visibility menu. ---- .. _class_EditorSpatialGizmoPlugin_method_get_priority: - :ref:`int` **get_priority** **(** **)** |virtual| Override this method to set the gizmo's priority. Higher values correspond to higher priority. If a gizmo with higher priority conflicts with another gizmo, only the gizmo with higher priority will be used. All built-in editor gizmos return a priority of ``-1``. If not overridden, this method will return ``0``, which means custom gizmos will automatically override built-in gizmos. ---- .. _class_EditorSpatialGizmoPlugin_method_has_gizmo: - :ref:`bool` **has_gizmo** **(** :ref:`Spatial` spatial **)** |virtual| Override this method to define which Spatial nodes have a gizmo from this plugin. Whenever a :ref:`Spatial` node is added to a scene this method is called, if it returns ``true`` the node gets a generic :ref:`EditorSpatialGizmo` assigned and is added to this plugin's list of active gizmos. ---- .. _class_EditorSpatialGizmoPlugin_method_is_handle_highlighted: - :ref:`bool` **is_handle_highlighted** **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index **)** |virtual| Gets whether a handle is highlighted or not. Called for this plugin's active gizmos. ---- .. _class_EditorSpatialGizmoPlugin_method_is_selectable_when_hidden: - :ref:`bool` **is_selectable_when_hidden** **(** **)** |virtual| Override this method to define whether a Spatial with this gizmo should be selectable even when the gizmo is hidden. ---- .. _class_EditorSpatialGizmoPlugin_method_redraw: - void **redraw** **(** :ref:`EditorSpatialGizmo` gizmo **)** |virtual| Callback to redraw the provided gizmo. Called for this plugin's active gizmos. ---- .. _class_EditorSpatialGizmoPlugin_method_set_handle: - void **set_handle** **(** :ref:`EditorSpatialGizmo` gizmo, :ref:`int` index, :ref:`Camera` camera, :ref:`Vector2` point **)** |virtual| Update the value of a handle after it has been updated. Called for this plugin's active gizmos. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`