class_physicsshapequeryparameters2d.rst 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  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/PhysicsShapeQueryParameters2D.xml.
  6. .. _class_PhysicsShapeQueryParameters2D:
  7. PhysicsShapeQueryParameters2D
  8. =============================
  9. **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Provides parameters for :ref:`PhysicsDirectSpaceState2D.intersect_shape<class_PhysicsDirectSpaceState2D_method_intersect_shape>`.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. By changing various properties of this object, such as the shape, you can configure the parameters for :ref:`PhysicsDirectSpaceState2D.intersect_shape<class_PhysicsDirectSpaceState2D_method_intersect_shape>`.
  15. .. rst-class:: classref-reftable-group
  16. Properties
  17. ----------
  18. .. table::
  19. :widths: auto
  20. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  21. | :ref:`bool<class_bool>` | :ref:`collide_with_areas<class_PhysicsShapeQueryParameters2D_property_collide_with_areas>` | ``false`` |
  22. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  23. | :ref:`bool<class_bool>` | :ref:`collide_with_bodies<class_PhysicsShapeQueryParameters2D_property_collide_with_bodies>` | ``true`` |
  24. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  25. | :ref:`int<class_int>` | :ref:`collision_mask<class_PhysicsShapeQueryParameters2D_property_collision_mask>` | ``4294967295`` |
  26. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  27. | :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] | :ref:`exclude<class_PhysicsShapeQueryParameters2D_property_exclude>` | ``[]`` |
  28. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  29. | :ref:`float<class_float>` | :ref:`margin<class_PhysicsShapeQueryParameters2D_property_margin>` | ``0.0`` |
  30. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  31. | :ref:`Vector2<class_Vector2>` | :ref:`motion<class_PhysicsShapeQueryParameters2D_property_motion>` | ``Vector2(0, 0)`` |
  32. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  33. | :ref:`Resource<class_Resource>` | :ref:`shape<class_PhysicsShapeQueryParameters2D_property_shape>` | |
  34. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  35. | :ref:`RID<class_RID>` | :ref:`shape_rid<class_PhysicsShapeQueryParameters2D_property_shape_rid>` | ``RID()`` |
  36. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  37. | :ref:`Transform2D<class_Transform2D>` | :ref:`transform<class_PhysicsShapeQueryParameters2D_property_transform>` | ``Transform2D(1, 0, 0, 1, 0, 0)`` |
  38. +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------+
  39. .. rst-class:: classref-section-separator
  40. ----
  41. .. rst-class:: classref-descriptions-group
  42. Property Descriptions
  43. ---------------------
  44. .. _class_PhysicsShapeQueryParameters2D_property_collide_with_areas:
  45. .. rst-class:: classref-property
  46. :ref:`bool<class_bool>` **collide_with_areas** = ``false`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_collide_with_areas>`
  47. .. rst-class:: classref-property-setget
  48. - |void| **set_collide_with_areas**\ (\ value\: :ref:`bool<class_bool>`\ )
  49. - :ref:`bool<class_bool>` **is_collide_with_areas_enabled**\ (\ )
  50. If ``true``, the query will take :ref:`Area2D<class_Area2D>`\ s into account.
  51. .. rst-class:: classref-item-separator
  52. ----
  53. .. _class_PhysicsShapeQueryParameters2D_property_collide_with_bodies:
  54. .. rst-class:: classref-property
  55. :ref:`bool<class_bool>` **collide_with_bodies** = ``true`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_collide_with_bodies>`
  56. .. rst-class:: classref-property-setget
  57. - |void| **set_collide_with_bodies**\ (\ value\: :ref:`bool<class_bool>`\ )
  58. - :ref:`bool<class_bool>` **is_collide_with_bodies_enabled**\ (\ )
  59. If ``true``, the query will take :ref:`PhysicsBody2D<class_PhysicsBody2D>`\ s into account.
  60. .. rst-class:: classref-item-separator
  61. ----
  62. .. _class_PhysicsShapeQueryParameters2D_property_collision_mask:
  63. .. rst-class:: classref-property
  64. :ref:`int<class_int>` **collision_mask** = ``4294967295`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_collision_mask>`
  65. .. rst-class:: classref-property-setget
  66. - |void| **set_collision_mask**\ (\ value\: :ref:`int<class_int>`\ )
  67. - :ref:`int<class_int>` **get_collision_mask**\ (\ )
  68. The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
  69. .. rst-class:: classref-item-separator
  70. ----
  71. .. _class_PhysicsShapeQueryParameters2D_property_exclude:
  72. .. rst-class:: classref-property
  73. :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **exclude** = ``[]`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_exclude>`
  74. .. rst-class:: classref-property-setget
  75. - |void| **set_exclude**\ (\ value\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\]\ )
  76. - :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **get_exclude**\ (\ )
  77. The list of object :ref:`RID<class_RID>`\ s that will be excluded from collisions. Use :ref:`CollisionObject2D.get_rid<class_CollisionObject2D_method_get_rid>` to get the :ref:`RID<class_RID>` associated with a :ref:`CollisionObject2D<class_CollisionObject2D>`-derived node.
  78. \ **Note:** The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
  79. .. rst-class:: classref-item-separator
  80. ----
  81. .. _class_PhysicsShapeQueryParameters2D_property_margin:
  82. .. rst-class:: classref-property
  83. :ref:`float<class_float>` **margin** = ``0.0`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_margin>`
  84. .. rst-class:: classref-property-setget
  85. - |void| **set_margin**\ (\ value\: :ref:`float<class_float>`\ )
  86. - :ref:`float<class_float>` **get_margin**\ (\ )
  87. The collision margin for the shape.
  88. .. rst-class:: classref-item-separator
  89. ----
  90. .. _class_PhysicsShapeQueryParameters2D_property_motion:
  91. .. rst-class:: classref-property
  92. :ref:`Vector2<class_Vector2>` **motion** = ``Vector2(0, 0)`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_motion>`
  93. .. rst-class:: classref-property-setget
  94. - |void| **set_motion**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  95. - :ref:`Vector2<class_Vector2>` **get_motion**\ (\ )
  96. The motion of the shape being queried for.
  97. .. rst-class:: classref-item-separator
  98. ----
  99. .. _class_PhysicsShapeQueryParameters2D_property_shape:
  100. .. rst-class:: classref-property
  101. :ref:`Resource<class_Resource>` **shape** :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_shape>`
  102. .. rst-class:: classref-property-setget
  103. - |void| **set_shape**\ (\ value\: :ref:`Resource<class_Resource>`\ )
  104. - :ref:`Resource<class_Resource>` **get_shape**\ (\ )
  105. The :ref:`Shape2D<class_Shape2D>` that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over :ref:`shape_rid<class_PhysicsShapeQueryParameters2D_property_shape_rid>`.
  106. .. rst-class:: classref-item-separator
  107. ----
  108. .. _class_PhysicsShapeQueryParameters2D_property_shape_rid:
  109. .. rst-class:: classref-property
  110. :ref:`RID<class_RID>` **shape_rid** = ``RID()`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_shape_rid>`
  111. .. rst-class:: classref-property-setget
  112. - |void| **set_shape_rid**\ (\ value\: :ref:`RID<class_RID>`\ )
  113. - :ref:`RID<class_RID>` **get_shape_rid**\ (\ )
  114. The queried shape's :ref:`RID<class_RID>` that will be used for collision/intersection queries. Use this over :ref:`shape<class_PhysicsShapeQueryParameters2D_property_shape>` if you want to optimize for performance using the Servers API:
  115. .. tabs::
  116. .. code-tab:: gdscript
  117. var shape_rid = PhysicsServer2D.circle_shape_create()
  118. var radius = 64
  119. PhysicsServer2D.shape_set_data(shape_rid, radius)
  120. var params = PhysicsShapeQueryParameters2D.new()
  121. params.shape_rid = shape_rid
  122. # Execute physics queries here...
  123. # Release the shape when done with physics queries.
  124. PhysicsServer2D.free_rid(shape_rid)
  125. .. code-tab:: csharp
  126. RID shapeRid = PhysicsServer2D.CircleShapeCreate();
  127. int radius = 64;
  128. PhysicsServer2D.ShapeSetData(shapeRid, radius);
  129. var params = new PhysicsShapeQueryParameters2D();
  130. params.ShapeRid = shapeRid;
  131. // Execute physics queries here...
  132. // Release the shape when done with physics queries.
  133. PhysicsServer2D.FreeRid(shapeRid);
  134. .. rst-class:: classref-item-separator
  135. ----
  136. .. _class_PhysicsShapeQueryParameters2D_property_transform:
  137. .. rst-class:: classref-property
  138. :ref:`Transform2D<class_Transform2D>` **transform** = ``Transform2D(1, 0, 0, 1, 0, 0)`` :ref:`🔗<class_PhysicsShapeQueryParameters2D_property_transform>`
  139. .. rst-class:: classref-property-setget
  140. - |void| **set_transform**\ (\ value\: :ref:`Transform2D<class_Transform2D>`\ )
  141. - :ref:`Transform2D<class_Transform2D>` **get_transform**\ (\ )
  142. The queried shape's transform matrix.
  143. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  144. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  145. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  146. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  147. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  148. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  149. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  150. .. |void| replace:: :abbr:`void (No return value.)`