diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index bb7a9fd7..30ea7d43 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -88,7 +88,7 @@ Private & Public:
Other formatting:
* One blank line between functions
-* All code passed through clang-format. See below
+* All code passed through clang-format. See above
## Documentation
diff --git a/LICENSE.txt b/LICENSE.txt
index b4293b70..14089b67 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023 Cory Petkovsek, Roope Palmroos, and Contributors.
+Copyright (c) 2024 Cory Petkovsek, Roope Palmroos, and Contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Terrain3D.vcxproj b/Terrain3D.vcxproj
index 76390882..ed9989a3 100644
--- a/Terrain3D.vcxproj
+++ b/Terrain3D.vcxproj
@@ -186,6 +186,7 @@
+
@@ -213,7 +214,7 @@
-
+
diff --git a/Terrain3D.vcxproj.filters b/Terrain3D.vcxproj.filters
index 95e1b520..ac8c334c 100644
--- a/Terrain3D.vcxproj.filters
+++ b/Terrain3D.vcxproj.filters
@@ -223,6 +223,7 @@
1. Project Files
+
@@ -237,7 +238,7 @@
2. Docs
-
+
2. Docs
diff --git a/doc/api/class_terrain3d.rst b/doc/api/class_terrain3d.rst
index 2136d87c..a2c23d03 100644
--- a/doc/api/class_terrain3d.rst
+++ b/doc/api/class_terrain3d.rst
@@ -77,21 +77,27 @@ Methods
.. table::
:widths: auto
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Mesh` | :ref:`bake_mesh`\ (\ lod\: :ref:`int`, filter\: :ref:`HeightFilter`\ ) |
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PackedVector3Array` | :ref:`generate_nav_mesh_source_geometry`\ (\ global_aabb\: :ref:`AABB`, require_nav\: :ref:`bool` = true\ ) |
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Camera3D` | :ref:`get_camera`\ (\ ) |
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector3` | :ref:`get_intersection`\ (\ src_pos\: :ref:`Vector3`, direction\: :ref:`Vector3`\ ) |
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`EditorPlugin` | :ref:`get_plugin`\ (\ ) |
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_camera`\ (\ camera\: :ref:`Camera3D`\ ) |
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_plugin`\ (\ plugin\: :ref:`EditorPlugin`\ ) |
- +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`Mesh` | :ref:`bake_mesh`\ (\ lod\: :ref:`int`, filter\: :ref:`HeightFilter`\ ) |const| |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`PackedVector3Array` | :ref:`generate_nav_mesh_source_geometry`\ (\ global_aabb\: :ref:`AABB`, require_nav\: :ref:`bool` = true\ ) |const| |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`Camera3D` | :ref:`get_camera`\ (\ ) |const| |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`RID` | :ref:`get_collision_rid`\ (\ ) |const| |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`Terrain3DEditor` | :ref:`get_editor`\ (\ ) |const| |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`Vector3` | :ref:`get_intersection`\ (\ src_pos\: :ref:`Vector3`, direction\: :ref:`Vector3`\ ) |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`EditorPlugin` | :ref:`get_plugin`\ (\ ) |const| |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`set_camera`\ (\ camera\: :ref:`Camera3D`\ ) |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`set_editor`\ (\ editor\: :ref:`Terrain3DEditor`\ ) |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`set_plugin`\ (\ plugin\: :ref:`EditorPlugin`\ ) |
+ +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
@@ -485,7 +491,7 @@ Method Descriptions
.. rst-class:: classref-method
-:ref:`Mesh` **bake_mesh**\ (\ lod\: :ref:`int`, filter\: :ref:`HeightFilter`\ ) :ref:`🔗`
+:ref:`Mesh` **bake_mesh**\ (\ lod\: :ref:`int`, filter\: :ref:`HeightFilter`\ ) |const| :ref:`🔗`
Generates a static ArrayMesh for the terrain.
@@ -501,7 +507,7 @@ Generates a static ArrayMesh for the terrain.
.. rst-class:: classref-method
-:ref:`PackedVector3Array` **generate_nav_mesh_source_geometry**\ (\ global_aabb\: :ref:`AABB`, require_nav\: :ref:`bool` = true\ ) :ref:`🔗`
+:ref:`PackedVector3Array` **generate_nav_mesh_source_geometry**\ (\ global_aabb\: :ref:`AABB`, require_nav\: :ref:`bool` = true\ ) |const| :ref:`🔗`
Generates source geometry faces for input to nav mesh baking. Geometry is only generated where there are no holes and the terrain has been painted as navigable.
@@ -517,7 +523,7 @@ Generates source geometry faces for input to nav mesh baking. Geometry is only g
.. rst-class:: classref-method
-:ref:`Camera3D` **get_camera**\ (\ ) :ref:`🔗`
+:ref:`Camera3D` **get_camera**\ (\ ) |const| :ref:`🔗`
Returns the camera the terrain is currently snapping to.
@@ -525,6 +531,30 @@ Returns the camera the terrain is currently snapping to.
----
+.. _class_Terrain3D_method_get_collision_rid:
+
+.. rst-class:: classref-method
+
+:ref:`RID` **get_collision_rid**\ (\ ) |const| :ref:`🔗`
+
+Returns the RID of the active StaticBody.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_Terrain3D_method_get_editor:
+
+.. rst-class:: classref-method
+
+:ref:`Terrain3DEditor` **get_editor**\ (\ ) |const| :ref:`🔗`
+
+Returns the current Terrain3DEditor instance, if it has been set.
+
+.. rst-class:: classref-item-separator
+
+----
+
.. _class_Terrain3D_method_get_intersection:
.. rst-class:: classref-method
@@ -555,7 +585,7 @@ It does require the use of an editor render layer (21-32) that should be dedicat
.. rst-class:: classref-method
-:ref:`EditorPlugin` **get_plugin**\ (\ ) :ref:`🔗`
+:ref:`EditorPlugin` **get_plugin**\ (\ ) |const| :ref:`🔗`
Returns the EditorPlugin connected to Terrain3D.
@@ -575,6 +605,18 @@ Sets the camera the terrain snaps to.
----
+.. _class_Terrain3D_method_set_editor:
+
+.. rst-class:: classref-method
+
+|void| **set_editor**\ (\ editor\: :ref:`Terrain3DEditor`\ ) :ref:`🔗`
+
+Sets the current Terrain3DEditor instance.
+
+.. rst-class:: classref-item-separator
+
+----
+
.. _class_Terrain3D_method_set_plugin:
.. rst-class:: classref-method
diff --git a/doc/api/class_terrain3dassets.rst b/doc/api/class_terrain3dassets.rst
index 995fcc05..a2993447 100644
--- a/doc/api/class_terrain3dassets.rst
+++ b/doc/api/class_terrain3dassets.rst
@@ -44,13 +44,13 @@ Methods
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`create_mesh_thumbnails`\ (\ id\: :ref:`int` = -1, size\: :ref:`Vector2i` = Vector2i(128, 128)\ ) |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Terrain3DMeshAsset` | :ref:`get_mesh_asset`\ (\ id\: :ref:`int`\ ) |
+ | :ref:`Terrain3DMeshAsset` | :ref:`get_mesh_asset`\ (\ id\: :ref:`int`\ ) |const| |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int` | :ref:`get_mesh_count`\ (\ ) |
+ | :ref:`int` | :ref:`get_mesh_count`\ (\ ) |const| |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Terrain3DTextureAsset` | :ref:`get_texture`\ (\ id\: :ref:`int`\ ) |
+ | :ref:`Terrain3DTextureAsset` | :ref:`get_texture`\ (\ id\: :ref:`int`\ ) |const| |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int` | :ref:`get_texture_count`\ (\ ) |
+ | :ref:`int` | :ref:`get_texture_count`\ (\ ) |const| |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`save`\ (\ ) |
+-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -208,7 +208,7 @@ Generates mesh asset preview thumbnails for the asset dock, stored within each m
.. rst-class:: classref-method
-:ref:`Terrain3DMeshAsset` **get_mesh_asset**\ (\ id\: :ref:`int`\ ) :ref:`🔗`
+:ref:`Terrain3DMeshAsset` **get_mesh_asset**\ (\ id\: :ref:`int`\ ) |const| :ref:`🔗`
Returns the specified Terrain3DMeshAsset resource.
@@ -220,7 +220,7 @@ Returns the specified Terrain3DMeshAsset resource.
.. rst-class:: classref-method
-:ref:`int` **get_mesh_count**\ (\ ) :ref:`🔗`
+:ref:`int` **get_mesh_count**\ (\ ) |const| :ref:`🔗`
Returns the number of mesh assets in the list.
@@ -232,7 +232,7 @@ Returns the number of mesh assets in the list.
.. rst-class:: classref-method
-:ref:`Terrain3DTextureAsset` **get_texture**\ (\ id\: :ref:`int`\ ) :ref:`🔗`
+:ref:`Terrain3DTextureAsset` **get_texture**\ (\ id\: :ref:`int`\ ) |const| :ref:`🔗`
Returns the Terrain3DTextureAsset with the requested ID.
@@ -244,7 +244,7 @@ Returns the Terrain3DTextureAsset with the requested ID.
.. rst-class:: classref-method
-:ref:`int` **get_texture_count**\ (\ ) :ref:`🔗`
+:ref:`int` **get_texture_count**\ (\ ) |const| :ref:`🔗`
Returns the number of texture slots used.
diff --git a/doc/api/class_terrain3deditor.rst b/doc/api/class_terrain3deditor.rst
index ed2dc77c..b5a9bfb6 100644
--- a/doc/api/class_terrain3deditor.rst
+++ b/doc/api/class_terrain3deditor.rst
@@ -30,13 +30,13 @@ Methods
+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_undo`\ (\ maps\: :ref:`Dictionary`\ ) |
+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Operation` | :ref:`get_operation`\ (\ ) |
+ | :ref:`Operation` | :ref:`get_operation`\ (\ ) |const| |
+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Terrain3D` | :ref:`get_terrain`\ (\ ) |
+ | :ref:`Terrain3D` | :ref:`get_terrain`\ (\ ) |const| |
+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Tool` | :ref:`get_tool`\ (\ ) |
+ | :ref:`Tool` | :ref:`get_tool`\ (\ ) |const| |
+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool` | :ref:`is_operating`\ (\ ) |
+ | :ref:`bool` | :ref:`is_operating`\ (\ ) |const| |
+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`operate`\ (\ position\: :ref:`Vector3`, camera_direction\: :ref:`float`\ ) |
+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -84,27 +84,11 @@ Additive operations.
Subtractive operations.
-.. _class_Terrain3DEditor_constant_MULTIPLY:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`Operation` **MULTIPLY** = ``2``
-
-Multiplicative operations.
-
-.. _class_Terrain3DEditor_constant_DIVIDE:
-
-.. rst-class:: classref-enumeration-constant
-
-:ref:`Operation` **DIVIDE** = ``3``
-
-Divisive operations.
-
.. _class_Terrain3DEditor_constant_REPLACE:
.. rst-class:: classref-enumeration-constant
-:ref:`Operation` **REPLACE** = ``4``
+:ref:`Operation` **REPLACE** = ``2``
Replacing operations.
@@ -112,7 +96,7 @@ Replacing operations.
.. rst-class:: classref-enumeration-constant
-:ref:`Operation` **AVERAGE** = ``5``
+:ref:`Operation` **AVERAGE** = ``3``
Averaging operations.
@@ -120,7 +104,7 @@ Averaging operations.
.. rst-class:: classref-enumeration-constant
-:ref:`Operation` **GRADIENT** = ``6``
+:ref:`Operation` **GRADIENT** = ``4``
Gradient operations.
@@ -128,7 +112,7 @@ Gradient operations.
.. rst-class:: classref-enumeration-constant
-:ref:`Operation` **OP_MAX** = ``7``
+:ref:`Operation` **OP_MAX** = ``5``
The number of elements in this enum.
@@ -146,7 +130,7 @@ enum **Tool**: :ref:`🔗`
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **HEIGHT** = ``0``
+:ref:`Tool` **HEIGHT** = ``1``
Sculpt heights.
@@ -154,7 +138,7 @@ Sculpt heights.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **TEXTURE** = ``1``
+:ref:`Tool` **TEXTURE** = ``2``
Paint textures.
@@ -162,7 +146,7 @@ Paint textures.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **COLOR** = ``2``
+:ref:`Tool` **COLOR** = ``3``
Paint on the color map.
@@ -170,7 +154,7 @@ Paint on the color map.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **ROUGHNESS** = ``3``
+:ref:`Tool` **ROUGHNESS** = ``4``
Paint a roughness modifier, aka wetness.
@@ -178,7 +162,7 @@ Paint a roughness modifier, aka wetness.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **ANGLE** = ``4``
+:ref:`Tool` **ANGLE** = ``9``
Paint textures rotated by an angle.
@@ -186,7 +170,7 @@ Paint textures rotated by an angle.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **SCALE** = ``5``
+:ref:`Tool` **SCALE** = ``10``
Paint textures scaled by a value.
@@ -194,7 +178,7 @@ Paint textures scaled by a value.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **AUTOSHADER** = ``6``
+:ref:`Tool` **AUTOSHADER** = ``5``
Paint where the shader automatically textures.
@@ -202,7 +186,7 @@ Paint where the shader automatically textures.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **HOLES** = ``7``
+:ref:`Tool` **HOLES** = ``6``
Paint where vertices will be invalidated to leave holes.
@@ -210,7 +194,7 @@ Paint where vertices will be invalidated to leave holes.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **NAVIGATION** = ``8``
+:ref:`Tool` **NAVIGATION** = ``7``
Paint where navigation will be generated.
@@ -218,7 +202,7 @@ Paint where navigation will be generated.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **INSTANCER** = ``9``
+:ref:`Tool` **INSTANCER** = ``8``
Paint MultiMesh instances on the ground.
@@ -226,7 +210,7 @@ Paint MultiMesh instances on the ground.
.. rst-class:: classref-enumeration-constant
-:ref:`Tool` **REGION** = ``10``
+:ref:`Tool` **REGION** = ``0``
Add/remove regions.
@@ -263,7 +247,7 @@ Undo the previous changes, with the reverted images in the array. Used by Godot,
.. rst-class:: classref-method
-:ref:`Operation` **get_operation**\ (\ ) :ref:`🔗`
+:ref:`Operation` **get_operation**\ (\ ) |const| :ref:`🔗`
Returns the current operation.
@@ -275,7 +259,7 @@ Returns the current operation.
.. rst-class:: classref-method
-:ref:`Terrain3D` **get_terrain**\ (\ ) :ref:`🔗`
+:ref:`Terrain3D` **get_terrain**\ (\ ) |const| :ref:`🔗`
Returns the instance of Terrain3D this class is conneced to.
@@ -287,7 +271,7 @@ Returns the instance of Terrain3D this class is conneced to.
.. rst-class:: classref-method
-:ref:`Tool` **get_tool**\ (\ ) :ref:`🔗`
+:ref:`Tool` **get_tool**\ (\ ) |const| :ref:`🔗`
Returns the current tool selected in the editor plugin.
@@ -299,7 +283,7 @@ Returns the current tool selected in the editor plugin.
.. rst-class:: classref-method
-:ref:`bool` **is_operating**\ (\ ) :ref:`🔗`
+:ref:`bool` **is_operating**\ (\ ) |const| :ref:`🔗`
Returns true if currently brushing.
diff --git a/doc/api/class_terrain3dinstancer.rst b/doc/api/class_terrain3dinstancer.rst
index 958ef4d3..091e7b68 100644
--- a/doc/api/class_terrain3dinstancer.rst
+++ b/doc/api/class_terrain3dinstancer.rst
@@ -49,23 +49,29 @@ Methods
.. table::
:widths: auto
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_instances`\ (\ global_position\: :ref:`Vector3`, params\: :ref:`Dictionary`\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_multimesh`\ (\ mesh_id\: :ref:`int`, multimesh\: :ref:`MultiMesh`, transform\: :ref:`Transform3D` = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_transforms`\ (\ mesh_id\: :ref:`int`, transforms\: :ref:`Array`\[:ref:`Transform3D`\], colors\: :ref:`Array`\[:ref:`Color`\] = []\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`clear_by_mesh`\ (\ mesh_id\: :ref:`int`\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`clear_by_offset`\ (\ region_offset\: :ref:`Vector2i`, mesh_id\: :ref:`int`\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`clear_by_region_id`\ (\ region_id\: :ref:`int`, mesh_id\: :ref:`int`\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`remove_instances`\ (\ global_position\: :ref:`Vector3`, params\: :ref:`Dictionary`\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_cast_shadows`\ (\ mesh_id\: :ref:`int`, mode\: :ref:`ShadowCastingSetting`\ ) |
- +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`add_instances`\ (\ global_position\: :ref:`Vector3`, params\: :ref:`Dictionary`\ ) |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`add_multimesh`\ (\ mesh_id\: :ref:`int`, multimesh\: :ref:`MultiMesh`, transform\: :ref:`Transform3D` = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)\ ) |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`add_transforms`\ (\ mesh_id\: :ref:`int`, transforms\: :ref:`Array`\[:ref:`Transform3D`\], colors\: :ref:`Array`\[:ref:`Color`\] = []\ ) |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`append_multimesh`\ (\ region_offset\: :ref:`Vector2i`, mesh_id\: :ref:`int`, transforms\: :ref:`Array`\[:ref:`Transform3D`\], colors\: :ref:`Array`\[:ref:`Color`\], clear\: :ref:`bool` = false\ ) |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`clear_by_mesh`\ (\ mesh_id\: :ref:`int`\ ) |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`clear_by_offset`\ (\ region_offset\: :ref:`Vector2i`, mesh_id\: :ref:`int`\ ) |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`clear_by_region_id`\ (\ region_id\: :ref:`int`, mesh_id\: :ref:`int`\ ) |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | :ref:`Dictionary` | :ref:`get_mmis`\ (\ ) |const| |
+ +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+ | |void| | :ref:`remove_instances`\ (\ global_position\: :ref:`Vector3`, params\: :ref:`Dictionary