Files
godot-docs-l10n/classes/ru/class_raycast3d.rst

504 lines
30 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_RayCast3D:
RayCast3D
=========
**Наследует:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Луч в 3D пространстве, используемый для нахождения первого объекта столкновения, который он пересекает.
.. rst-class:: classref-introduction-group
Описание
----------------
Raycast представляет собой луч от его начала до :ref:`target_position<class_RayCast3D_property_target_position>`, который находит ближайший объект на своем пути, если он пересекает какой-либо.
\ **RayCast3D** может игнорировать некоторые объекты, добавляя их в список исключений, заставляя свой отчет об обнаружении игнорировать :ref:`Area3D<class_Area3D>` (:ref:`collide_with_areas<class_RayCast3D_property_collide_with_areas>`) или :ref:`PhysicsBody3D<class_PhysicsBody3D>` (:ref:`collide_with_bodies<class_RayCast3D_property_collide_with_bodies>`), или настраивая физические слои.
\ **RayCast3D** вычисляет пересечение в каждом физическом кадре и сохраняет результат до следующего физического кадра. Для немедленного raycast или если вы хотите настроить **RayCast3D** несколько раз в одном физическом кадре, используйте :ref:`force_raycast_update()<class_RayCast3D_method_force_raycast_update>`.
Чтобы охватить область трехмерного пространства, вы можете аппроксимировать область несколькими **RayCast3D** или использовать :ref:`ShapeCast3D<class_ShapeCast3D>`.
.. rst-class:: classref-introduction-group
Обучающие материалы
--------------------------------------
- :doc:`Трассировка лучей <../tutorials/physics/ray-casting>`
- `Демоверсия 3D вокселей <https://godotengine.org/asset-library/asset/2755>`__
.. rst-class:: classref-reftable-group
Свойства
----------------
.. table::
:widths: auto
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`collide_with_areas<class_RayCast3D_property_collide_with_areas>` | ``false`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`collide_with_bodies<class_RayCast3D_property_collide_with_bodies>` | ``true`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`int<class_int>` | :ref:`collision_mask<class_RayCast3D_property_collision_mask>` | ``1`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`Color<class_Color>` | :ref:`debug_shape_custom_color<class_RayCast3D_property_debug_shape_custom_color>` | ``Color(0, 0, 0, 1)`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`int<class_int>` | :ref:`debug_shape_thickness<class_RayCast3D_property_debug_shape_thickness>` | ``2`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`enabled<class_RayCast3D_property_enabled>` | ``true`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`exclude_parent<class_RayCast3D_property_exclude_parent>` | ``true`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`hit_back_faces<class_RayCast3D_property_hit_back_faces>` | ``true`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`hit_from_inside<class_RayCast3D_property_hit_from_inside>` | ``false`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`target_position<class_RayCast3D_property_target_position>` | ``Vector3(0, -1, 0)`` |
+-------------------------------+------------------------------------------------------------------------------------+-----------------------+
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_exception<class_RayCast3D_method_add_exception>`\ (\ node\: :ref:`CollisionObject3D<class_CollisionObject3D>`\ ) |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_exception_rid<class_RayCast3D_method_add_exception_rid>`\ (\ rid\: :ref:`RID<class_RID>`\ ) |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_exceptions<class_RayCast3D_method_clear_exceptions>`\ (\ ) |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`force_raycast_update<class_RayCast3D_method_force_raycast_update>`\ (\ ) |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Object<class_Object>` | :ref:`get_collider<class_RayCast3D_method_get_collider>`\ (\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_collider_rid<class_RayCast3D_method_get_collider_rid>`\ (\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_collider_shape<class_RayCast3D_method_get_collider_shape>`\ (\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_collision_face_index<class_RayCast3D_method_get_collision_face_index>`\ (\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_collision_mask_value<class_RayCast3D_method_get_collision_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_collision_normal<class_RayCast3D_method_get_collision_normal>`\ (\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_collision_point<class_RayCast3D_method_get_collision_point>`\ (\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_colliding<class_RayCast3D_method_is_colliding>`\ (\ ) |const| |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_exception<class_RayCast3D_method_remove_exception>`\ (\ node\: :ref:`CollisionObject3D<class_CollisionObject3D>`\ ) |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_exception_rid<class_RayCast3D_method_remove_exception_rid>`\ (\ rid\: :ref:`RID<class_RID>`\ ) |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_collision_mask_value<class_RayCast3D_method_set_collision_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) |
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств
--------------------------------
.. _class_RayCast3D_property_collide_with_areas:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **collide_with_areas** = ``false`` :ref:`🔗<class_RayCast3D_property_collide_with_areas>`
.. rst-class:: classref-property-setget
- |void| **set_collide_with_areas**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_collide_with_areas_enabled**\ (\ )
Если ``true``, будут сообщаться о столкновениях с :ref:`Area3D<class_Area3D>`-ми.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_collide_with_bodies:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **collide_with_bodies** = ``true`` :ref:`🔗<class_RayCast3D_property_collide_with_bodies>`
.. rst-class:: classref-property-setget
- |void| **set_collide_with_bodies**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_collide_with_bodies_enabled**\ (\ )
Если ``true``, будут сообщаться о столкновениях с :ref:`PhysicsBody3D<class_PhysicsBody3D>`-ми.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_collision_mask:
.. rst-class:: classref-property
:ref:`int<class_int>` **collision_mask** = ``1`` :ref:`🔗<class_RayCast3D_property_collision_mask>`
.. rst-class:: classref-property-setget
- |void| **set_collision_mask**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_collision_mask**\ (\ )
Маска столкновений луча. Будут обнаружены только объекты, находящиеся хотя бы в одном слое столкновений, включенном в маске. Для получения дополнительной информации см. `Слои и маски столкновений <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ в документации.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_debug_shape_custom_color:
.. rst-class:: classref-property
:ref:`Color<class_Color>` **debug_shape_custom_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_RayCast3D_property_debug_shape_custom_color>`
.. rst-class:: classref-property-setget
- |void| **set_debug_shape_custom_color**\ (\ value\: :ref:`Color<class_Color>`\ )
- :ref:`Color<class_Color>` **get_debug_shape_custom_color**\ (\ )
Пользовательский цвет, используемый для рисования фигуры в редакторе и во время выполнения, если **Видимые формы столкновения** включены в меню **Отладка**. Этот цвет будет выделен во время выполнения, если **RayCast3D** сталкивается с чем-то.
Если установлено значение ``Цвет(0.0, 0.0, 0.0)`` (по умолчанию), используется цвет, заданный в :ref:`ProjectSettings.debug/shapes/collision/shape_color<class_ProjectSettings_property_debug/shapes/collision/shape_color>`.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_debug_shape_thickness:
.. rst-class:: classref-property
:ref:`int<class_int>` **debug_shape_thickness** = ``2`` :ref:`🔗<class_RayCast3D_property_debug_shape_thickness>`
.. rst-class:: classref-property-setget
- |void| **set_debug_shape_thickness**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_debug_shape_thickness**\ (\ )
Если установлено значение ``1``, в качестве отладочной формы используется линия. В противном случае рисуется усеченная пирамида для представления **RayCast3D**. Требует включения **Visible Collision Shapes** в меню **Debug**, чтобы отладочная форма была видна во время выполнения.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **enabled** = ``true`` :ref:`🔗<class_RayCast3D_property_enabled>`
.. rst-class:: classref-property-setget
- |void| **set_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_enabled**\ (\ )
Если ``true``, будут сообщаться столкновения.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_exclude_parent:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **exclude_parent** = ``true`` :ref:`🔗<class_RayCast3D_property_exclude_parent>`
.. rst-class:: classref-property-setget
- |void| **set_exclude_parent_body**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_exclude_parent_body**\ (\ )
Если ``true``, этот луч не будет сообщать о столкновениях с родительским узлом. Это свойство действует только в том случае, если родительский узел — :ref:`CollisionObject3D<class_CollisionObject3D>`. См. также :ref:`Node.get_parent()<class_Node_method_get_parent>` и :ref:`add_exception()<class_RayCast3D_method_add_exception>`.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_hit_back_faces:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **hit_back_faces** = ``true`` :ref:`🔗<class_RayCast3D_property_hit_back_faces>`
.. rst-class:: classref-property-setget
- |void| **set_hit_back_faces**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_hit_back_faces_enabled**\ (\ )
Если ``true``, луч попадет на задние грани с вогнутыми многоугольными формами с включенной задней гранью или на формы карты высот.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_hit_from_inside:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **hit_from_inside** = ``false`` :ref:`🔗<class_RayCast3D_property_hit_from_inside>`
.. rst-class:: classref-property-setget
- |void| **set_hit_from_inside**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_hit_from_inside_enabled**\ (\ )
Если ``true``, луч обнаружит попадание при запуске внутри фигур. В этом случае нормаль столкновения будет ``Vector3(0, 0, 0)``. Не влияет на фигуры без объема, такие как вогнутый многоугольник или карта высот.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_property_target_position:
.. rst-class:: classref-property
:ref:`Vector3<class_Vector3>` **target_position** = ``Vector3(0, -1, 0)`` :ref:`🔗<class_RayCast3D_property_target_position>`
.. rst-class:: classref-property-setget
- |void| **set_target_position**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
- :ref:`Vector3<class_Vector3>` **get_target_position**\ (\ )
Точка назначения луча относительно :ref:`Node3D.position<class_Node3D_property_position>` этого луча.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_RayCast3D_method_add_exception:
.. rst-class:: classref-method
|void| **add_exception**\ (\ node\: :ref:`CollisionObject3D<class_CollisionObject3D>`\ ) :ref:`🔗<class_RayCast3D_method_add_exception>`
Добавляет исключение столкновений, чтобы луч не сообщал о столкновениях с указанным узлом ``node``.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_add_exception_rid:
.. rst-class:: classref-method
|void| **add_exception_rid**\ (\ rid\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RayCast3D_method_add_exception_rid>`
Добавляет исключение столкновений, чтобы луч не сообщал о столкновениях с указанным :ref:`RID<class_RID>`.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_clear_exceptions:
.. rst-class:: classref-method
|void| **clear_exceptions**\ (\ ) :ref:`🔗<class_RayCast3D_method_clear_exceptions>`
Удаляет все исключения столкновений для этого луча.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_force_raycast_update:
.. rst-class:: classref-method
|void| **force_raycast_update**\ (\ ) :ref:`🔗<class_RayCast3D_method_force_raycast_update>`
Обновляет информацию о столкновении для луча немедленно, не дожидаясь следующего вызова ``_physics_process``. Используйте этот метод, например, когда луч или его родительский элемент изменили состояние.
\ **Примечание:** :ref:`enabled<class_RayCast3D_property_enabled>` не обязательно должен быть ``true``, чтобы это работало.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_get_collider:
.. rst-class:: classref-method
:ref:`Object<class_Object>` **get_collider**\ (\ ) |const| :ref:`🔗<class_RayCast3D_method_get_collider>`
Возвращает первый объект, который пересекает луч, или ``null``, если ни один объект не пересекает луч (т. е. :ref:`is_colliding()<class_RayCast3D_method_is_colliding>` возвращает ``false``).
\ **Примечание:** Этот объект не обязательно является :ref:`CollisionObject3D<class_CollisionObject3D>`. Например, если луч пересекает :ref:`CSGShape3D<class_CSGShape3D>` или :ref:`GridMap<class_GridMap>`, метод вернет экземпляр :ref:`CSGShape3D<class_CSGShape3D>` или :ref:`GridMap<class_GridMap>`.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_get_collider_rid:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_collider_rid**\ (\ ) |const| :ref:`🔗<class_RayCast3D_method_get_collider_rid>`
Возвращает :ref:`RID<class_RID>` первого объекта, который пересекает луч, или пустой :ref:`RID<class_RID>`, если ни один объект не пересекает луч (т. е. :ref:`is_colliding()<class_RayCast3D_method_is_colliding>` возвращает ``false``).
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_get_collider_shape:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_collider_shape**\ (\ ) |const| :ref:`🔗<class_RayCast3D_method_get_collider_shape>`
Возвращает идентификатор формы первого объекта, который пересекает луч, или ``0``, если ни один объект не пересекает луч (т. е. :ref:`is_colliding()<class_RayCast3D_method_is_colliding>` возвращает ``false``).
Чтобы получить узел пересекаемой формы для цели :ref:`CollisionObject3D<class_CollisionObject3D>`, используйте:
.. tabs::
.. code-tab:: gdscript
var target = get_collider() # A CollisionObject3D.
var shape_id = get_collider_shape() # Индекс формы в коллайдере.
var owner_id = target.shape_find_owner(shape_id) # Идентификатор владельца в коллайдере.
var shape = target.shape_owner_get_owner(owner_id)
.. code-tab:: csharp
var target = (CollisionObject3D)GetCollider(); // A CollisionObject3D.
var shapeId = GetColliderShape(); // Индекс формы в коллайдере.
var ownerId = target.ShapeFindOwner(shapeId); // Идентификатор владельца в коллайдере.
var shape = target.ShapeOwnerGetOwner(ownerId);
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_get_collision_face_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_collision_face_index**\ (\ ) |const| :ref:`🔗<class_RayCast3D_method_get_collision_face_index>`
Возвращает индекс грани объекта столкновения в точке столкновения или ``-1``, если фигура, пересекающая луч, не является :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_get_collision_mask_value:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_collision_mask_value**\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_RayCast3D_method_get_collision_mask_value>`
Возвращает, включен ли указанный слой :ref:`collision_mask<class_RayCast3D_property_collision_mask>`, учитывая ``layer_number`` от 1 до 32.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_get_collision_normal:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_collision_normal**\ (\ ) |const| :ref:`🔗<class_RayCast3D_method_get_collision_normal>`
Возвращает нормаль формы пересекающегося объекта в точке столкновения или ``Vector3(0, 0, 0)``, если луч начинается внутри формы и :ref:`hit_from_inside<class_RayCast3D_property_hit_from_inside>` равен ``true``.
\ **Примечание:** Проверьте, что :ref:`is_colliding()<class_RayCast3D_method_is_colliding>` возвращает ``true`` перед вызовом этого метода, чтобы убедиться, что возвращаемая нормаль является допустимой и актуальной.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_get_collision_point:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_collision_point**\ (\ ) |const| :ref:`🔗<class_RayCast3D_method_get_collision_point>`
Возвращает точку столкновения, в которой луч пересекает ближайший объект в глобальной системе координат. Если :ref:`hit_from_inside<class_RayCast3D_property_hit_from_inside>` равен ``true`` и луч начинается внутри формы столкновения, эта функция вернет исходную точку луча.
\ **Примечание:** Проверьте, что :ref:`is_colliding()<class_RayCast3D_method_is_colliding>` возвращает ``true`` перед вызовом этого метода, чтобы убедиться, что возвращаемая точка является допустимой и актуальной.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_is_colliding:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_colliding**\ (\ ) |const| :ref:`🔗<class_RayCast3D_method_is_colliding>`
Возвращает, пересекается ли какой-либо объект с вектором луча (с учетом длины вектора).
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_remove_exception:
.. rst-class:: classref-method
|void| **remove_exception**\ (\ node\: :ref:`CollisionObject3D<class_CollisionObject3D>`\ ) :ref:`🔗<class_RayCast3D_method_remove_exception>`
Удаляет исключение столкновений, чтобы луч мог сообщать о столкновениях с указанным ``node``.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_remove_exception_rid:
.. rst-class:: classref-method
|void| **remove_exception_rid**\ (\ rid\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RayCast3D_method_remove_exception_rid>`
Удаляет исключение столкновений, чтобы луч мог сообщать о столкновениях с указанным :ref:`RID<class_RID>`.
.. rst-class:: classref-item-separator
----
.. _class_RayCast3D_method_set_collision_mask_value:
.. rst-class:: classref-method
|void| **set_collision_mask_value**\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_RayCast3D_method_set_collision_mask_value>`
На основе ``value`` включает или отключает указанный слой в :ref:`collision_mask<class_RayCast3D_property_collision_mask>` при заданном ``layer_number`` от 1 до 32.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`