Physics Class Reference
Base class for a System. More...
#include <gz/sim/systems/Physics.hh>
Public Member Functions | |
| Physics () | |
| Constructor. | |
| ~Physics () override | |
| Destructor. | |
| void | Configure (const Entity &_entity, const std::shared_ptr< const sdf::Element > &_sdf, EntityComponentManager &_ecm, EventManager &_eventMgr) final |
| Configure the system. | |
| System::PriorityType | ConfigurePriority () final |
| Documentation inherited. | |
| void | Reset (const UpdateInfo &_info, EntityComponentManager &_ecm) final |
| void | Update (const UpdateInfo &_info, EntityComponentManager &_ecm) final |
Public Member Functions inherited from System | |
| System ()=default | |
| Constructor. | |
| virtual | ~System ()=default |
| Destructor. | |
Public Member Functions inherited from ISystemConfigure | |
| virtual | ~ISystemConfigure ()=default |
Public Member Functions inherited from ISystemConfigurePriority | |
| virtual | ~ISystemConfigurePriority ()=default |
Public Member Functions inherited from ISystemReset | |
| virtual | ~ISystemReset ()=default |
Public Member Functions inherited from ISystemUpdate | |
| virtual | ~ISystemUpdate ()=default |
Additional Inherited Members | |
Public Types inherited from System | |
| using | PriorityType = int32_t |
| Signed integer type used for specifying priority of the execution order of PreUpdate and Update phases. | |
Static Public Attributes inherited from System | |
| static constexpr PriorityType | kDefaultPriority = {0} |
| Default priority value for execution order of the PreUpdate and Update phases. | |
| static constexpr std::string_view | kPriorityElementName |
| Name of the XML element from which the priority value will be parsed. | |
Detailed Description
Base class for a System.
System Parameters
<include_entity_names>: Optional. When set to false, the name of colliding entities is not populated in the contacts. Remains true by default.<enforce_fixed_constraint>(optional): Applicable only when the gz-physics bullet-featherstone-plugin is used as the physics engine. If true, the system will enforce the fixed constraint between the child and parent entities of the fixed joint as if the child is 'welded' to the parent. Fixed constraints can be violated, e.g. due to large external forces, so this setting tells the phyics engine to manually correct and maintain the relative pose between the parent and child entities. Defaults to false.<kinematic>(optional): Settings for kinematic links. Applicable only if the physics engine supports kinematic links (e.g. bullet-featherstone).<enabled>: If true, links are kinematic unless their SDF sets<kinematic>false</kinematic>; if false (default), links are dynamic unless their SDF sets<kinematic>true</kinematic>. Kinematic links do not respond to forces like gravity or contacts, they are moved by setting their pose or velocity. Note that this is not the<kinematic>element of a link: the default is applied by setting that element on the links that do not set it, in the SDF the model is created from. Links of static models are left alone, and links created at runtime without SDF take the default. When the default is kinematic, the links kept dynamic by their SDF are listed in a message.<contacts><enabled>: If false, contacts between kinematic links and static or other kinematic links are not detected. These contacts have no effect on the simulation, they can only be reported, e.g. by contact sensors, and detecting them costs collision detection time on every step for as long as the links overlap, which for kinematic links is forever. Contacts between kinematic and dynamic links are always detected, and a collision that sets//collision/surface/contact/collide_without_contactkeeps the contacts of its kinematic link detected. Defaults to true.
Example
<plugin
filename="gz-sim-physics-system"
name="systems::Physics">
<contacts>
<include_entity_names>false</include_entity_names>
</contacts>
<enforce_fixed_constraint>false</enforce_fixed_constraint>
<kinematic>
<enabled>false</enabled>
<contacts>
<enabled>true</enabled>
</contacts>
</kinematic>
</plugin>
Constructor & Destructor Documentation
◆ Physics()
|
explicit |
Constructor.
◆ ~Physics()
|
override |
Destructor.
Member Function Documentation
◆ Configure()
|
finalvirtual |
Configure the system.
- Parameters
-
[in] _entity The entity this plugin is attached to. [in] _sdf The SDF Element associated with this system plugin. [in] _ecm The EntityComponentManager of the given simulation instance. [in] _eventMgr The EventManager of the given simulation instance.
Implements ISystemConfigure.
◆ ConfigurePriority()
|
finalvirtual |
Documentation inherited.
Implements ISystemConfigurePriority.
◆ Reset()
|
finalvirtual |
Implements ISystemReset.
◆ Update()
|
finalvirtual |
Implements ISystemUpdate.
The documentation for this class was generated from the following file:
Public Member Functions inherited from