class_navigationpathqueryparameters2d.rst 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/NavigationPathQueryParameters2D.xml.
  6. .. _class_NavigationPathQueryParameters2D:
  7. NavigationPathQueryParameters2D
  8. ===============================
  9. **Experimental:** This class may be changed or removed in future versions.
  10. **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  11. Provides parameters for 2D navigation path queries.
  12. .. rst-class:: classref-introduction-group
  13. Description
  14. -----------
  15. By changing various properties of this object, such as the start and target position, you can configure path queries to the :ref:`NavigationServer2D<class_NavigationServer2D>`.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`Using NavigationPathQueryObjects <../tutorials/navigation/navigation_using_navigationpathqueryobjects>`
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  26. | :ref:`RID<class_RID>` | :ref:`map<class_NavigationPathQueryParameters2D_property_map>` | ``RID()`` |
  27. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  28. | |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>`\] | :ref:`metadata_flags<class_NavigationPathQueryParameters2D_property_metadata_flags>` | ``7`` |
  29. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  30. | :ref:`int<class_int>` | :ref:`navigation_layers<class_NavigationPathQueryParameters2D_property_navigation_layers>` | ``1`` |
  31. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  32. | :ref:`PathPostProcessing<enum_NavigationPathQueryParameters2D_PathPostProcessing>` | :ref:`path_postprocessing<class_NavigationPathQueryParameters2D_property_path_postprocessing>` | ``0`` |
  33. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  34. | :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters2D_PathfindingAlgorithm>` | :ref:`pathfinding_algorithm<class_NavigationPathQueryParameters2D_property_pathfinding_algorithm>` | ``0`` |
  35. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  36. | :ref:`float<class_float>` | :ref:`simplify_epsilon<class_NavigationPathQueryParameters2D_property_simplify_epsilon>` | ``0.0`` |
  37. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  38. | :ref:`bool<class_bool>` | :ref:`simplify_path<class_NavigationPathQueryParameters2D_property_simplify_path>` | ``false`` |
  39. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  40. | :ref:`Vector2<class_Vector2>` | :ref:`start_position<class_NavigationPathQueryParameters2D_property_start_position>` | ``Vector2(0, 0)`` |
  41. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  42. | :ref:`Vector2<class_Vector2>` | :ref:`target_position<class_NavigationPathQueryParameters2D_property_target_position>` | ``Vector2(0, 0)`` |
  43. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+-------------------+
  44. .. rst-class:: classref-section-separator
  45. ----
  46. .. rst-class:: classref-descriptions-group
  47. Enumerations
  48. ------------
  49. .. _enum_NavigationPathQueryParameters2D_PathfindingAlgorithm:
  50. .. rst-class:: classref-enumeration
  51. enum **PathfindingAlgorithm**: :ref:`🔗<enum_NavigationPathQueryParameters2D_PathfindingAlgorithm>`
  52. .. _class_NavigationPathQueryParameters2D_constant_PATHFINDING_ALGORITHM_ASTAR:
  53. .. rst-class:: classref-enumeration-constant
  54. :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters2D_PathfindingAlgorithm>` **PATHFINDING_ALGORITHM_ASTAR** = ``0``
  55. The path query uses the default A\* pathfinding algorithm.
  56. .. rst-class:: classref-item-separator
  57. ----
  58. .. _enum_NavigationPathQueryParameters2D_PathPostProcessing:
  59. .. rst-class:: classref-enumeration
  60. enum **PathPostProcessing**: :ref:`🔗<enum_NavigationPathQueryParameters2D_PathPostProcessing>`
  61. .. _class_NavigationPathQueryParameters2D_constant_PATH_POSTPROCESSING_CORRIDORFUNNEL:
  62. .. rst-class:: classref-enumeration-constant
  63. :ref:`PathPostProcessing<enum_NavigationPathQueryParameters2D_PathPostProcessing>` **PATH_POSTPROCESSING_CORRIDORFUNNEL** = ``0``
  64. Applies a funnel algorithm to the raw path corridor found by the pathfinding algorithm. This will result in the shortest path possible inside the path corridor. This postprocessing very much depends on the navigation mesh polygon layout and the created corridor. Especially tile- or gridbased layouts can face artificial corners with diagonal movement due to a jagged path corridor imposed by the cell shapes.
  65. .. _class_NavigationPathQueryParameters2D_constant_PATH_POSTPROCESSING_EDGECENTERED:
  66. .. rst-class:: classref-enumeration-constant
  67. :ref:`PathPostProcessing<enum_NavigationPathQueryParameters2D_PathPostProcessing>` **PATH_POSTPROCESSING_EDGECENTERED** = ``1``
  68. Centers every path position in the middle of the traveled navigation mesh polygon edge. This creates better paths for tile- or gridbased layouts that restrict the movement to the cells center.
  69. .. rst-class:: classref-item-separator
  70. ----
  71. .. _enum_NavigationPathQueryParameters2D_PathMetadataFlags:
  72. .. rst-class:: classref-enumeration
  73. flags **PathMetadataFlags**: :ref:`🔗<enum_NavigationPathQueryParameters2D_PathMetadataFlags>`
  74. .. _class_NavigationPathQueryParameters2D_constant_PATH_METADATA_INCLUDE_NONE:
  75. .. rst-class:: classref-enumeration-constant
  76. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_NONE** = ``0``
  77. Don't include any additional metadata about the returned path.
  78. .. _class_NavigationPathQueryParameters2D_constant_PATH_METADATA_INCLUDE_TYPES:
  79. .. rst-class:: classref-enumeration-constant
  80. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_TYPES** = ``1``
  81. Include the type of navigation primitive (region or link) that each point of the path goes through.
  82. .. _class_NavigationPathQueryParameters2D_constant_PATH_METADATA_INCLUDE_RIDS:
  83. .. rst-class:: classref-enumeration-constant
  84. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_RIDS** = ``2``
  85. Include the :ref:`RID<class_RID>`\ s of the regions and links that each point of the path goes through.
  86. .. _class_NavigationPathQueryParameters2D_constant_PATH_METADATA_INCLUDE_OWNERS:
  87. .. rst-class:: classref-enumeration-constant
  88. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_OWNERS** = ``4``
  89. Include the ``ObjectID``\ s of the :ref:`Object<class_Object>`\ s which manage the regions and links each point of the path goes through.
  90. .. _class_NavigationPathQueryParameters2D_constant_PATH_METADATA_INCLUDE_ALL:
  91. .. rst-class:: classref-enumeration-constant
  92. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_ALL** = ``7``
  93. Include all available metadata about the returned path.
  94. .. rst-class:: classref-section-separator
  95. ----
  96. .. rst-class:: classref-descriptions-group
  97. Property Descriptions
  98. ---------------------
  99. .. _class_NavigationPathQueryParameters2D_property_map:
  100. .. rst-class:: classref-property
  101. :ref:`RID<class_RID>` **map** = ``RID()`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_map>`
  102. .. rst-class:: classref-property-setget
  103. - |void| **set_map**\ (\ value\: :ref:`RID<class_RID>`\ )
  104. - :ref:`RID<class_RID>` **get_map**\ (\ )
  105. The navigation map :ref:`RID<class_RID>` used in the path query.
  106. .. rst-class:: classref-item-separator
  107. ----
  108. .. _class_NavigationPathQueryParameters2D_property_metadata_flags:
  109. .. rst-class:: classref-property
  110. |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>`\] **metadata_flags** = ``7`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_metadata_flags>`
  111. .. rst-class:: classref-property-setget
  112. - |void| **set_metadata_flags**\ (\ value\: |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>`\]\ )
  113. - |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters2D_PathMetadataFlags>`\] **get_metadata_flags**\ (\ )
  114. Additional information to include with the navigation path.
  115. .. rst-class:: classref-item-separator
  116. ----
  117. .. _class_NavigationPathQueryParameters2D_property_navigation_layers:
  118. .. rst-class:: classref-property
  119. :ref:`int<class_int>` **navigation_layers** = ``1`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_navigation_layers>`
  120. .. rst-class:: classref-property-setget
  121. - |void| **set_navigation_layers**\ (\ value\: :ref:`int<class_int>`\ )
  122. - :ref:`int<class_int>` **get_navigation_layers**\ (\ )
  123. The navigation layers the query will use (as a bitmask).
  124. .. rst-class:: classref-item-separator
  125. ----
  126. .. _class_NavigationPathQueryParameters2D_property_path_postprocessing:
  127. .. rst-class:: classref-property
  128. :ref:`PathPostProcessing<enum_NavigationPathQueryParameters2D_PathPostProcessing>` **path_postprocessing** = ``0`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_path_postprocessing>`
  129. .. rst-class:: classref-property-setget
  130. - |void| **set_path_postprocessing**\ (\ value\: :ref:`PathPostProcessing<enum_NavigationPathQueryParameters2D_PathPostProcessing>`\ )
  131. - :ref:`PathPostProcessing<enum_NavigationPathQueryParameters2D_PathPostProcessing>` **get_path_postprocessing**\ (\ )
  132. The path postprocessing applied to the raw path corridor found by the :ref:`pathfinding_algorithm<class_NavigationPathQueryParameters2D_property_pathfinding_algorithm>`.
  133. .. rst-class:: classref-item-separator
  134. ----
  135. .. _class_NavigationPathQueryParameters2D_property_pathfinding_algorithm:
  136. .. rst-class:: classref-property
  137. :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters2D_PathfindingAlgorithm>` **pathfinding_algorithm** = ``0`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_pathfinding_algorithm>`
  138. .. rst-class:: classref-property-setget
  139. - |void| **set_pathfinding_algorithm**\ (\ value\: :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters2D_PathfindingAlgorithm>`\ )
  140. - :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters2D_PathfindingAlgorithm>` **get_pathfinding_algorithm**\ (\ )
  141. The pathfinding algorithm used in the path query.
  142. .. rst-class:: classref-item-separator
  143. ----
  144. .. _class_NavigationPathQueryParameters2D_property_simplify_epsilon:
  145. .. rst-class:: classref-property
  146. :ref:`float<class_float>` **simplify_epsilon** = ``0.0`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_simplify_epsilon>`
  147. .. rst-class:: classref-property-setget
  148. - |void| **set_simplify_epsilon**\ (\ value\: :ref:`float<class_float>`\ )
  149. - :ref:`float<class_float>` **get_simplify_epsilon**\ (\ )
  150. The path simplification amount in worlds units.
  151. .. rst-class:: classref-item-separator
  152. ----
  153. .. _class_NavigationPathQueryParameters2D_property_simplify_path:
  154. .. rst-class:: classref-property
  155. :ref:`bool<class_bool>` **simplify_path** = ``false`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_simplify_path>`
  156. .. rst-class:: classref-property-setget
  157. - |void| **set_simplify_path**\ (\ value\: :ref:`bool<class_bool>`\ )
  158. - :ref:`bool<class_bool>` **get_simplify_path**\ (\ )
  159. If ``true`` a simplified version of the path will be returned with less critical path points removed. The simplification amount is controlled by :ref:`simplify_epsilon<class_NavigationPathQueryParameters2D_property_simplify_epsilon>`. The simplification uses a variant of Ramer-Douglas-Peucker algorithm for curve point decimation.
  160. Path simplification can be helpful to mitigate various path following issues that can arise with certain agent types and script behaviors. E.g. "steering" agents or avoidance in "open fields".
  161. .. rst-class:: classref-item-separator
  162. ----
  163. .. _class_NavigationPathQueryParameters2D_property_start_position:
  164. .. rst-class:: classref-property
  165. :ref:`Vector2<class_Vector2>` **start_position** = ``Vector2(0, 0)`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_start_position>`
  166. .. rst-class:: classref-property-setget
  167. - |void| **set_start_position**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  168. - :ref:`Vector2<class_Vector2>` **get_start_position**\ (\ )
  169. The pathfinding start position in global coordinates.
  170. .. rst-class:: classref-item-separator
  171. ----
  172. .. _class_NavigationPathQueryParameters2D_property_target_position:
  173. .. rst-class:: classref-property
  174. :ref:`Vector2<class_Vector2>` **target_position** = ``Vector2(0, 0)`` :ref:`🔗<class_NavigationPathQueryParameters2D_property_target_position>`
  175. .. rst-class:: classref-property-setget
  176. - |void| **set_target_position**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  177. - :ref:`Vector2<class_Vector2>` **get_target_position**\ (\ )
  178. The pathfinding target position in global coordinates.
  179. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  180. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  181. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  182. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  183. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  184. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  185. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  186. .. |void| replace:: :abbr:`void (No return value.)`