namespace
physicsPhysics library.
Classes
-
template<class T>class AbstractManagedPhysicsObject
- Base class template for wrapper for physics objects of all kinds to enable Managed Container access.
-
template<class T>class AbstractManagedRigidBase
- Class template describing wrapper for RigidBase constructions. Provides bindings for all RigidBase functionality.
- class ArticulatedLink
- A single rigid link in a kinematic chain. Abstract class. Feature attaches to a SceneNode.
- class ArticulatedObject
- An articulated rigid object (i.e. kinematic chain). Abstract class to be derived by physics simulator specific implementations.
- class ArticulatedObjectManager
- Class template defining responsibilities and functionality shared for managing all esp::
physics:: ManagedArticulatedObject wrappers. - class BulletArticulatedLink
- class BulletArticulatedObject
- class BulletBase
- This class is intended to implement bullet-specific.
- class BulletCollisionHelper
- class BulletPhysicsManager
- Dynamic stage and object manager interfacing with Bullet physics engine: https:/
/ github.com/ bulletphysics/ bullet3. - class BulletRigidObject
- An individual rigid object instance implementing an interface with Bullet physics to enable dynamic objects. See btRigidBody.
- class BulletRigidStage
- An individual rigid stage instance implementing an interface with Bullet physics to enable dynamics. See btCollisionObject.
- class BulletURDFImporter
- Derived importer class for loading URDF into Bullet physics.
- struct childParentIndex
- struct to encapsulate mapping between child and parent links ids.
- class CollisionGroupHelper
- A convenience class with all static functions providing an interface for customizing collision masking behavior for simulated objects.
- struct ContactPointData
- based on Bullet b3ContactPointData
- struct JointLimitConstraintInfo
- Structure to hold joint limit constraint info during construction.
- struct JointMotor
- A general wrapper class for JointMotor (e.g. PD control) implementation.
- struct JointMotorSettings
- Stores JointMotor (i.e. per-DoF PD control) parameters for creation and updates.
- class ManagedArticulatedObject
- Class describing wrapper for ArticulatedObject constructions. Provides bindings for all ArticulatedObject-specific functionality.
- class ManagedBulletArticulatedObject
- Class describing wrapper for dynamic ArticulatedObject constructions using the Bullet library. Provides bindings for all ArticulatedObject-specific functionality.
- class ManagedBulletRigidObject
- Class describing wrapper for RigidObject constructions. Provides bindings for all RigidObject-specific functionality.
- class ManagedRigidObject
- Class describing wrapper for RigidObject constructions. Provides bindings for all RigidObject-specific functionality.
- class PhysicsManager
- Kinematic and dynamic scene and object manager. Responsible for tracking, updating, and synchronizing the state of the physical world and all non-static geometry in the scene as well as interfacing with specific physical simulation implementations.
- class PhysicsObjectBase
-
template<class T>class PhysicsObjectBaseManager
- Class template defining responsibilities and functionality for managineg object wrappers specializing esp::
physics:: AbstractManagedPhysicsObject template. - struct RaycastResults
- Holds information about all ray hit instances from a ray cast.
- struct RayHitInfo
- Holds information about one ray hit instance.
- class RigidBase
- This class specifies the functionality expected of rigid objects and stages, particularly with regard to dynamic simulation, if such a library, such as bullet, is available.
-
template<class T>class RigidBaseManager
- Class template defining responsibilities and functionality shared for managing all esp::
physics:: AbstractManagedRigidBase wrappers. - struct RigidConstraintSettings
- Stores rigid constraint parameters for creation and updates.
- class RigidObject
- A RigidBase representing an individual rigid object instance attached to a SceneNode, updating its state through simulation. This may be a esp::
physics:: MotionType:: STATIC scene collision geometry or an object of any MotionType which can interact with other members of a physical world. Must have a collision mesh. By default, a RigidObject is MotionType:: KINEMATIC without an underlying simulator implementation. Derived classes can be used to introduce specific implementations of dynamics. - class RigidObjectManager
- Class template defining responsibilities and functionality shared for managing all esp::
physics:: ManagedRigidObject wrappers. - class RigidStage
- A RigidBase representing an individual rigid stage instance attached to a SceneNode. This construction currently may only be esp::
physics:: MotionType:: STATIC. - struct SimulationContactResultCallback
- Implements Bullet physics btCollisionWorld::
ContactResultCallback interface. - class URDFImporter
- Virtual base class for loading URDF into various simulator implementations.
- struct URDFToBulletCached
- Structure to hold construction time multi-body data.
- struct VelocityControl
- Convenience struct for applying constant velocity control to a rigid body.
Enums
- enum class JointType: int { Revolute = 0, Prismatic = 1, Spherical = 2, Planar = 3, Fixed = 4, Invalid }
- enum class JointMotorType { SingleDof, Spherical }
- describes the type of a motor for generality.
- enum class CollisionGroup: unsigned int { Default = 1, Static = 1 << 1, Kinematic = 1 << 2, Dynamic = 1 << 3, Robot = 1 << 4, Noncollidable = 1 << 5, UserGroup0 = 1 << 6, UserGroup1 = 1 << 7, UserGroup2 = 1 << 8, UserGroup3 = 1 << 9, UserGroup4 = 1 << 10, UserGroup5 = 1 << 11, UserGroup6 = 1 << 12, UserGroup7 = 1 << 13, UserGroup8 = 1 << 14, UserGroup9 = 1 << 15 }
- Defined available collision groups with bitwise integer correspondance for use in collision filtering masks.
- enum class RigidConstraintType { PointToPoint, Fixed }
- describes the type of a rigid constraint.
- enum class MotionType { UNDEFINED = -1, STATIC, KINEMATIC, DYNAMIC }
- Motion type of a esp::
physics:: RigidObject. Defines its treatment by the simulator and operations which can be performed on it. - enum ConvertURDFFlags { CUF_USE_SDF = 1, CUF_USE_URDF_INERTIA = 2, CUF_USE_MJCF = 4, CUF_USE_SELF_COLLISION = 8, CUF_USE_SELF_COLLISION_EXCLUDE_PARENT = 16, CUF_USE_SELF_COLLISION_EXCLUDE_ALL_PARENTS = 32, CUF_RESERVED = 64, CUF_USE_IMPLICIT_CYLINDER = 128, CUF_GLOBAL_VELOCITIES_MB = 256, CUF_MJCF_COLORS_FROM_FILE = 512, CUF_ENABLE_CACHED_GRAPHICS_SHAPES = 1024, CUF_ENABLE_SLEEPING = 2048, CUF_INITIALIZE_SAT_FEATURES = 4096, CUF_USE_SELF_COLLISION_INCLUDE_PARENT = 8192, CUF_PARSE_SENSORS = 16384, CUF_USE_MATERIAL_COLORS_FROM_MTL = 32768, CUF_USE_MATERIAL_TRANSPARENCY_FROM_MTL = 65536, CUF_MAINTAIN_LINK_ORDER = 131072 }
Typedefs
Functions
- void initPhysicsBindings(pybind11::module& m)
- Specify bindings for esp::
physics:: VelocityControl , esp:: physics:: JointMotorSettings , esp:: physics:: RigidConstraintSettings , esp:: physics:: RayHitInfo , esp:: physics:: RaycastResults , esp:: physics:: ContactPointData , and esp:: physics:: CollisionGroupHelper. - void initPhysicsObjectBindings(pybind11::module& m)
- Specify bindings for the various esp::physics wrapper objects.
- void initPhysicsWrapperManagerBindings(pybind11::module& m)
- Specify bindings for the various esp::physics wrapper object managers.
-
auto espLoggingSubsystem() -> logging::
Subsystem -
void processContactParameters(const metadata::
URDF:: LinkContactInfo& contactInfo, btCollisionObject* col)
Enum documentation
enum class esp:: physics:: JointType: int
#include <esp/physics/ArticulatedObject.h>
copy of eFeatherstoneJointType from bullet3/src/BulletDynamics/Featherstone/btMultiBodyLink.h for access convenience w/o Bullet install.
enum class esp:: physics:: JointMotorType
#include <esp/physics/ArticulatedObject.h>
describes the type of a motor for generality.
enum class esp:: physics:: CollisionGroup: unsigned int
#include <esp/physics/CollisionGroupHelper.h>
Defined available collision groups with bitwise integer correspondance for use in collision filtering masks.
Contains several named default groups used by Habitat-sim and a set of unused user groups for custom behavior.
Enumerators | |
---|---|
Default |
Default group for unspecified object (e.g. raycast) |
Static |
Static objects should not change state. |
Kinematic |
Kinematic objects are updated manually. |
Dynamic |
Dynamic objects are integrated by dynamic simulation. |
Robot |
convenience groups to separate robots from free objects |
Noncollidable |
convenience group for objects which should not collide with anything |
UserGroup0 |
|
UserGroup1 |
|
UserGroup2 |
|
UserGroup3 |
|
UserGroup4 |
|
UserGroup5 |
|
UserGroup6 |
|
UserGroup7 |
|
UserGroup8 |
|
UserGroup9 |
|
enum class esp:: physics:: RigidConstraintType
#include <esp/physics/PhysicsManager.h>
describes the type of a rigid constraint.
Enumerators | |
---|---|
PointToPoint |
lock a point in one frame to a point in another with no orientation constraint |
Fixed |
fix one frame to another constraining relative position and orientation |
enum class esp:: physics:: MotionType
#include <esp/physics/PhysicsObjectBase.h>
Motion type of a esp::
Enumerators | |
---|---|
UNDEFINED |
Refers to an error (such as a query to non-existing object) or an unknown/unspecified value. |
STATIC |
The object is not expected to move and should not allow kinematic updates. Likely treated as static collision geometry. See esp:: |
KINEMATIC |
The object is expected to move kinematically, but is not simulated. Default behavior of esp:: |
DYNAMIC |
The object is simulated and can, but should not be, updated kinematically . Default behavior of RigidObject with a physics simulator defined. See BulletRigidObject. |
enum esp:: physics:: ConvertURDFFlags
#include <esp/physics/URDFImporter.h>
Typedef documentation
typedef Corrade:: Containers:: EnumSet<CollisionGroup> esp:: physics:: CollisionGroups
#include <esp/physics/CollisionGroupHelper.h>
Function documentation
void esp:: physics:: initPhysicsBindings(pybind11::module& m)
#include <esp/bindings/Bindings.h>
Specify bindings for esp::
void esp:: physics:: initPhysicsObjectBindings(pybind11::module& m)
#include <esp/bindings/Bindings.h>
Specify bindings for the various esp::physics wrapper objects.
void esp:: physics:: initPhysicsWrapperManagerBindings(pybind11::module& m)
#include <esp/bindings/Bindings.h>
Specify bindings for the various esp::physics wrapper object managers.
logging:: Subsystem esp:: physics:: espLoggingSubsystem()
#include <esp/core/Logging.h>
void esp:: physics:: processContactParameters(const metadata:: URDF:: LinkContactInfo& contactInfo,
btCollisionObject* col)