2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2017-11-24 09:16:52 +01:00
<class name= "Spatial" inherits= "Node" category= "Core" version= "3.0-beta" >
2017-09-12 22:42:36 +02:00
<brief_description >
Most basic 3D game object, parent of all 3D related nodes.
</brief_description>
<description >
2017-09-14 07:42:21 +02:00
Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Spatial. Use Spatial as a parent node to move, scale, rotate and show/hide children in a 3D project.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "get_gizmo" qualifiers= "const" >
<return type= "SpatialGizmo" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Returns the SpatialGizmo for this node. Used for example in [EditorSpatialGizmo] as custom visualization and editing handles in Editor.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_parent_spatial" qualifiers= "const" >
<return type= "Spatial" >
</return>
<description >
2017-10-22 12:56:11 +02:00
Returns the parent [code]Spatial[/code], or an empty [Object] if no parent exists or parent is not of type [code]Spatial[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_world" qualifiers= "const" >
<return type= "World" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Returns the current [World] resource this Spatial node is registered to.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "global_rotate" >
<return type= "void" >
</return>
<argument index= "0" name= "normal" type= "Vector3" >
</argument>
<argument index= "1" name= "radians" type= "float" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Rotates the current node along normal [Vector3] by angle in radians in Global space.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "global_translate" >
<return type= "void" >
</return>
<argument index= "0" name= "offset" type= "Vector3" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Moves the node by [Vector3] offset in Global space.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "hide" >
<return type= "void" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Disables rendering of this node. Change Spatial Visible property to false.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_local_transform_notification_enabled" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Returns whether node notifies about its local transformation changes. Spatial will not propagate this by default.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_set_as_toplevel" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Returns whether this node is set as Toplevel, that is whether it ignores its parent nodes transformations.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_transform_notification_enabled" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Returns whether the node notifies about its global and local transformation changes. Spatial will not propagate this by default.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_visible_in_tree" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Returns whether the node is visible, taking into consideration that its parents visibility.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "look_at" >
<return type= "void" >
</return>
<argument index= "0" name= "target" type= "Vector3" >
</argument>
<argument index= "1" name= "up" type= "Vector3" >
</argument>
<description >
Rotates itself to point into direction of target position. Operations take place in global space.
</description>
</method>
2017-09-10 15:37:49 +02:00
<method name= "look_at_from_position" >
2017-09-12 22:42:36 +02:00
<return type= "void" >
</return>
2017-09-10 15:37:49 +02:00
<argument index= "0" name= "position" type= "Vector3" >
2017-09-12 22:42:36 +02:00
</argument>
<argument index= "1" name= "target" type= "Vector3" >
</argument>
<argument index= "2" name= "up" type= "Vector3" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Moves the node to specified position and then rotates itself to point into direction of target position. Operations take place in global space.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "orthonormalize" >
<return type= "void" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Resets this node's transformations (like scale, skew and taper) preserving its rotation and translation. Performs orthonormalization on this node [Transform3D].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "rotate" >
<return type= "void" >
</return>
<argument index= "0" name= "normal" type= "Vector3" >
</argument>
<argument index= "1" name= "radians" type= "float" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Rotates the node in local space on given normal [Vector3] by angle in radians.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "rotate_x" >
<return type= "void" >
</return>
<argument index= "0" name= "radians" type= "float" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Rotates the node in local space on X axis by angle in radians.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "rotate_y" >
<return type= "void" >
</return>
<argument index= "0" name= "radians" type= "float" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Rotates the node in local space on Y axis by angle in radians.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "rotate_z" >
<return type= "void" >
</return>
<argument index= "0" name= "radians" type= "float" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Rotates the node in local space on Z axis by angle in radians.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_as_toplevel" >
<return type= "void" >
</return>
<argument index= "0" name= "enable" type= "bool" >
</argument>
<description >
2017-10-14 12:45:26 +02:00
Makes the node ignore its parents transformations. Node transformations are only in global space.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_gizmo" >
<return type= "void" >
</return>
<argument index= "0" name= "gizmo" type= "SpatialGizmo" >
</argument>
<description >
Set [SpatialGizmo] for this node. Used for example in [EditorSpatialGizmo] as custom visualization and editing handles in Editor.
</description>
</method>
<method name= "set_identity" >
<return type= "void" >
</return>
<description >
2017-10-14 12:45:26 +02:00
Reset all transformations for this node. Set its [Transform3D] to identity matrix.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_ignore_transform_notification" >
<return type= "void" >
</return>
<argument index= "0" name= "enabled" type= "bool" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Set whether the node ignores notification that its transformation (global or local) changed.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_notify_local_transform" >
<return type= "void" >
</return>
<argument index= "0" name= "enable" type= "bool" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Set whether the node notifies about its local transformation changes. Spatial will not propagate this by default.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_notify_transform" >
<return type= "void" >
</return>
<argument index= "0" name= "enable" type= "bool" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Set whether the node notifies about its global and local transformation changes. Spatial will not propagate this by default.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "show" >
<return type= "void" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Enables rendering of this node. Change Spatial Visible property to "True".
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "to_global" qualifiers= "const" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "local_point" type= "Vector3" >
</argument>
<description >
2017-10-14 12:45:26 +02:00
Transforms [Vector3] "local_point" from this node's local space to world space.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "to_local" qualifiers= "const" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "global_point" type= "Vector3" >
</argument>
<description >
2017-10-14 12:45:26 +02:00
Transforms [Vector3] "global_point" from world space to this node's local space.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "translate" >
<return type= "void" >
</return>
<argument index= "0" name= "offset" type= "Vector3" >
</argument>
<description >
2017-09-14 07:42:21 +02:00
Changes the node's position by given offset [Vector3].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "update_gizmo" >
<return type= "void" >
</return>
<description >
2017-09-14 07:42:21 +02:00
Updates the [SpatialGizmo] of this node.
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<members >
2017-09-13 08:49:40 +02:00
<member name= "global_transform" type= "Transform" setter= "set_global_transform" getter= "get_global_transform" >
2017-09-12 22:42:36 +02:00
World space (global) [Transform] of this node.
</member>
2017-09-13 08:49:40 +02:00
<member name= "rotation" type= "Vector3" setter= "set_rotation" getter= "get_rotation" >
2017-09-12 22:42:36 +02:00
Local euler rotation in radians of this node.
</member>
2017-11-10 11:07:52 +01:00
<member name= "rotation_degrees" type= "Vector3" setter= "set_rotation_degrees" getter= "get_rotation_degrees" >
2017-09-12 22:42:36 +02:00
Local euler rotation in degrees of this node.
</member>
2017-09-13 08:49:40 +02:00
<member name= "scale" type= "Vector3" setter= "set_scale" getter= "get_scale" >
2017-09-12 22:42:36 +02:00
Local scale of this node.
</member>
2017-09-13 08:49:40 +02:00
<member name= "transform" type= "Transform" setter= "set_transform" getter= "get_transform" >
2017-09-12 22:42:36 +02:00
Local space [Transform] of this node.
</member>
2017-09-13 08:49:40 +02:00
<member name= "translation" type= "Vector3" setter= "set_translation" getter= "get_translation" >
2017-09-12 22:42:36 +02:00
Local translation of this node.
</member>
2017-09-13 08:49:40 +02:00
<member name= "visible" type= "bool" setter= "set_visible" getter= "is_visible" >
2017-09-12 22:42:36 +02:00
Visibility of this node. Toggles if this node is rendered.
</member>
</members>
<signals >
<signal name= "visibility_changed" >
<description >
2017-09-14 07:42:21 +02:00
Emitted when node visibility changes.
2017-09-12 22:42:36 +02:00
</description>
</signal>
</signals>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "NOTIFICATION_TRANSFORM_CHANGED" value= "29" >
2017-09-14 07:42:21 +02:00
Spatial nodes receives this notification when their global transform changes. This means that either the current or a parent node changed its transform.
2017-09-12 22:42:36 +02:00
In order for NOTIFICATION_TRANSFORM_CHANGED to work user first needs to ask for it, with set_notify_transform(true).
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "NOTIFICATION_ENTER_WORLD" value= "41" >
2017-09-14 07:42:21 +02:00
Spatial nodes receives this notification when they are registered to new [World] resource.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "NOTIFICATION_EXIT_WORLD" value= "42" >
2017-09-14 07:42:21 +02:00
Spatial nodes receives this notification when they are unregistered from current [World] resource.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "NOTIFICATION_VISIBILITY_CHANGED" value= "43" >
2017-09-14 07:42:21 +02:00
Spatial nodes receives this notification when their visibility changes.
2017-09-12 22:42:36 +02:00
</constant>
</constants>
</class>