class_physicsserver2dextension.rst 190 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019
  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/4.1/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.1/doc/classes/PhysicsServer2DExtension.xml.
  6. .. _class_PhysicsServer2DExtension:
  7. PhysicsServer2DExtension
  8. ========================
  9. **Inherits:** :ref:`PhysicsServer2D<class_PhysicsServer2D>` **<** :ref:`Object<class_Object>`
  10. Provides virtual methods that can be overridden to create custom :ref:`PhysicsServer2D<class_PhysicsServer2D>` implementations.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. This class extends :ref:`PhysicsServer2D<class_PhysicsServer2D>` by providing additional virtual methods that can be overridden. When these methods are overridden, they will be called instead of the internal methods of the physics server.
  15. Intended for use with GDExtension to create custom implementations of :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
  16. .. rst-class:: classref-reftable-group
  17. Methods
  18. -------
  19. .. table::
  20. :widths: auto
  21. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | void | :ref:`_area_add_shape<class_PhysicsServer2DExtension_method__area_add_shape>` **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` shape, :ref:`Transform2D<class_Transform2D>` transform, :ref:`bool<class_bool>` disabled **)** |virtual| |
  23. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | void | :ref:`_area_attach_canvas_instance_id<class_PhysicsServer2DExtension_method__area_attach_canvas_instance_id>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)** |virtual| |
  25. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | void | :ref:`_area_attach_object_instance_id<class_PhysicsServer2DExtension_method__area_attach_object_instance_id>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)** |virtual| |
  27. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | void | :ref:`_area_clear_shapes<class_PhysicsServer2DExtension_method__area_clear_shapes>` **(** :ref:`RID<class_RID>` area **)** |virtual| |
  29. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | :ref:`RID<class_RID>` | :ref:`_area_create<class_PhysicsServer2DExtension_method__area_create>` **(** **)** |virtual| |
  31. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | :ref:`int<class_int>` | :ref:`_area_get_canvas_instance_id<class_PhysicsServer2DExtension_method__area_get_canvas_instance_id>` **(** :ref:`RID<class_RID>` area **)** |virtual| |const| |
  33. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | :ref:`int<class_int>` | :ref:`_area_get_collision_layer<class_PhysicsServer2DExtension_method__area_get_collision_layer>` **(** :ref:`RID<class_RID>` area **)** |virtual| |const| |
  35. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | :ref:`int<class_int>` | :ref:`_area_get_collision_mask<class_PhysicsServer2DExtension_method__area_get_collision_mask>` **(** :ref:`RID<class_RID>` area **)** |virtual| |const| |
  37. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | :ref:`int<class_int>` | :ref:`_area_get_object_instance_id<class_PhysicsServer2DExtension_method__area_get_object_instance_id>` **(** :ref:`RID<class_RID>` area **)** |virtual| |const| |
  39. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`Variant<class_Variant>` | :ref:`_area_get_param<class_PhysicsServer2DExtension_method__area_get_param>` **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` param **)** |virtual| |const| |
  41. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | :ref:`RID<class_RID>` | :ref:`_area_get_shape<class_PhysicsServer2DExtension_method__area_get_shape>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |virtual| |const| |
  43. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`int<class_int>` | :ref:`_area_get_shape_count<class_PhysicsServer2DExtension_method__area_get_shape_count>` **(** :ref:`RID<class_RID>` area **)** |virtual| |const| |
  45. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`Transform2D<class_Transform2D>` | :ref:`_area_get_shape_transform<class_PhysicsServer2DExtension_method__area_get_shape_transform>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |virtual| |const| |
  47. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`RID<class_RID>` | :ref:`_area_get_space<class_PhysicsServer2DExtension_method__area_get_space>` **(** :ref:`RID<class_RID>` area **)** |virtual| |const| |
  49. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`Transform2D<class_Transform2D>` | :ref:`_area_get_transform<class_PhysicsServer2DExtension_method__area_get_transform>` **(** :ref:`RID<class_RID>` area **)** |virtual| |const| |
  51. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | void | :ref:`_area_remove_shape<class_PhysicsServer2DExtension_method__area_remove_shape>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |virtual| |
  53. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | void | :ref:`_area_set_area_monitor_callback<class_PhysicsServer2DExtension_method__area_set_area_monitor_callback>` **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)** |virtual| |
  55. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | void | :ref:`_area_set_collision_layer<class_PhysicsServer2DExtension_method__area_set_collision_layer>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` layer **)** |virtual| |
  57. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | void | :ref:`_area_set_collision_mask<class_PhysicsServer2DExtension_method__area_set_collision_mask>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` mask **)** |virtual| |
  59. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | void | :ref:`_area_set_monitor_callback<class_PhysicsServer2DExtension_method__area_set_monitor_callback>` **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)** |virtual| |
  61. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | void | :ref:`_area_set_monitorable<class_PhysicsServer2DExtension_method__area_set_monitorable>` **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` monitorable **)** |virtual| |
  63. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | void | :ref:`_area_set_param<class_PhysicsServer2DExtension_method__area_set_param>` **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` param, :ref:`Variant<class_Variant>` value **)** |virtual| |
  65. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | void | :ref:`_area_set_pickable<class_PhysicsServer2DExtension_method__area_set_pickable>` **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` pickable **)** |virtual| |
  67. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | void | :ref:`_area_set_shape<class_PhysicsServer2DExtension_method__area_set_shape>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)** |virtual| |
  69. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | void | :ref:`_area_set_shape_disabled<class_PhysicsServer2DExtension_method__area_set_shape_disabled>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)** |virtual| |
  71. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | void | :ref:`_area_set_shape_transform<class_PhysicsServer2DExtension_method__area_set_shape_transform>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual| |
  73. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | void | :ref:`_area_set_space<class_PhysicsServer2DExtension_method__area_set_space>` **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` space **)** |virtual| |
  75. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | void | :ref:`_area_set_transform<class_PhysicsServer2DExtension_method__area_set_transform>` **(** :ref:`RID<class_RID>` area, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual| |
  77. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | void | :ref:`_body_add_collision_exception<class_PhysicsServer2DExtension_method__body_add_collision_exception>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)** |virtual| |
  79. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | void | :ref:`_body_add_constant_central_force<class_PhysicsServer2DExtension_method__body_add_constant_central_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force **)** |virtual| |
  81. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | void | :ref:`_body_add_constant_force<class_PhysicsServer2DExtension_method__body_add_constant_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force, :ref:`Vector2<class_Vector2>` position **)** |virtual| |
  83. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | void | :ref:`_body_add_constant_torque<class_PhysicsServer2DExtension_method__body_add_constant_torque>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` torque **)** |virtual| |
  85. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | void | :ref:`_body_add_shape<class_PhysicsServer2DExtension_method__body_add_shape>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` shape, :ref:`Transform2D<class_Transform2D>` transform, :ref:`bool<class_bool>` disabled **)** |virtual| |
  87. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | void | :ref:`_body_apply_central_force<class_PhysicsServer2DExtension_method__body_apply_central_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force **)** |virtual| |
  89. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. | void | :ref:`_body_apply_central_impulse<class_PhysicsServer2DExtension_method__body_apply_central_impulse>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` impulse **)** |virtual| |
  91. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  92. | void | :ref:`_body_apply_force<class_PhysicsServer2DExtension_method__body_apply_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force, :ref:`Vector2<class_Vector2>` position **)** |virtual| |
  93. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  94. | void | :ref:`_body_apply_impulse<class_PhysicsServer2DExtension_method__body_apply_impulse>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` impulse, :ref:`Vector2<class_Vector2>` position **)** |virtual| |
  95. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  96. | void | :ref:`_body_apply_torque<class_PhysicsServer2DExtension_method__body_apply_torque>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` torque **)** |virtual| |
  97. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  98. | void | :ref:`_body_apply_torque_impulse<class_PhysicsServer2DExtension_method__body_apply_torque_impulse>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` impulse **)** |virtual| |
  99. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  100. | void | :ref:`_body_attach_canvas_instance_id<class_PhysicsServer2DExtension_method__body_attach_canvas_instance_id>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)** |virtual| |
  101. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  102. | void | :ref:`_body_attach_object_instance_id<class_PhysicsServer2DExtension_method__body_attach_object_instance_id>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)** |virtual| |
  103. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  104. | void | :ref:`_body_clear_shapes<class_PhysicsServer2DExtension_method__body_clear_shapes>` **(** :ref:`RID<class_RID>` body **)** |virtual| |
  105. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  106. | :ref:`bool<class_bool>` | :ref:`_body_collide_shape<class_PhysicsServer2DExtension_method__body_collide_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` body_shape, :ref:`RID<class_RID>` shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` motion, void* results, :ref:`int<class_int>` result_max, int32_t* result_count **)** |virtual| |
  107. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | :ref:`RID<class_RID>` | :ref:`_body_create<class_PhysicsServer2DExtension_method__body_create>` **(** **)** |virtual| |
  109. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | :ref:`int<class_int>` | :ref:`_body_get_canvas_instance_id<class_PhysicsServer2DExtension_method__body_get_canvas_instance_id>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  111. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | :ref:`RID[]<class_RID>` | :ref:`_body_get_collision_exceptions<class_PhysicsServer2DExtension_method__body_get_collision_exceptions>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  113. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | :ref:`int<class_int>` | :ref:`_body_get_collision_layer<class_PhysicsServer2DExtension_method__body_get_collision_layer>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  115. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | :ref:`int<class_int>` | :ref:`_body_get_collision_mask<class_PhysicsServer2DExtension_method__body_get_collision_mask>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  117. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | :ref:`float<class_float>` | :ref:`_body_get_collision_priority<class_PhysicsServer2DExtension_method__body_get_collision_priority>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  119. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | :ref:`Vector2<class_Vector2>` | :ref:`_body_get_constant_force<class_PhysicsServer2DExtension_method__body_get_constant_force>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  121. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | :ref:`float<class_float>` | :ref:`_body_get_constant_torque<class_PhysicsServer2DExtension_method__body_get_constant_torque>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  123. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | :ref:`float<class_float>` | :ref:`_body_get_contacts_reported_depth_threshold<class_PhysicsServer2DExtension_method__body_get_contacts_reported_depth_threshold>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  125. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | :ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` | :ref:`_body_get_continuous_collision_detection_mode<class_PhysicsServer2DExtension_method__body_get_continuous_collision_detection_mode>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  127. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | :ref:`PhysicsDirectBodyState2D<class_PhysicsDirectBodyState2D>` | :ref:`_body_get_direct_state<class_PhysicsServer2DExtension_method__body_get_direct_state>` **(** :ref:`RID<class_RID>` body **)** |virtual| |
  129. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | :ref:`int<class_int>` | :ref:`_body_get_max_contacts_reported<class_PhysicsServer2DExtension_method__body_get_max_contacts_reported>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  131. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | :ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` | :ref:`_body_get_mode<class_PhysicsServer2DExtension_method__body_get_mode>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  133. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | :ref:`int<class_int>` | :ref:`_body_get_object_instance_id<class_PhysicsServer2DExtension_method__body_get_object_instance_id>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  135. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | :ref:`Variant<class_Variant>` | :ref:`_body_get_param<class_PhysicsServer2DExtension_method__body_get_param>` **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` param **)** |virtual| |const| |
  137. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | :ref:`RID<class_RID>` | :ref:`_body_get_shape<class_PhysicsServer2DExtension_method__body_get_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |virtual| |const| |
  139. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | :ref:`int<class_int>` | :ref:`_body_get_shape_count<class_PhysicsServer2DExtension_method__body_get_shape_count>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  141. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | :ref:`Transform2D<class_Transform2D>` | :ref:`_body_get_shape_transform<class_PhysicsServer2DExtension_method__body_get_shape_transform>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |virtual| |const| |
  143. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | :ref:`RID<class_RID>` | :ref:`_body_get_space<class_PhysicsServer2DExtension_method__body_get_space>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  145. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | :ref:`Variant<class_Variant>` | :ref:`_body_get_state<class_PhysicsServer2DExtension_method__body_get_state>` **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer2D_BodyState>` state **)** |virtual| |const| |
  147. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | :ref:`bool<class_bool>` | :ref:`_body_is_omitting_force_integration<class_PhysicsServer2DExtension_method__body_is_omitting_force_integration>` **(** :ref:`RID<class_RID>` body **)** |virtual| |const| |
  149. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | void | :ref:`_body_remove_collision_exception<class_PhysicsServer2DExtension_method__body_remove_collision_exception>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)** |virtual| |
  151. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | void | :ref:`_body_remove_shape<class_PhysicsServer2DExtension_method__body_remove_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |virtual| |
  153. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | void | :ref:`_body_reset_mass_properties<class_PhysicsServer2DExtension_method__body_reset_mass_properties>` **(** :ref:`RID<class_RID>` body **)** |virtual| |
  155. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | void | :ref:`_body_set_axis_velocity<class_PhysicsServer2DExtension_method__body_set_axis_velocity>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` axis_velocity **)** |virtual| |
  157. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | void | :ref:`_body_set_collision_layer<class_PhysicsServer2DExtension_method__body_set_collision_layer>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` layer **)** |virtual| |
  159. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | void | :ref:`_body_set_collision_mask<class_PhysicsServer2DExtension_method__body_set_collision_mask>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` mask **)** |virtual| |
  161. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | void | :ref:`_body_set_collision_priority<class_PhysicsServer2DExtension_method__body_set_collision_priority>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` priority **)** |virtual| |
  163. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | void | :ref:`_body_set_constant_force<class_PhysicsServer2DExtension_method__body_set_constant_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force **)** |virtual| |
  165. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | void | :ref:`_body_set_constant_torque<class_PhysicsServer2DExtension_method__body_set_constant_torque>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` torque **)** |virtual| |
  167. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | void | :ref:`_body_set_contacts_reported_depth_threshold<class_PhysicsServer2DExtension_method__body_set_contacts_reported_depth_threshold>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` threshold **)** |virtual| |
  169. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | void | :ref:`_body_set_continuous_collision_detection_mode<class_PhysicsServer2DExtension_method__body_set_continuous_collision_detection_mode>` **(** :ref:`RID<class_RID>` body, :ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` mode **)** |virtual| |
  171. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | void | :ref:`_body_set_force_integration_callback<class_PhysicsServer2DExtension_method__body_set_force_integration_callback>` **(** :ref:`RID<class_RID>` body, :ref:`Callable<class_Callable>` callable, :ref:`Variant<class_Variant>` userdata **)** |virtual| |
  173. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | void | :ref:`_body_set_max_contacts_reported<class_PhysicsServer2DExtension_method__body_set_max_contacts_reported>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` amount **)** |virtual| |
  175. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | void | :ref:`_body_set_mode<class_PhysicsServer2DExtension_method__body_set_mode>` **(** :ref:`RID<class_RID>` body, :ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` mode **)** |virtual| |
  177. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | void | :ref:`_body_set_omit_force_integration<class_PhysicsServer2DExtension_method__body_set_omit_force_integration>` **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)** |virtual| |
  179. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | void | :ref:`_body_set_param<class_PhysicsServer2DExtension_method__body_set_param>` **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` param, :ref:`Variant<class_Variant>` value **)** |virtual| |
  181. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | void | :ref:`_body_set_pickable<class_PhysicsServer2DExtension_method__body_set_pickable>` **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` pickable **)** |virtual| |
  183. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | void | :ref:`_body_set_shape<class_PhysicsServer2DExtension_method__body_set_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)** |virtual| |
  185. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | void | :ref:`_body_set_shape_as_one_way_collision<class_PhysicsServer2DExtension_method__body_set_shape_as_one_way_collision>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` margin **)** |virtual| |
  187. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | void | :ref:`_body_set_shape_disabled<class_PhysicsServer2DExtension_method__body_set_shape_disabled>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)** |virtual| |
  189. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | void | :ref:`_body_set_shape_transform<class_PhysicsServer2DExtension_method__body_set_shape_transform>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual| |
  191. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | void | :ref:`_body_set_space<class_PhysicsServer2DExtension_method__body_set_space>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)** |virtual| |
  193. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | void | :ref:`_body_set_state<class_PhysicsServer2DExtension_method__body_set_state>` **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer2D_BodyState>` state, :ref:`Variant<class_Variant>` value **)** |virtual| |
  195. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | void | :ref:`_body_set_state_sync_callback<class_PhysicsServer2DExtension_method__body_set_state_sync_callback>` **(** :ref:`RID<class_RID>` body, :ref:`Callable<class_Callable>` callable **)** |virtual| |
  197. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`bool<class_bool>` | :ref:`_body_test_motion<class_PhysicsServer2DExtension_method__body_test_motion>` **(** :ref:`RID<class_RID>` body, :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` motion, :ref:`float<class_float>` margin, :ref:`bool<class_bool>` collide_separation_ray, :ref:`bool<class_bool>` recovery_as_collision, PhysicsServer2DExtensionMotionResult* result **)** |virtual| |const| |
  199. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | :ref:`RID<class_RID>` | :ref:`_capsule_shape_create<class_PhysicsServer2DExtension_method__capsule_shape_create>` **(** **)** |virtual| |
  201. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`RID<class_RID>` | :ref:`_circle_shape_create<class_PhysicsServer2DExtension_method__circle_shape_create>` **(** **)** |virtual| |
  203. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :ref:`RID<class_RID>` | :ref:`_concave_polygon_shape_create<class_PhysicsServer2DExtension_method__concave_polygon_shape_create>` **(** **)** |virtual| |
  205. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | :ref:`RID<class_RID>` | :ref:`_convex_polygon_shape_create<class_PhysicsServer2DExtension_method__convex_polygon_shape_create>` **(** **)** |virtual| |
  207. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | :ref:`float<class_float>` | :ref:`_damped_spring_joint_get_param<class_PhysicsServer2DExtension_method__damped_spring_joint_get_param>` **(** :ref:`RID<class_RID>` joint, :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>` param **)** |virtual| |const| |
  209. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | void | :ref:`_damped_spring_joint_set_param<class_PhysicsServer2DExtension_method__damped_spring_joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>` param, :ref:`float<class_float>` value **)** |virtual| |
  211. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | void | :ref:`_end_sync<class_PhysicsServer2DExtension_method__end_sync>` **(** **)** |virtual| |
  213. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | void | :ref:`_finish<class_PhysicsServer2DExtension_method__finish>` **(** **)** |virtual| |
  215. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | void | :ref:`_flush_queries<class_PhysicsServer2DExtension_method__flush_queries>` **(** **)** |virtual| |
  217. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | void | :ref:`_free_rid<class_PhysicsServer2DExtension_method__free_rid>` **(** :ref:`RID<class_RID>` rid **)** |virtual| |
  219. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | :ref:`int<class_int>` | :ref:`_get_process_info<class_PhysicsServer2DExtension_method__get_process_info>` **(** :ref:`ProcessInfo<enum_PhysicsServer2D_ProcessInfo>` process_info **)** |virtual| |
  221. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | void | :ref:`_init<class_PhysicsServer2DExtension_method__init>` **(** **)** |virtual| |
  223. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`bool<class_bool>` | :ref:`_is_flushing_queries<class_PhysicsServer2DExtension_method__is_flushing_queries>` **(** **)** |virtual| |const| |
  225. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | void | :ref:`_joint_clear<class_PhysicsServer2DExtension_method__joint_clear>` **(** :ref:`RID<class_RID>` joint **)** |virtual| |
  227. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`RID<class_RID>` | :ref:`_joint_create<class_PhysicsServer2DExtension_method__joint_create>` **(** **)** |virtual| |
  229. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | void | :ref:`_joint_disable_collisions_between_bodies<class_PhysicsServer2DExtension_method__joint_disable_collisions_between_bodies>` **(** :ref:`RID<class_RID>` joint, :ref:`bool<class_bool>` disable **)** |virtual| |
  231. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :ref:`float<class_float>` | :ref:`_joint_get_param<class_PhysicsServer2DExtension_method__joint_get_param>` **(** :ref:`RID<class_RID>` joint, :ref:`JointParam<enum_PhysicsServer2D_JointParam>` param **)** |virtual| |const| |
  233. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | :ref:`JointType<enum_PhysicsServer2D_JointType>` | :ref:`_joint_get_type<class_PhysicsServer2DExtension_method__joint_get_type>` **(** :ref:`RID<class_RID>` joint **)** |virtual| |const| |
  235. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | :ref:`bool<class_bool>` | :ref:`_joint_is_disabled_collisions_between_bodies<class_PhysicsServer2DExtension_method__joint_is_disabled_collisions_between_bodies>` **(** :ref:`RID<class_RID>` joint **)** |virtual| |const| |
  237. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | void | :ref:`_joint_make_damped_spring<class_PhysicsServer2DExtension_method__joint_make_damped_spring>` **(** :ref:`RID<class_RID>` joint, :ref:`Vector2<class_Vector2>` anchor_a, :ref:`Vector2<class_Vector2>` anchor_b, :ref:`RID<class_RID>` body_a, :ref:`RID<class_RID>` body_b **)** |virtual| |
  239. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | void | :ref:`_joint_make_groove<class_PhysicsServer2DExtension_method__joint_make_groove>` **(** :ref:`RID<class_RID>` joint, :ref:`Vector2<class_Vector2>` a_groove1, :ref:`Vector2<class_Vector2>` a_groove2, :ref:`Vector2<class_Vector2>` b_anchor, :ref:`RID<class_RID>` body_a, :ref:`RID<class_RID>` body_b **)** |virtual| |
  241. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | void | :ref:`_joint_make_pin<class_PhysicsServer2DExtension_method__joint_make_pin>` **(** :ref:`RID<class_RID>` joint, :ref:`Vector2<class_Vector2>` anchor, :ref:`RID<class_RID>` body_a, :ref:`RID<class_RID>` body_b **)** |virtual| |
  243. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | void | :ref:`_joint_set_param<class_PhysicsServer2DExtension_method__joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`JointParam<enum_PhysicsServer2D_JointParam>` param, :ref:`float<class_float>` value **)** |virtual| |
  245. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | :ref:`float<class_float>` | :ref:`_pin_joint_get_param<class_PhysicsServer2DExtension_method__pin_joint_get_param>` **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` param **)** |virtual| |const| |
  247. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | void | :ref:`_pin_joint_set_param<class_PhysicsServer2DExtension_method__pin_joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` param, :ref:`float<class_float>` value **)** |virtual| |
  249. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | :ref:`RID<class_RID>` | :ref:`_rectangle_shape_create<class_PhysicsServer2DExtension_method__rectangle_shape_create>` **(** **)** |virtual| |
  251. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | :ref:`RID<class_RID>` | :ref:`_segment_shape_create<class_PhysicsServer2DExtension_method__segment_shape_create>` **(** **)** |virtual| |
  253. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | :ref:`RID<class_RID>` | :ref:`_separation_ray_shape_create<class_PhysicsServer2DExtension_method__separation_ray_shape_create>` **(** **)** |virtual| |
  255. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | void | :ref:`_set_active<class_PhysicsServer2DExtension_method__set_active>` **(** :ref:`bool<class_bool>` active **)** |virtual| |
  257. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`bool<class_bool>` | :ref:`_shape_collide<class_PhysicsServer2DExtension_method__shape_collide>` **(** :ref:`RID<class_RID>` shape_A, :ref:`Transform2D<class_Transform2D>` xform_A, :ref:`Vector2<class_Vector2>` motion_A, :ref:`RID<class_RID>` shape_B, :ref:`Transform2D<class_Transform2D>` xform_B, :ref:`Vector2<class_Vector2>` motion_B, void* results, :ref:`int<class_int>` result_max, int32_t* result_count **)** |virtual| |
  259. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :ref:`float<class_float>` | :ref:`_shape_get_custom_solver_bias<class_PhysicsServer2DExtension_method__shape_get_custom_solver_bias>` **(** :ref:`RID<class_RID>` shape **)** |virtual| |const| |
  261. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`Variant<class_Variant>` | :ref:`_shape_get_data<class_PhysicsServer2DExtension_method__shape_get_data>` **(** :ref:`RID<class_RID>` shape **)** |virtual| |const| |
  263. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` | :ref:`_shape_get_type<class_PhysicsServer2DExtension_method__shape_get_type>` **(** :ref:`RID<class_RID>` shape **)** |virtual| |const| |
  265. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | void | :ref:`_shape_set_custom_solver_bias<class_PhysicsServer2DExtension_method__shape_set_custom_solver_bias>` **(** :ref:`RID<class_RID>` shape, :ref:`float<class_float>` bias **)** |virtual| |
  267. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | void | :ref:`_shape_set_data<class_PhysicsServer2DExtension_method__shape_set_data>` **(** :ref:`RID<class_RID>` shape, :ref:`Variant<class_Variant>` data **)** |virtual| |
  269. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | :ref:`RID<class_RID>` | :ref:`_space_create<class_PhysicsServer2DExtension_method__space_create>` **(** **)** |virtual| |
  271. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | :ref:`int<class_int>` | :ref:`_space_get_contact_count<class_PhysicsServer2DExtension_method__space_get_contact_count>` **(** :ref:`RID<class_RID>` space **)** |virtual| |const| |
  273. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`_space_get_contacts<class_PhysicsServer2DExtension_method__space_get_contacts>` **(** :ref:`RID<class_RID>` space **)** |virtual| |const| |
  275. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` | :ref:`_space_get_direct_state<class_PhysicsServer2DExtension_method__space_get_direct_state>` **(** :ref:`RID<class_RID>` space **)** |virtual| |
  277. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | :ref:`float<class_float>` | :ref:`_space_get_param<class_PhysicsServer2DExtension_method__space_get_param>` **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` param **)** |virtual| |const| |
  279. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | :ref:`bool<class_bool>` | :ref:`_space_is_active<class_PhysicsServer2DExtension_method__space_is_active>` **(** :ref:`RID<class_RID>` space **)** |virtual| |const| |
  281. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | void | :ref:`_space_set_active<class_PhysicsServer2DExtension_method__space_set_active>` **(** :ref:`RID<class_RID>` space, :ref:`bool<class_bool>` active **)** |virtual| |
  283. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | void | :ref:`_space_set_debug_contacts<class_PhysicsServer2DExtension_method__space_set_debug_contacts>` **(** :ref:`RID<class_RID>` space, :ref:`int<class_int>` max_contacts **)** |virtual| |
  285. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | void | :ref:`_space_set_param<class_PhysicsServer2DExtension_method__space_set_param>` **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` param, :ref:`float<class_float>` value **)** |virtual| |
  287. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | void | :ref:`_step<class_PhysicsServer2DExtension_method__step>` **(** :ref:`float<class_float>` step **)** |virtual| |
  289. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | void | :ref:`_sync<class_PhysicsServer2DExtension_method__sync>` **(** **)** |virtual| |
  291. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | :ref:`RID<class_RID>` | :ref:`_world_boundary_shape_create<class_PhysicsServer2DExtension_method__world_boundary_shape_create>` **(** **)** |virtual| |
  293. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | :ref:`bool<class_bool>` | :ref:`body_test_motion_is_excluding_body<class_PhysicsServer2DExtension_method_body_test_motion_is_excluding_body>` **(** :ref:`RID<class_RID>` body **)** |const| |
  295. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | :ref:`bool<class_bool>` | :ref:`body_test_motion_is_excluding_object<class_PhysicsServer2DExtension_method_body_test_motion_is_excluding_object>` **(** :ref:`int<class_int>` object **)** |const| |
  297. +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. .. rst-class:: classref-section-separator
  299. ----
  300. .. rst-class:: classref-descriptions-group
  301. Method Descriptions
  302. -------------------
  303. .. _class_PhysicsServer2DExtension_method__area_add_shape:
  304. .. rst-class:: classref-method
  305. void **_area_add_shape** **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` shape, :ref:`Transform2D<class_Transform2D>` transform, :ref:`bool<class_bool>` disabled **)** |virtual|
  306. Overridable version of :ref:`PhysicsServer2D.area_add_shape<class_PhysicsServer2D_method_area_add_shape>`.
  307. .. rst-class:: classref-item-separator
  308. ----
  309. .. _class_PhysicsServer2DExtension_method__area_attach_canvas_instance_id:
  310. .. rst-class:: classref-method
  311. void **_area_attach_canvas_instance_id** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)** |virtual|
  312. Overridable version of :ref:`PhysicsServer2D.area_attach_canvas_instance_id<class_PhysicsServer2D_method_area_attach_canvas_instance_id>`.
  313. .. rst-class:: classref-item-separator
  314. ----
  315. .. _class_PhysicsServer2DExtension_method__area_attach_object_instance_id:
  316. .. rst-class:: classref-method
  317. void **_area_attach_object_instance_id** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)** |virtual|
  318. Overridable version of :ref:`PhysicsServer2D.area_attach_object_instance_id<class_PhysicsServer2D_method_area_attach_object_instance_id>`.
  319. .. rst-class:: classref-item-separator
  320. ----
  321. .. _class_PhysicsServer2DExtension_method__area_clear_shapes:
  322. .. rst-class:: classref-method
  323. void **_area_clear_shapes** **(** :ref:`RID<class_RID>` area **)** |virtual|
  324. Overridable version of :ref:`PhysicsServer2D.area_clear_shapes<class_PhysicsServer2D_method_area_clear_shapes>`.
  325. .. rst-class:: classref-item-separator
  326. ----
  327. .. _class_PhysicsServer2DExtension_method__area_create:
  328. .. rst-class:: classref-method
  329. :ref:`RID<class_RID>` **_area_create** **(** **)** |virtual|
  330. Overridable version of :ref:`PhysicsServer2D.area_create<class_PhysicsServer2D_method_area_create>`.
  331. .. rst-class:: classref-item-separator
  332. ----
  333. .. _class_PhysicsServer2DExtension_method__area_get_canvas_instance_id:
  334. .. rst-class:: classref-method
  335. :ref:`int<class_int>` **_area_get_canvas_instance_id** **(** :ref:`RID<class_RID>` area **)** |virtual| |const|
  336. Overridable version of :ref:`PhysicsServer2D.area_get_canvas_instance_id<class_PhysicsServer2D_method_area_get_canvas_instance_id>`.
  337. .. rst-class:: classref-item-separator
  338. ----
  339. .. _class_PhysicsServer2DExtension_method__area_get_collision_layer:
  340. .. rst-class:: classref-method
  341. :ref:`int<class_int>` **_area_get_collision_layer** **(** :ref:`RID<class_RID>` area **)** |virtual| |const|
  342. Overridable version of :ref:`PhysicsServer2D.area_get_collision_layer<class_PhysicsServer2D_method_area_get_collision_layer>`.
  343. .. rst-class:: classref-item-separator
  344. ----
  345. .. _class_PhysicsServer2DExtension_method__area_get_collision_mask:
  346. .. rst-class:: classref-method
  347. :ref:`int<class_int>` **_area_get_collision_mask** **(** :ref:`RID<class_RID>` area **)** |virtual| |const|
  348. Overridable version of :ref:`PhysicsServer2D.area_get_collision_mask<class_PhysicsServer2D_method_area_get_collision_mask>`.
  349. .. rst-class:: classref-item-separator
  350. ----
  351. .. _class_PhysicsServer2DExtension_method__area_get_object_instance_id:
  352. .. rst-class:: classref-method
  353. :ref:`int<class_int>` **_area_get_object_instance_id** **(** :ref:`RID<class_RID>` area **)** |virtual| |const|
  354. Overridable version of :ref:`PhysicsServer2D.area_get_object_instance_id<class_PhysicsServer2D_method_area_get_object_instance_id>`.
  355. .. rst-class:: classref-item-separator
  356. ----
  357. .. _class_PhysicsServer2DExtension_method__area_get_param:
  358. .. rst-class:: classref-method
  359. :ref:`Variant<class_Variant>` **_area_get_param** **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` param **)** |virtual| |const|
  360. Overridable version of :ref:`PhysicsServer2D.area_get_param<class_PhysicsServer2D_method_area_get_param>`.
  361. .. rst-class:: classref-item-separator
  362. ----
  363. .. _class_PhysicsServer2DExtension_method__area_get_shape:
  364. .. rst-class:: classref-method
  365. :ref:`RID<class_RID>` **_area_get_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |virtual| |const|
  366. Overridable version of :ref:`PhysicsServer2D.area_get_shape<class_PhysicsServer2D_method_area_get_shape>`.
  367. .. rst-class:: classref-item-separator
  368. ----
  369. .. _class_PhysicsServer2DExtension_method__area_get_shape_count:
  370. .. rst-class:: classref-method
  371. :ref:`int<class_int>` **_area_get_shape_count** **(** :ref:`RID<class_RID>` area **)** |virtual| |const|
  372. Overridable version of :ref:`PhysicsServer2D.area_get_shape_count<class_PhysicsServer2D_method_area_get_shape_count>`.
  373. .. rst-class:: classref-item-separator
  374. ----
  375. .. _class_PhysicsServer2DExtension_method__area_get_shape_transform:
  376. .. rst-class:: classref-method
  377. :ref:`Transform2D<class_Transform2D>` **_area_get_shape_transform** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |virtual| |const|
  378. Overridable version of :ref:`PhysicsServer2D.area_get_shape_transform<class_PhysicsServer2D_method_area_get_shape_transform>`.
  379. .. rst-class:: classref-item-separator
  380. ----
  381. .. _class_PhysicsServer2DExtension_method__area_get_space:
  382. .. rst-class:: classref-method
  383. :ref:`RID<class_RID>` **_area_get_space** **(** :ref:`RID<class_RID>` area **)** |virtual| |const|
  384. Overridable version of :ref:`PhysicsServer2D.area_get_space<class_PhysicsServer2D_method_area_get_space>`.
  385. .. rst-class:: classref-item-separator
  386. ----
  387. .. _class_PhysicsServer2DExtension_method__area_get_transform:
  388. .. rst-class:: classref-method
  389. :ref:`Transform2D<class_Transform2D>` **_area_get_transform** **(** :ref:`RID<class_RID>` area **)** |virtual| |const|
  390. Overridable version of :ref:`PhysicsServer2D.area_get_transform<class_PhysicsServer2D_method_area_get_transform>`.
  391. .. rst-class:: classref-item-separator
  392. ----
  393. .. _class_PhysicsServer2DExtension_method__area_remove_shape:
  394. .. rst-class:: classref-method
  395. void **_area_remove_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |virtual|
  396. Overridable version of :ref:`PhysicsServer2D.area_remove_shape<class_PhysicsServer2D_method_area_remove_shape>`.
  397. .. rst-class:: classref-item-separator
  398. ----
  399. .. _class_PhysicsServer2DExtension_method__area_set_area_monitor_callback:
  400. .. rst-class:: classref-method
  401. void **_area_set_area_monitor_callback** **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)** |virtual|
  402. Overridable version of :ref:`PhysicsServer2D.area_set_area_monitor_callback<class_PhysicsServer2D_method_area_set_area_monitor_callback>`.
  403. .. rst-class:: classref-item-separator
  404. ----
  405. .. _class_PhysicsServer2DExtension_method__area_set_collision_layer:
  406. .. rst-class:: classref-method
  407. void **_area_set_collision_layer** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` layer **)** |virtual|
  408. Overridable version of :ref:`PhysicsServer2D.area_set_collision_layer<class_PhysicsServer2D_method_area_set_collision_layer>`.
  409. .. rst-class:: classref-item-separator
  410. ----
  411. .. _class_PhysicsServer2DExtension_method__area_set_collision_mask:
  412. .. rst-class:: classref-method
  413. void **_area_set_collision_mask** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` mask **)** |virtual|
  414. Overridable version of :ref:`PhysicsServer2D.area_set_collision_mask<class_PhysicsServer2D_method_area_set_collision_mask>`.
  415. .. rst-class:: classref-item-separator
  416. ----
  417. .. _class_PhysicsServer2DExtension_method__area_set_monitor_callback:
  418. .. rst-class:: classref-method
  419. void **_area_set_monitor_callback** **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)** |virtual|
  420. Overridable version of :ref:`PhysicsServer2D.area_set_monitor_callback<class_PhysicsServer2D_method_area_set_monitor_callback>`.
  421. .. rst-class:: classref-item-separator
  422. ----
  423. .. _class_PhysicsServer2DExtension_method__area_set_monitorable:
  424. .. rst-class:: classref-method
  425. void **_area_set_monitorable** **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` monitorable **)** |virtual|
  426. Overridable version of :ref:`PhysicsServer2D.area_set_monitorable<class_PhysicsServer2D_method_area_set_monitorable>`.
  427. .. rst-class:: classref-item-separator
  428. ----
  429. .. _class_PhysicsServer2DExtension_method__area_set_param:
  430. .. rst-class:: classref-method
  431. void **_area_set_param** **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` param, :ref:`Variant<class_Variant>` value **)** |virtual|
  432. Overridable version of :ref:`PhysicsServer2D.area_set_param<class_PhysicsServer2D_method_area_set_param>`.
  433. .. rst-class:: classref-item-separator
  434. ----
  435. .. _class_PhysicsServer2DExtension_method__area_set_pickable:
  436. .. rst-class:: classref-method
  437. void **_area_set_pickable** **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` pickable **)** |virtual|
  438. If set to ``true``, allows the area with the given :ref:`RID<class_RID>` to detect mouse inputs when the mouse cursor is hovering on it.
  439. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``area_set_pickable`` method. Corresponds to :ref:`CollisionObject2D.input_pickable<class_CollisionObject2D_property_input_pickable>`.
  440. .. rst-class:: classref-item-separator
  441. ----
  442. .. _class_PhysicsServer2DExtension_method__area_set_shape:
  443. .. rst-class:: classref-method
  444. void **_area_set_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)** |virtual|
  445. Overridable version of :ref:`PhysicsServer2D.area_set_shape<class_PhysicsServer2D_method_area_set_shape>`.
  446. .. rst-class:: classref-item-separator
  447. ----
  448. .. _class_PhysicsServer2DExtension_method__area_set_shape_disabled:
  449. .. rst-class:: classref-method
  450. void **_area_set_shape_disabled** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)** |virtual|
  451. Overridable version of :ref:`PhysicsServer2D.area_set_shape_disabled<class_PhysicsServer2D_method_area_set_shape_disabled>`.
  452. .. rst-class:: classref-item-separator
  453. ----
  454. .. _class_PhysicsServer2DExtension_method__area_set_shape_transform:
  455. .. rst-class:: classref-method
  456. void **_area_set_shape_transform** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual|
  457. Overridable version of :ref:`PhysicsServer2D.area_set_shape_transform<class_PhysicsServer2D_method_area_set_shape_transform>`.
  458. .. rst-class:: classref-item-separator
  459. ----
  460. .. _class_PhysicsServer2DExtension_method__area_set_space:
  461. .. rst-class:: classref-method
  462. void **_area_set_space** **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` space **)** |virtual|
  463. Overridable version of :ref:`PhysicsServer2D.area_set_space<class_PhysicsServer2D_method_area_set_space>`.
  464. .. rst-class:: classref-item-separator
  465. ----
  466. .. _class_PhysicsServer2DExtension_method__area_set_transform:
  467. .. rst-class:: classref-method
  468. void **_area_set_transform** **(** :ref:`RID<class_RID>` area, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual|
  469. Overridable version of :ref:`PhysicsServer2D.area_set_transform<class_PhysicsServer2D_method_area_set_transform>`.
  470. .. rst-class:: classref-item-separator
  471. ----
  472. .. _class_PhysicsServer2DExtension_method__body_add_collision_exception:
  473. .. rst-class:: classref-method
  474. void **_body_add_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)** |virtual|
  475. Overridable version of :ref:`PhysicsServer2D.body_add_collision_exception<class_PhysicsServer2D_method_body_add_collision_exception>`.
  476. .. rst-class:: classref-item-separator
  477. ----
  478. .. _class_PhysicsServer2DExtension_method__body_add_constant_central_force:
  479. .. rst-class:: classref-method
  480. void **_body_add_constant_central_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force **)** |virtual|
  481. Overridable version of :ref:`PhysicsServer2D.body_add_constant_central_force<class_PhysicsServer2D_method_body_add_constant_central_force>`.
  482. .. rst-class:: classref-item-separator
  483. ----
  484. .. _class_PhysicsServer2DExtension_method__body_add_constant_force:
  485. .. rst-class:: classref-method
  486. void **_body_add_constant_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force, :ref:`Vector2<class_Vector2>` position **)** |virtual|
  487. Overridable version of :ref:`PhysicsServer2D.body_add_constant_force<class_PhysicsServer2D_method_body_add_constant_force>`.
  488. .. rst-class:: classref-item-separator
  489. ----
  490. .. _class_PhysicsServer2DExtension_method__body_add_constant_torque:
  491. .. rst-class:: classref-method
  492. void **_body_add_constant_torque** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` torque **)** |virtual|
  493. Overridable version of :ref:`PhysicsServer2D.body_add_constant_torque<class_PhysicsServer2D_method_body_add_constant_torque>`.
  494. .. rst-class:: classref-item-separator
  495. ----
  496. .. _class_PhysicsServer2DExtension_method__body_add_shape:
  497. .. rst-class:: classref-method
  498. void **_body_add_shape** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` shape, :ref:`Transform2D<class_Transform2D>` transform, :ref:`bool<class_bool>` disabled **)** |virtual|
  499. Overridable version of :ref:`PhysicsServer2D.body_add_shape<class_PhysicsServer2D_method_body_add_shape>`.
  500. .. rst-class:: classref-item-separator
  501. ----
  502. .. _class_PhysicsServer2DExtension_method__body_apply_central_force:
  503. .. rst-class:: classref-method
  504. void **_body_apply_central_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force **)** |virtual|
  505. Overridable version of :ref:`PhysicsServer2D.body_apply_central_force<class_PhysicsServer2D_method_body_apply_central_force>`.
  506. .. rst-class:: classref-item-separator
  507. ----
  508. .. _class_PhysicsServer2DExtension_method__body_apply_central_impulse:
  509. .. rst-class:: classref-method
  510. void **_body_apply_central_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` impulse **)** |virtual|
  511. Overridable version of :ref:`PhysicsServer2D.body_apply_central_impulse<class_PhysicsServer2D_method_body_apply_central_impulse>`.
  512. .. rst-class:: classref-item-separator
  513. ----
  514. .. _class_PhysicsServer2DExtension_method__body_apply_force:
  515. .. rst-class:: classref-method
  516. void **_body_apply_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force, :ref:`Vector2<class_Vector2>` position **)** |virtual|
  517. Overridable version of :ref:`PhysicsServer2D.body_apply_force<class_PhysicsServer2D_method_body_apply_force>`.
  518. .. rst-class:: classref-item-separator
  519. ----
  520. .. _class_PhysicsServer2DExtension_method__body_apply_impulse:
  521. .. rst-class:: classref-method
  522. void **_body_apply_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` impulse, :ref:`Vector2<class_Vector2>` position **)** |virtual|
  523. Overridable version of :ref:`PhysicsServer2D.body_apply_impulse<class_PhysicsServer2D_method_body_apply_impulse>`.
  524. .. rst-class:: classref-item-separator
  525. ----
  526. .. _class_PhysicsServer2DExtension_method__body_apply_torque:
  527. .. rst-class:: classref-method
  528. void **_body_apply_torque** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` torque **)** |virtual|
  529. Overridable version of :ref:`PhysicsServer2D.body_apply_torque<class_PhysicsServer2D_method_body_apply_torque>`.
  530. .. rst-class:: classref-item-separator
  531. ----
  532. .. _class_PhysicsServer2DExtension_method__body_apply_torque_impulse:
  533. .. rst-class:: classref-method
  534. void **_body_apply_torque_impulse** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` impulse **)** |virtual|
  535. Overridable version of :ref:`PhysicsServer2D.body_apply_torque_impulse<class_PhysicsServer2D_method_body_apply_torque_impulse>`.
  536. .. rst-class:: classref-item-separator
  537. ----
  538. .. _class_PhysicsServer2DExtension_method__body_attach_canvas_instance_id:
  539. .. rst-class:: classref-method
  540. void **_body_attach_canvas_instance_id** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)** |virtual|
  541. Overridable version of :ref:`PhysicsServer2D.body_attach_canvas_instance_id<class_PhysicsServer2D_method_body_attach_canvas_instance_id>`.
  542. .. rst-class:: classref-item-separator
  543. ----
  544. .. _class_PhysicsServer2DExtension_method__body_attach_object_instance_id:
  545. .. rst-class:: classref-method
  546. void **_body_attach_object_instance_id** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)** |virtual|
  547. Overridable version of :ref:`PhysicsServer2D.body_attach_object_instance_id<class_PhysicsServer2D_method_body_attach_object_instance_id>`.
  548. .. rst-class:: classref-item-separator
  549. ----
  550. .. _class_PhysicsServer2DExtension_method__body_clear_shapes:
  551. .. rst-class:: classref-method
  552. void **_body_clear_shapes** **(** :ref:`RID<class_RID>` body **)** |virtual|
  553. Overridable version of :ref:`PhysicsServer2D.body_clear_shapes<class_PhysicsServer2D_method_body_clear_shapes>`.
  554. .. rst-class:: classref-item-separator
  555. ----
  556. .. _class_PhysicsServer2DExtension_method__body_collide_shape:
  557. .. rst-class:: classref-method
  558. :ref:`bool<class_bool>` **_body_collide_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` body_shape, :ref:`RID<class_RID>` shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` motion, void* results, :ref:`int<class_int>` result_max, int32_t* result_count **)** |virtual|
  559. Given a ``body``, a ``shape``, and their respective parameters, this method should return ``true`` if a collision between the two would occur, with additional details passed in ``results``.
  560. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``shape_collide`` method. Corresponds to :ref:`PhysicsDirectSpaceState2D.collide_shape<class_PhysicsDirectSpaceState2D_method_collide_shape>`.
  561. .. rst-class:: classref-item-separator
  562. ----
  563. .. _class_PhysicsServer2DExtension_method__body_create:
  564. .. rst-class:: classref-method
  565. :ref:`RID<class_RID>` **_body_create** **(** **)** |virtual|
  566. Overridable version of :ref:`PhysicsServer2D.body_create<class_PhysicsServer2D_method_body_create>`.
  567. .. rst-class:: classref-item-separator
  568. ----
  569. .. _class_PhysicsServer2DExtension_method__body_get_canvas_instance_id:
  570. .. rst-class:: classref-method
  571. :ref:`int<class_int>` **_body_get_canvas_instance_id** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  572. Overridable version of :ref:`PhysicsServer2D.body_get_canvas_instance_id<class_PhysicsServer2D_method_body_get_canvas_instance_id>`.
  573. .. rst-class:: classref-item-separator
  574. ----
  575. .. _class_PhysicsServer2DExtension_method__body_get_collision_exceptions:
  576. .. rst-class:: classref-method
  577. :ref:`RID[]<class_RID>` **_body_get_collision_exceptions** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  578. Returns the :ref:`RID<class_RID>`\ s of all bodies added as collision exceptions for the given ``body``. See also :ref:`_body_add_collision_exception<class_PhysicsServer2DExtension_method__body_add_collision_exception>` and :ref:`_body_remove_collision_exception<class_PhysicsServer2DExtension_method__body_remove_collision_exception>`.
  579. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``body_get_collision_exceptions`` method. Corresponds to :ref:`PhysicsBody2D.get_collision_exceptions<class_PhysicsBody2D_method_get_collision_exceptions>`.
  580. .. rst-class:: classref-item-separator
  581. ----
  582. .. _class_PhysicsServer2DExtension_method__body_get_collision_layer:
  583. .. rst-class:: classref-method
  584. :ref:`int<class_int>` **_body_get_collision_layer** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  585. Overridable version of :ref:`PhysicsServer2D.body_get_collision_layer<class_PhysicsServer2D_method_body_get_collision_layer>`.
  586. .. rst-class:: classref-item-separator
  587. ----
  588. .. _class_PhysicsServer2DExtension_method__body_get_collision_mask:
  589. .. rst-class:: classref-method
  590. :ref:`int<class_int>` **_body_get_collision_mask** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  591. Overridable version of :ref:`PhysicsServer2D.body_get_collision_mask<class_PhysicsServer2D_method_body_get_collision_mask>`.
  592. .. rst-class:: classref-item-separator
  593. ----
  594. .. _class_PhysicsServer2DExtension_method__body_get_collision_priority:
  595. .. rst-class:: classref-method
  596. :ref:`float<class_float>` **_body_get_collision_priority** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  597. Overridable version of :ref:`PhysicsServer2D.body_get_collision_priority<class_PhysicsServer2D_method_body_get_collision_priority>`.
  598. .. rst-class:: classref-item-separator
  599. ----
  600. .. _class_PhysicsServer2DExtension_method__body_get_constant_force:
  601. .. rst-class:: classref-method
  602. :ref:`Vector2<class_Vector2>` **_body_get_constant_force** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  603. Overridable version of :ref:`PhysicsServer2D.body_get_constant_force<class_PhysicsServer2D_method_body_get_constant_force>`.
  604. .. rst-class:: classref-item-separator
  605. ----
  606. .. _class_PhysicsServer2DExtension_method__body_get_constant_torque:
  607. .. rst-class:: classref-method
  608. :ref:`float<class_float>` **_body_get_constant_torque** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  609. Overridable version of :ref:`PhysicsServer2D.body_get_constant_torque<class_PhysicsServer2D_method_body_get_constant_torque>`.
  610. .. rst-class:: classref-item-separator
  611. ----
  612. .. _class_PhysicsServer2DExtension_method__body_get_contacts_reported_depth_threshold:
  613. .. rst-class:: classref-method
  614. :ref:`float<class_float>` **_body_get_contacts_reported_depth_threshold** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  615. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``body_get_contacts_reported_depth_threshold`` method.
  616. \ **Note:** This method is currently unused by Godot's default physics implementation.
  617. .. rst-class:: classref-item-separator
  618. ----
  619. .. _class_PhysicsServer2DExtension_method__body_get_continuous_collision_detection_mode:
  620. .. rst-class:: classref-method
  621. :ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` **_body_get_continuous_collision_detection_mode** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  622. Overridable version of :ref:`PhysicsServer2D.body_get_continuous_collision_detection_mode<class_PhysicsServer2D_method_body_get_continuous_collision_detection_mode>`.
  623. .. rst-class:: classref-item-separator
  624. ----
  625. .. _class_PhysicsServer2DExtension_method__body_get_direct_state:
  626. .. rst-class:: classref-method
  627. :ref:`PhysicsDirectBodyState2D<class_PhysicsDirectBodyState2D>` **_body_get_direct_state** **(** :ref:`RID<class_RID>` body **)** |virtual|
  628. Overridable version of :ref:`PhysicsServer2D.body_get_direct_state<class_PhysicsServer2D_method_body_get_direct_state>`.
  629. .. rst-class:: classref-item-separator
  630. ----
  631. .. _class_PhysicsServer2DExtension_method__body_get_max_contacts_reported:
  632. .. rst-class:: classref-method
  633. :ref:`int<class_int>` **_body_get_max_contacts_reported** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  634. Overridable version of :ref:`PhysicsServer2D.body_get_max_contacts_reported<class_PhysicsServer2D_method_body_get_max_contacts_reported>`.
  635. .. rst-class:: classref-item-separator
  636. ----
  637. .. _class_PhysicsServer2DExtension_method__body_get_mode:
  638. .. rst-class:: classref-method
  639. :ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` **_body_get_mode** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  640. Overridable version of :ref:`PhysicsServer2D.body_get_mode<class_PhysicsServer2D_method_body_get_mode>`.
  641. .. rst-class:: classref-item-separator
  642. ----
  643. .. _class_PhysicsServer2DExtension_method__body_get_object_instance_id:
  644. .. rst-class:: classref-method
  645. :ref:`int<class_int>` **_body_get_object_instance_id** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  646. Overridable version of :ref:`PhysicsServer2D.body_get_object_instance_id<class_PhysicsServer2D_method_body_get_object_instance_id>`.
  647. .. rst-class:: classref-item-separator
  648. ----
  649. .. _class_PhysicsServer2DExtension_method__body_get_param:
  650. .. rst-class:: classref-method
  651. :ref:`Variant<class_Variant>` **_body_get_param** **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` param **)** |virtual| |const|
  652. Overridable version of :ref:`PhysicsServer2D.body_get_param<class_PhysicsServer2D_method_body_get_param>`.
  653. .. rst-class:: classref-item-separator
  654. ----
  655. .. _class_PhysicsServer2DExtension_method__body_get_shape:
  656. .. rst-class:: classref-method
  657. :ref:`RID<class_RID>` **_body_get_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |virtual| |const|
  658. Overridable version of :ref:`PhysicsServer2D.body_get_shape<class_PhysicsServer2D_method_body_get_shape>`.
  659. .. rst-class:: classref-item-separator
  660. ----
  661. .. _class_PhysicsServer2DExtension_method__body_get_shape_count:
  662. .. rst-class:: classref-method
  663. :ref:`int<class_int>` **_body_get_shape_count** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  664. Overridable version of :ref:`PhysicsServer2D.body_get_shape_count<class_PhysicsServer2D_method_body_get_shape_count>`.
  665. .. rst-class:: classref-item-separator
  666. ----
  667. .. _class_PhysicsServer2DExtension_method__body_get_shape_transform:
  668. .. rst-class:: classref-method
  669. :ref:`Transform2D<class_Transform2D>` **_body_get_shape_transform** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |virtual| |const|
  670. Overridable version of :ref:`PhysicsServer2D.body_get_shape_transform<class_PhysicsServer2D_method_body_get_shape_transform>`.
  671. .. rst-class:: classref-item-separator
  672. ----
  673. .. _class_PhysicsServer2DExtension_method__body_get_space:
  674. .. rst-class:: classref-method
  675. :ref:`RID<class_RID>` **_body_get_space** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  676. Overridable version of :ref:`PhysicsServer2D.body_get_space<class_PhysicsServer2D_method_body_get_space>`.
  677. .. rst-class:: classref-item-separator
  678. ----
  679. .. _class_PhysicsServer2DExtension_method__body_get_state:
  680. .. rst-class:: classref-method
  681. :ref:`Variant<class_Variant>` **_body_get_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer2D_BodyState>` state **)** |virtual| |const|
  682. Overridable version of :ref:`PhysicsServer2D.body_get_state<class_PhysicsServer2D_method_body_get_state>`.
  683. .. rst-class:: classref-item-separator
  684. ----
  685. .. _class_PhysicsServer2DExtension_method__body_is_omitting_force_integration:
  686. .. rst-class:: classref-method
  687. :ref:`bool<class_bool>` **_body_is_omitting_force_integration** **(** :ref:`RID<class_RID>` body **)** |virtual| |const|
  688. Overridable version of :ref:`PhysicsServer2D.body_is_omitting_force_integration<class_PhysicsServer2D_method_body_is_omitting_force_integration>`.
  689. .. rst-class:: classref-item-separator
  690. ----
  691. .. _class_PhysicsServer2DExtension_method__body_remove_collision_exception:
  692. .. rst-class:: classref-method
  693. void **_body_remove_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)** |virtual|
  694. Overridable version of :ref:`PhysicsServer2D.body_remove_collision_exception<class_PhysicsServer2D_method_body_remove_collision_exception>`.
  695. .. rst-class:: classref-item-separator
  696. ----
  697. .. _class_PhysicsServer2DExtension_method__body_remove_shape:
  698. .. rst-class:: classref-method
  699. void **_body_remove_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |virtual|
  700. Overridable version of :ref:`PhysicsServer2D.body_remove_shape<class_PhysicsServer2D_method_body_remove_shape>`.
  701. .. rst-class:: classref-item-separator
  702. ----
  703. .. _class_PhysicsServer2DExtension_method__body_reset_mass_properties:
  704. .. rst-class:: classref-method
  705. void **_body_reset_mass_properties** **(** :ref:`RID<class_RID>` body **)** |virtual|
  706. Overridable version of :ref:`PhysicsServer2D.body_reset_mass_properties<class_PhysicsServer2D_method_body_reset_mass_properties>`.
  707. .. rst-class:: classref-item-separator
  708. ----
  709. .. _class_PhysicsServer2DExtension_method__body_set_axis_velocity:
  710. .. rst-class:: classref-method
  711. void **_body_set_axis_velocity** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` axis_velocity **)** |virtual|
  712. Overridable version of :ref:`PhysicsServer2D.body_set_axis_velocity<class_PhysicsServer2D_method_body_set_axis_velocity>`.
  713. .. rst-class:: classref-item-separator
  714. ----
  715. .. _class_PhysicsServer2DExtension_method__body_set_collision_layer:
  716. .. rst-class:: classref-method
  717. void **_body_set_collision_layer** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` layer **)** |virtual|
  718. Overridable version of :ref:`PhysicsServer2D.body_set_collision_layer<class_PhysicsServer2D_method_body_set_collision_layer>`.
  719. .. rst-class:: classref-item-separator
  720. ----
  721. .. _class_PhysicsServer2DExtension_method__body_set_collision_mask:
  722. .. rst-class:: classref-method
  723. void **_body_set_collision_mask** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` mask **)** |virtual|
  724. Overridable version of :ref:`PhysicsServer2D.body_set_collision_mask<class_PhysicsServer2D_method_body_set_collision_mask>`.
  725. .. rst-class:: classref-item-separator
  726. ----
  727. .. _class_PhysicsServer2DExtension_method__body_set_collision_priority:
  728. .. rst-class:: classref-method
  729. void **_body_set_collision_priority** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` priority **)** |virtual|
  730. Overridable version of :ref:`PhysicsServer2D.body_set_collision_priority<class_PhysicsServer2D_method_body_set_collision_priority>`.
  731. .. rst-class:: classref-item-separator
  732. ----
  733. .. _class_PhysicsServer2DExtension_method__body_set_constant_force:
  734. .. rst-class:: classref-method
  735. void **_body_set_constant_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector2<class_Vector2>` force **)** |virtual|
  736. Overridable version of :ref:`PhysicsServer2D.body_set_constant_force<class_PhysicsServer2D_method_body_set_constant_force>`.
  737. .. rst-class:: classref-item-separator
  738. ----
  739. .. _class_PhysicsServer2DExtension_method__body_set_constant_torque:
  740. .. rst-class:: classref-method
  741. void **_body_set_constant_torque** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` torque **)** |virtual|
  742. Overridable version of :ref:`PhysicsServer2D.body_set_constant_torque<class_PhysicsServer2D_method_body_set_constant_torque>`.
  743. .. rst-class:: classref-item-separator
  744. ----
  745. .. _class_PhysicsServer2DExtension_method__body_set_contacts_reported_depth_threshold:
  746. .. rst-class:: classref-method
  747. void **_body_set_contacts_reported_depth_threshold** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` threshold **)** |virtual|
  748. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``body_set_contacts_reported_depth_threshold`` method.
  749. \ **Note:** This method is currently unused by Godot's default physics implementation.
  750. .. rst-class:: classref-item-separator
  751. ----
  752. .. _class_PhysicsServer2DExtension_method__body_set_continuous_collision_detection_mode:
  753. .. rst-class:: classref-method
  754. void **_body_set_continuous_collision_detection_mode** **(** :ref:`RID<class_RID>` body, :ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` mode **)** |virtual|
  755. Overridable version of :ref:`PhysicsServer2D.body_set_continuous_collision_detection_mode<class_PhysicsServer2D_method_body_set_continuous_collision_detection_mode>`.
  756. .. rst-class:: classref-item-separator
  757. ----
  758. .. _class_PhysicsServer2DExtension_method__body_set_force_integration_callback:
  759. .. rst-class:: classref-method
  760. void **_body_set_force_integration_callback** **(** :ref:`RID<class_RID>` body, :ref:`Callable<class_Callable>` callable, :ref:`Variant<class_Variant>` userdata **)** |virtual|
  761. Overridable version of :ref:`PhysicsServer2D.body_set_force_integration_callback<class_PhysicsServer2D_method_body_set_force_integration_callback>`.
  762. .. rst-class:: classref-item-separator
  763. ----
  764. .. _class_PhysicsServer2DExtension_method__body_set_max_contacts_reported:
  765. .. rst-class:: classref-method
  766. void **_body_set_max_contacts_reported** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` amount **)** |virtual|
  767. Overridable version of :ref:`PhysicsServer2D.body_set_max_contacts_reported<class_PhysicsServer2D_method_body_set_max_contacts_reported>`.
  768. .. rst-class:: classref-item-separator
  769. ----
  770. .. _class_PhysicsServer2DExtension_method__body_set_mode:
  771. .. rst-class:: classref-method
  772. void **_body_set_mode** **(** :ref:`RID<class_RID>` body, :ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` mode **)** |virtual|
  773. Overridable version of :ref:`PhysicsServer2D.body_set_mode<class_PhysicsServer2D_method_body_set_mode>`.
  774. .. rst-class:: classref-item-separator
  775. ----
  776. .. _class_PhysicsServer2DExtension_method__body_set_omit_force_integration:
  777. .. rst-class:: classref-method
  778. void **_body_set_omit_force_integration** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)** |virtual|
  779. Overridable version of :ref:`PhysicsServer2D.body_set_omit_force_integration<class_PhysicsServer2D_method_body_set_omit_force_integration>`.
  780. .. rst-class:: classref-item-separator
  781. ----
  782. .. _class_PhysicsServer2DExtension_method__body_set_param:
  783. .. rst-class:: classref-method
  784. void **_body_set_param** **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` param, :ref:`Variant<class_Variant>` value **)** |virtual|
  785. Overridable version of :ref:`PhysicsServer2D.body_set_param<class_PhysicsServer2D_method_body_set_param>`.
  786. .. rst-class:: classref-item-separator
  787. ----
  788. .. _class_PhysicsServer2DExtension_method__body_set_pickable:
  789. .. rst-class:: classref-method
  790. void **_body_set_pickable** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` pickable **)** |virtual|
  791. If set to ``true``, allows the body with the given :ref:`RID<class_RID>` to detect mouse inputs when the mouse cursor is hovering on it.
  792. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``body_set_pickable`` method. Corresponds to :ref:`CollisionObject2D.input_pickable<class_CollisionObject2D_property_input_pickable>`.
  793. .. rst-class:: classref-item-separator
  794. ----
  795. .. _class_PhysicsServer2DExtension_method__body_set_shape:
  796. .. rst-class:: classref-method
  797. void **_body_set_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)** |virtual|
  798. Overridable version of :ref:`PhysicsServer2D.body_set_shape<class_PhysicsServer2D_method_body_set_shape>`.
  799. .. rst-class:: classref-item-separator
  800. ----
  801. .. _class_PhysicsServer2DExtension_method__body_set_shape_as_one_way_collision:
  802. .. rst-class:: classref-method
  803. void **_body_set_shape_as_one_way_collision** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` margin **)** |virtual|
  804. Overridable version of :ref:`PhysicsServer2D.body_set_shape_as_one_way_collision<class_PhysicsServer2D_method_body_set_shape_as_one_way_collision>`.
  805. .. rst-class:: classref-item-separator
  806. ----
  807. .. _class_PhysicsServer2DExtension_method__body_set_shape_disabled:
  808. .. rst-class:: classref-method
  809. void **_body_set_shape_disabled** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)** |virtual|
  810. Overridable version of :ref:`PhysicsServer2D.body_set_shape_disabled<class_PhysicsServer2D_method_body_set_shape_disabled>`.
  811. .. rst-class:: classref-item-separator
  812. ----
  813. .. _class_PhysicsServer2DExtension_method__body_set_shape_transform:
  814. .. rst-class:: classref-method
  815. void **_body_set_shape_transform** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual|
  816. Overridable version of :ref:`PhysicsServer2D.body_set_shape_transform<class_PhysicsServer2D_method_body_set_shape_transform>`.
  817. .. rst-class:: classref-item-separator
  818. ----
  819. .. _class_PhysicsServer2DExtension_method__body_set_space:
  820. .. rst-class:: classref-method
  821. void **_body_set_space** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)** |virtual|
  822. Overridable version of :ref:`PhysicsServer2D.body_set_space<class_PhysicsServer2D_method_body_set_space>`.
  823. .. rst-class:: classref-item-separator
  824. ----
  825. .. _class_PhysicsServer2DExtension_method__body_set_state:
  826. .. rst-class:: classref-method
  827. void **_body_set_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer2D_BodyState>` state, :ref:`Variant<class_Variant>` value **)** |virtual|
  828. Overridable version of :ref:`PhysicsServer2D.body_set_state<class_PhysicsServer2D_method_body_set_state>`.
  829. .. rst-class:: classref-item-separator
  830. ----
  831. .. _class_PhysicsServer2DExtension_method__body_set_state_sync_callback:
  832. .. rst-class:: classref-method
  833. void **_body_set_state_sync_callback** **(** :ref:`RID<class_RID>` body, :ref:`Callable<class_Callable>` callable **)** |virtual|
  834. Assigns the ``body`` to call the given ``callable`` during the synchronization phase of the loop, before :ref:`_step<class_PhysicsServer2DExtension_method__step>` is called. See also :ref:`_sync<class_PhysicsServer2DExtension_method__sync>`.
  835. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``body_set_state_sync_callback`` method.
  836. .. rst-class:: classref-item-separator
  837. ----
  838. .. _class_PhysicsServer2DExtension_method__body_test_motion:
  839. .. rst-class:: classref-method
  840. :ref:`bool<class_bool>` **_body_test_motion** **(** :ref:`RID<class_RID>` body, :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` motion, :ref:`float<class_float>` margin, :ref:`bool<class_bool>` collide_separation_ray, :ref:`bool<class_bool>` recovery_as_collision, PhysicsServer2DExtensionMotionResult* result **)** |virtual| |const|
  841. Overridable version of :ref:`PhysicsServer2D.body_test_motion<class_PhysicsServer2D_method_body_test_motion>`. Unlike the exposed implementation, this method does not receive all of the arguments inside a :ref:`PhysicsTestMotionParameters2D<class_PhysicsTestMotionParameters2D>`.
  842. .. rst-class:: classref-item-separator
  843. ----
  844. .. _class_PhysicsServer2DExtension_method__capsule_shape_create:
  845. .. rst-class:: classref-method
  846. :ref:`RID<class_RID>` **_capsule_shape_create** **(** **)** |virtual|
  847. Overridable version of :ref:`PhysicsServer2D.capsule_shape_create<class_PhysicsServer2D_method_capsule_shape_create>`.
  848. .. rst-class:: classref-item-separator
  849. ----
  850. .. _class_PhysicsServer2DExtension_method__circle_shape_create:
  851. .. rst-class:: classref-method
  852. :ref:`RID<class_RID>` **_circle_shape_create** **(** **)** |virtual|
  853. Overridable version of :ref:`PhysicsServer2D.circle_shape_create<class_PhysicsServer2D_method_circle_shape_create>`.
  854. .. rst-class:: classref-item-separator
  855. ----
  856. .. _class_PhysicsServer2DExtension_method__concave_polygon_shape_create:
  857. .. rst-class:: classref-method
  858. :ref:`RID<class_RID>` **_concave_polygon_shape_create** **(** **)** |virtual|
  859. Overridable version of :ref:`PhysicsServer2D.concave_polygon_shape_create<class_PhysicsServer2D_method_concave_polygon_shape_create>`.
  860. .. rst-class:: classref-item-separator
  861. ----
  862. .. _class_PhysicsServer2DExtension_method__convex_polygon_shape_create:
  863. .. rst-class:: classref-method
  864. :ref:`RID<class_RID>` **_convex_polygon_shape_create** **(** **)** |virtual|
  865. Overridable version of :ref:`PhysicsServer2D.convex_polygon_shape_create<class_PhysicsServer2D_method_convex_polygon_shape_create>`.
  866. .. rst-class:: classref-item-separator
  867. ----
  868. .. _class_PhysicsServer2DExtension_method__damped_spring_joint_get_param:
  869. .. rst-class:: classref-method
  870. :ref:`float<class_float>` **_damped_spring_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>` param **)** |virtual| |const|
  871. Overridable version of :ref:`PhysicsServer2D.damped_spring_joint_get_param<class_PhysicsServer2D_method_damped_spring_joint_get_param>`.
  872. .. rst-class:: classref-item-separator
  873. ----
  874. .. _class_PhysicsServer2DExtension_method__damped_spring_joint_set_param:
  875. .. rst-class:: classref-method
  876. void **_damped_spring_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>` param, :ref:`float<class_float>` value **)** |virtual|
  877. Overridable version of :ref:`PhysicsServer2D.damped_spring_joint_set_param<class_PhysicsServer2D_method_damped_spring_joint_set_param>`.
  878. .. rst-class:: classref-item-separator
  879. ----
  880. .. _class_PhysicsServer2DExtension_method__end_sync:
  881. .. rst-class:: classref-method
  882. void **_end_sync** **(** **)** |virtual|
  883. Called to indicate that the physics server has stopped synchronizing. It is in the loop's iteration/physics phase, and can access physics objects even if running on a separate thread. See also :ref:`_sync<class_PhysicsServer2DExtension_method__sync>`.
  884. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``end_sync`` method.
  885. .. rst-class:: classref-item-separator
  886. ----
  887. .. _class_PhysicsServer2DExtension_method__finish:
  888. .. rst-class:: classref-method
  889. void **_finish** **(** **)** |virtual|
  890. Called when the main loop finalizes to shut down the physics server. See also :ref:`MainLoop._finalize<class_MainLoop_method__finalize>` and :ref:`_init<class_PhysicsServer2DExtension_method__init>`.
  891. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``finish`` method.
  892. .. rst-class:: classref-item-separator
  893. ----
  894. .. _class_PhysicsServer2DExtension_method__flush_queries:
  895. .. rst-class:: classref-method
  896. void **_flush_queries** **(** **)** |virtual|
  897. Called every physics step before :ref:`_step<class_PhysicsServer2DExtension_method__step>` to process all remaining queries.
  898. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``flush_queries`` method.
  899. .. rst-class:: classref-item-separator
  900. ----
  901. .. _class_PhysicsServer2DExtension_method__free_rid:
  902. .. rst-class:: classref-method
  903. void **_free_rid** **(** :ref:`RID<class_RID>` rid **)** |virtual|
  904. Overridable version of :ref:`PhysicsServer2D.free_rid<class_PhysicsServer2D_method_free_rid>`.
  905. .. rst-class:: classref-item-separator
  906. ----
  907. .. _class_PhysicsServer2DExtension_method__get_process_info:
  908. .. rst-class:: classref-method
  909. :ref:`int<class_int>` **_get_process_info** **(** :ref:`ProcessInfo<enum_PhysicsServer2D_ProcessInfo>` process_info **)** |virtual|
  910. Overridable version of :ref:`PhysicsServer2D.get_process_info<class_PhysicsServer2D_method_get_process_info>`.
  911. .. rst-class:: classref-item-separator
  912. ----
  913. .. _class_PhysicsServer2DExtension_method__init:
  914. .. rst-class:: classref-method
  915. void **_init** **(** **)** |virtual|
  916. Called when the main loop is initialized and creates a new instance of this physics server. See also :ref:`MainLoop._initialize<class_MainLoop_method__initialize>` and :ref:`_finish<class_PhysicsServer2DExtension_method__finish>`.
  917. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``init`` method.
  918. .. rst-class:: classref-item-separator
  919. ----
  920. .. _class_PhysicsServer2DExtension_method__is_flushing_queries:
  921. .. rst-class:: classref-method
  922. :ref:`bool<class_bool>` **_is_flushing_queries** **(** **)** |virtual| |const|
  923. Overridable method that should return ``true`` when the physics server is processing queries. See also :ref:`_flush_queries<class_PhysicsServer2DExtension_method__flush_queries>`.
  924. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``is_flushing_queries`` method.
  925. .. rst-class:: classref-item-separator
  926. ----
  927. .. _class_PhysicsServer2DExtension_method__joint_clear:
  928. .. rst-class:: classref-method
  929. void **_joint_clear** **(** :ref:`RID<class_RID>` joint **)** |virtual|
  930. Overridable version of :ref:`PhysicsServer2D.joint_clear<class_PhysicsServer2D_method_joint_clear>`.
  931. .. rst-class:: classref-item-separator
  932. ----
  933. .. _class_PhysicsServer2DExtension_method__joint_create:
  934. .. rst-class:: classref-method
  935. :ref:`RID<class_RID>` **_joint_create** **(** **)** |virtual|
  936. Overridable version of :ref:`PhysicsServer2D.joint_create<class_PhysicsServer2D_method_joint_create>`.
  937. .. rst-class:: classref-item-separator
  938. ----
  939. .. _class_PhysicsServer2DExtension_method__joint_disable_collisions_between_bodies:
  940. .. rst-class:: classref-method
  941. void **_joint_disable_collisions_between_bodies** **(** :ref:`RID<class_RID>` joint, :ref:`bool<class_bool>` disable **)** |virtual|
  942. Overridable version of :ref:`PhysicsServer2D.joint_disable_collisions_between_bodies<class_PhysicsServer2D_method_joint_disable_collisions_between_bodies>`.
  943. .. rst-class:: classref-item-separator
  944. ----
  945. .. _class_PhysicsServer2DExtension_method__joint_get_param:
  946. .. rst-class:: classref-method
  947. :ref:`float<class_float>` **_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`JointParam<enum_PhysicsServer2D_JointParam>` param **)** |virtual| |const|
  948. Overridable version of :ref:`PhysicsServer2D.joint_get_param<class_PhysicsServer2D_method_joint_get_param>`.
  949. .. rst-class:: classref-item-separator
  950. ----
  951. .. _class_PhysicsServer2DExtension_method__joint_get_type:
  952. .. rst-class:: classref-method
  953. :ref:`JointType<enum_PhysicsServer2D_JointType>` **_joint_get_type** **(** :ref:`RID<class_RID>` joint **)** |virtual| |const|
  954. Overridable version of :ref:`PhysicsServer2D.joint_get_type<class_PhysicsServer2D_method_joint_get_type>`.
  955. .. rst-class:: classref-item-separator
  956. ----
  957. .. _class_PhysicsServer2DExtension_method__joint_is_disabled_collisions_between_bodies:
  958. .. rst-class:: classref-method
  959. :ref:`bool<class_bool>` **_joint_is_disabled_collisions_between_bodies** **(** :ref:`RID<class_RID>` joint **)** |virtual| |const|
  960. Overridable version of :ref:`PhysicsServer2D.joint_is_disabled_collisions_between_bodies<class_PhysicsServer2D_method_joint_is_disabled_collisions_between_bodies>`.
  961. .. rst-class:: classref-item-separator
  962. ----
  963. .. _class_PhysicsServer2DExtension_method__joint_make_damped_spring:
  964. .. rst-class:: classref-method
  965. void **_joint_make_damped_spring** **(** :ref:`RID<class_RID>` joint, :ref:`Vector2<class_Vector2>` anchor_a, :ref:`Vector2<class_Vector2>` anchor_b, :ref:`RID<class_RID>` body_a, :ref:`RID<class_RID>` body_b **)** |virtual|
  966. Overridable version of :ref:`PhysicsServer2D.joint_make_damped_spring<class_PhysicsServer2D_method_joint_make_damped_spring>`.
  967. .. rst-class:: classref-item-separator
  968. ----
  969. .. _class_PhysicsServer2DExtension_method__joint_make_groove:
  970. .. rst-class:: classref-method
  971. void **_joint_make_groove** **(** :ref:`RID<class_RID>` joint, :ref:`Vector2<class_Vector2>` a_groove1, :ref:`Vector2<class_Vector2>` a_groove2, :ref:`Vector2<class_Vector2>` b_anchor, :ref:`RID<class_RID>` body_a, :ref:`RID<class_RID>` body_b **)** |virtual|
  972. Overridable version of :ref:`PhysicsServer2D.joint_make_groove<class_PhysicsServer2D_method_joint_make_groove>`.
  973. .. rst-class:: classref-item-separator
  974. ----
  975. .. _class_PhysicsServer2DExtension_method__joint_make_pin:
  976. .. rst-class:: classref-method
  977. void **_joint_make_pin** **(** :ref:`RID<class_RID>` joint, :ref:`Vector2<class_Vector2>` anchor, :ref:`RID<class_RID>` body_a, :ref:`RID<class_RID>` body_b **)** |virtual|
  978. Overridable version of :ref:`PhysicsServer2D.joint_make_pin<class_PhysicsServer2D_method_joint_make_pin>`.
  979. .. rst-class:: classref-item-separator
  980. ----
  981. .. _class_PhysicsServer2DExtension_method__joint_set_param:
  982. .. rst-class:: classref-method
  983. void **_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`JointParam<enum_PhysicsServer2D_JointParam>` param, :ref:`float<class_float>` value **)** |virtual|
  984. Overridable version of :ref:`PhysicsServer2D.joint_set_param<class_PhysicsServer2D_method_joint_set_param>`.
  985. .. rst-class:: classref-item-separator
  986. ----
  987. .. _class_PhysicsServer2DExtension_method__pin_joint_get_param:
  988. .. rst-class:: classref-method
  989. :ref:`float<class_float>` **_pin_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` param **)** |virtual| |const|
  990. Overridable version of :ref:`PhysicsServer2D.pin_joint_get_param<class_PhysicsServer2D_method_pin_joint_get_param>`.
  991. .. rst-class:: classref-item-separator
  992. ----
  993. .. _class_PhysicsServer2DExtension_method__pin_joint_set_param:
  994. .. rst-class:: classref-method
  995. void **_pin_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` param, :ref:`float<class_float>` value **)** |virtual|
  996. Overridable version of :ref:`PhysicsServer2D.pin_joint_set_param<class_PhysicsServer2D_method_pin_joint_set_param>`.
  997. .. rst-class:: classref-item-separator
  998. ----
  999. .. _class_PhysicsServer2DExtension_method__rectangle_shape_create:
  1000. .. rst-class:: classref-method
  1001. :ref:`RID<class_RID>` **_rectangle_shape_create** **(** **)** |virtual|
  1002. Overridable version of :ref:`PhysicsServer2D.rectangle_shape_create<class_PhysicsServer2D_method_rectangle_shape_create>`.
  1003. .. rst-class:: classref-item-separator
  1004. ----
  1005. .. _class_PhysicsServer2DExtension_method__segment_shape_create:
  1006. .. rst-class:: classref-method
  1007. :ref:`RID<class_RID>` **_segment_shape_create** **(** **)** |virtual|
  1008. Overridable version of :ref:`PhysicsServer2D.segment_shape_create<class_PhysicsServer2D_method_segment_shape_create>`.
  1009. .. rst-class:: classref-item-separator
  1010. ----
  1011. .. _class_PhysicsServer2DExtension_method__separation_ray_shape_create:
  1012. .. rst-class:: classref-method
  1013. :ref:`RID<class_RID>` **_separation_ray_shape_create** **(** **)** |virtual|
  1014. Overridable version of :ref:`PhysicsServer2D.separation_ray_shape_create<class_PhysicsServer2D_method_separation_ray_shape_create>`.
  1015. .. rst-class:: classref-item-separator
  1016. ----
  1017. .. _class_PhysicsServer2DExtension_method__set_active:
  1018. .. rst-class:: classref-method
  1019. void **_set_active** **(** :ref:`bool<class_bool>` active **)** |virtual|
  1020. Overridable version of :ref:`PhysicsServer2D.set_active<class_PhysicsServer2D_method_set_active>`.
  1021. .. rst-class:: classref-item-separator
  1022. ----
  1023. .. _class_PhysicsServer2DExtension_method__shape_collide:
  1024. .. rst-class:: classref-method
  1025. :ref:`bool<class_bool>` **_shape_collide** **(** :ref:`RID<class_RID>` shape_A, :ref:`Transform2D<class_Transform2D>` xform_A, :ref:`Vector2<class_Vector2>` motion_A, :ref:`RID<class_RID>` shape_B, :ref:`Transform2D<class_Transform2D>` xform_B, :ref:`Vector2<class_Vector2>` motion_B, void* results, :ref:`int<class_int>` result_max, int32_t* result_count **)** |virtual|
  1026. Given two shapes and their parameters, should return ``true`` if a collision between the two would occur, with additional details passed in ``results``.
  1027. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``shape_collide`` method. Corresponds to :ref:`PhysicsDirectSpaceState2D.collide_shape<class_PhysicsDirectSpaceState2D_method_collide_shape>`.
  1028. .. rst-class:: classref-item-separator
  1029. ----
  1030. .. _class_PhysicsServer2DExtension_method__shape_get_custom_solver_bias:
  1031. .. rst-class:: classref-method
  1032. :ref:`float<class_float>` **_shape_get_custom_solver_bias** **(** :ref:`RID<class_RID>` shape **)** |virtual| |const|
  1033. Should return the custom solver bias of the given ``shape``, which defines how much bodies are forced to separate on contact when this shape is involved.
  1034. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``shape_get_custom_solver_bias`` method. Corresponds to :ref:`Shape2D.custom_solver_bias<class_Shape2D_property_custom_solver_bias>`.
  1035. .. rst-class:: classref-item-separator
  1036. ----
  1037. .. _class_PhysicsServer2DExtension_method__shape_get_data:
  1038. .. rst-class:: classref-method
  1039. :ref:`Variant<class_Variant>` **_shape_get_data** **(** :ref:`RID<class_RID>` shape **)** |virtual| |const|
  1040. Overridable version of :ref:`PhysicsServer2D.shape_get_data<class_PhysicsServer2D_method_shape_get_data>`.
  1041. .. rst-class:: classref-item-separator
  1042. ----
  1043. .. _class_PhysicsServer2DExtension_method__shape_get_type:
  1044. .. rst-class:: classref-method
  1045. :ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **_shape_get_type** **(** :ref:`RID<class_RID>` shape **)** |virtual| |const|
  1046. Overridable version of :ref:`PhysicsServer2D.shape_get_type<class_PhysicsServer2D_method_shape_get_type>`.
  1047. .. rst-class:: classref-item-separator
  1048. ----
  1049. .. _class_PhysicsServer2DExtension_method__shape_set_custom_solver_bias:
  1050. .. rst-class:: classref-method
  1051. void **_shape_set_custom_solver_bias** **(** :ref:`RID<class_RID>` shape, :ref:`float<class_float>` bias **)** |virtual|
  1052. Should set the custom solver bias for the given ``shape``. It defines how much bodies are forced to separate on contact.
  1053. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``shape_get_custom_solver_bias`` method. Corresponds to :ref:`Shape2D.custom_solver_bias<class_Shape2D_property_custom_solver_bias>`.
  1054. .. rst-class:: classref-item-separator
  1055. ----
  1056. .. _class_PhysicsServer2DExtension_method__shape_set_data:
  1057. .. rst-class:: classref-method
  1058. void **_shape_set_data** **(** :ref:`RID<class_RID>` shape, :ref:`Variant<class_Variant>` data **)** |virtual|
  1059. Overridable version of :ref:`PhysicsServer2D.shape_set_data<class_PhysicsServer2D_method_shape_set_data>`.
  1060. .. rst-class:: classref-item-separator
  1061. ----
  1062. .. _class_PhysicsServer2DExtension_method__space_create:
  1063. .. rst-class:: classref-method
  1064. :ref:`RID<class_RID>` **_space_create** **(** **)** |virtual|
  1065. Overridable version of :ref:`PhysicsServer2D.space_create<class_PhysicsServer2D_method_space_create>`.
  1066. .. rst-class:: classref-item-separator
  1067. ----
  1068. .. _class_PhysicsServer2DExtension_method__space_get_contact_count:
  1069. .. rst-class:: classref-method
  1070. :ref:`int<class_int>` **_space_get_contact_count** **(** :ref:`RID<class_RID>` space **)** |virtual| |const|
  1071. Should return how many contacts have occurred during the last physics step in the given ``space``. See also :ref:`_space_get_contacts<class_PhysicsServer2DExtension_method__space_get_contacts>` and :ref:`_space_set_debug_contacts<class_PhysicsServer2DExtension_method__space_set_debug_contacts>`.
  1072. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``space_get_contact_count`` method.
  1073. .. rst-class:: classref-item-separator
  1074. ----
  1075. .. _class_PhysicsServer2DExtension_method__space_get_contacts:
  1076. .. rst-class:: classref-method
  1077. :ref:`PackedVector2Array<class_PackedVector2Array>` **_space_get_contacts** **(** :ref:`RID<class_RID>` space **)** |virtual| |const|
  1078. Should return the positions of all contacts that have occurred during the last physics step in the given ``space``. See also :ref:`_space_get_contact_count<class_PhysicsServer2DExtension_method__space_get_contact_count>` and :ref:`_space_set_debug_contacts<class_PhysicsServer2DExtension_method__space_set_debug_contacts>`.
  1079. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``space_get_contacts`` method.
  1080. .. rst-class:: classref-item-separator
  1081. ----
  1082. .. _class_PhysicsServer2DExtension_method__space_get_direct_state:
  1083. .. rst-class:: classref-method
  1084. :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` **_space_get_direct_state** **(** :ref:`RID<class_RID>` space **)** |virtual|
  1085. Overridable version of :ref:`PhysicsServer2D.space_get_direct_state<class_PhysicsServer2D_method_space_get_direct_state>`.
  1086. .. rst-class:: classref-item-separator
  1087. ----
  1088. .. _class_PhysicsServer2DExtension_method__space_get_param:
  1089. .. rst-class:: classref-method
  1090. :ref:`float<class_float>` **_space_get_param** **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` param **)** |virtual| |const|
  1091. Overridable version of :ref:`PhysicsServer2D.space_get_param<class_PhysicsServer2D_method_space_get_param>`.
  1092. .. rst-class:: classref-item-separator
  1093. ----
  1094. .. _class_PhysicsServer2DExtension_method__space_is_active:
  1095. .. rst-class:: classref-method
  1096. :ref:`bool<class_bool>` **_space_is_active** **(** :ref:`RID<class_RID>` space **)** |virtual| |const|
  1097. Overridable version of :ref:`PhysicsServer2D.space_is_active<class_PhysicsServer2D_method_space_is_active>`.
  1098. .. rst-class:: classref-item-separator
  1099. ----
  1100. .. _class_PhysicsServer2DExtension_method__space_set_active:
  1101. .. rst-class:: classref-method
  1102. void **_space_set_active** **(** :ref:`RID<class_RID>` space, :ref:`bool<class_bool>` active **)** |virtual|
  1103. Overridable version of :ref:`PhysicsServer2D.space_set_active<class_PhysicsServer2D_method_space_set_active>`.
  1104. .. rst-class:: classref-item-separator
  1105. ----
  1106. .. _class_PhysicsServer2DExtension_method__space_set_debug_contacts:
  1107. .. rst-class:: classref-method
  1108. void **_space_set_debug_contacts** **(** :ref:`RID<class_RID>` space, :ref:`int<class_int>` max_contacts **)** |virtual|
  1109. Used internally to allow the given ``space`` to store contact points, up to ``max_contacts``. This is automatically set for the main :ref:`World2D<class_World2D>`'s space when :ref:`SceneTree.debug_collisions_hint<class_SceneTree_property_debug_collisions_hint>` is ``true``, or by checking "Visible Collision Shapes" in the editor. Only works in debug builds.
  1110. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``space_set_debug_contacts`` method.
  1111. .. rst-class:: classref-item-separator
  1112. ----
  1113. .. _class_PhysicsServer2DExtension_method__space_set_param:
  1114. .. rst-class:: classref-method
  1115. void **_space_set_param** **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` param, :ref:`float<class_float>` value **)** |virtual|
  1116. Overridable version of :ref:`PhysicsServer2D.space_set_param<class_PhysicsServer2D_method_space_set_param>`.
  1117. .. rst-class:: classref-item-separator
  1118. ----
  1119. .. _class_PhysicsServer2DExtension_method__step:
  1120. .. rst-class:: classref-method
  1121. void **_step** **(** :ref:`float<class_float>` step **)** |virtual|
  1122. Called every physics step to process the physics simulation. ``step`` is the time elapsed since the last physics step, in seconds. It is usually the same as :ref:`Node.get_physics_process_delta_time<class_Node_method_get_physics_process_delta_time>`.
  1123. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``step`` method.
  1124. .. rst-class:: classref-item-separator
  1125. ----
  1126. .. _class_PhysicsServer2DExtension_method__sync:
  1127. .. rst-class:: classref-method
  1128. void **_sync** **(** **)** |virtual|
  1129. Called to indicate that the physics server is synchronizing and cannot access physics states if running on a separate thread. See also :ref:`_end_sync<class_PhysicsServer2DExtension_method__end_sync>`.
  1130. Overridable version of :ref:`PhysicsServer2D<class_PhysicsServer2D>`'s internal ``sync`` method.
  1131. .. rst-class:: classref-item-separator
  1132. ----
  1133. .. _class_PhysicsServer2DExtension_method__world_boundary_shape_create:
  1134. .. rst-class:: classref-method
  1135. :ref:`RID<class_RID>` **_world_boundary_shape_create** **(** **)** |virtual|
  1136. Overridable version of :ref:`PhysicsServer2D.world_boundary_shape_create<class_PhysicsServer2D_method_world_boundary_shape_create>`.
  1137. .. rst-class:: classref-item-separator
  1138. ----
  1139. .. _class_PhysicsServer2DExtension_method_body_test_motion_is_excluding_body:
  1140. .. rst-class:: classref-method
  1141. :ref:`bool<class_bool>` **body_test_motion_is_excluding_body** **(** :ref:`RID<class_RID>` body **)** |const|
  1142. Returns ``true`` if the body with the given :ref:`RID<class_RID>` is being excluded from :ref:`_body_test_motion<class_PhysicsServer2DExtension_method__body_test_motion>`. See also :ref:`Object.get_instance_id<class_Object_method_get_instance_id>`.
  1143. .. rst-class:: classref-item-separator
  1144. ----
  1145. .. _class_PhysicsServer2DExtension_method_body_test_motion_is_excluding_object:
  1146. .. rst-class:: classref-method
  1147. :ref:`bool<class_bool>` **body_test_motion_is_excluding_object** **(** :ref:`int<class_int>` object **)** |const|
  1148. Returns ``true`` if the object with the given instance ID is being excluded from :ref:`_body_test_motion<class_PhysicsServer2DExtension_method__body_test_motion>`. See also :ref:`Object.get_instance_id<class_Object_method_get_instance_id>`.
  1149. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  1150. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  1151. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  1152. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  1153. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  1154. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  1155. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`