![]()  | 
  
    Jolt Physics
    
   A multi core friendly Game Physics Engine 
   | 
 
A single rigid body sub part of the ragdoll. More...
#include <Ragdoll.h>
  
Public Attributes | |
| Ref< TwoBodyConstraintSettings > | mToParent | 
  Public Attributes inherited from BodyCreationSettings | |
| RVec3 | mPosition = RVec3::sZero() | 
| Position of the body (not of the center of mass)  More... | |
| Quat | mRotation = Quat::sIdentity() | 
| Rotation of the body.  More... | |
| Vec3 | mLinearVelocity = Vec3::sZero() | 
| World space linear velocity of the center of mass (m/s)  More... | |
| Vec3 | mAngularVelocity = Vec3::sZero() | 
| World space angular velocity (rad/s)  More... | |
| uint64 | mUserData = 0 | 
| User data value (can be used by application)  More... | |
| ObjectLayer | mObjectLayer = 0 | 
| The collision layer this body belongs to (determines if two objects can collide)  More... | |
| CollisionGroup | mCollisionGroup | 
| The collision group this body belongs to (determines if two objects can collide)  More... | |
| EMotionType | mMotionType = EMotionType::Dynamic | 
| Motion type, determines if the object is static, dynamic or kinematic.  More... | |
| EAllowedDOFs | mAllowedDOFs = EAllowedDOFs::All | 
| Which degrees of freedom this body has (can be used to limit simulation to 2D)  More... | |
| bool | mAllowDynamicOrKinematic = false | 
| When this body is created as static, this setting tells the system to create a MotionProperties object so that the object can be switched to kinematic or dynamic.  More... | |
| bool | mIsSensor = false | 
| If this body is a sensor. A sensor will receive collision callbacks, but will not cause any collision responses and can be used as a trigger volume. See description at Body::SetIsSensor.  More... | |
| bool | mCollideKinematicVsNonDynamic = false | 
| If kinematic objects can generate contact points against other kinematic or static objects. See description at Body::SetCollideKinematicVsNonDynamic.  More... | |
| bool | mUseManifoldReduction = true | 
| If this body should use manifold reduction (see description at Body::SetUseManifoldReduction)  More... | |
| bool | mApplyGyroscopicForce = false | 
| Set to indicate that the gyroscopic force should be applied to this body (aka Dzhanibekov effect, see https://en.wikipedia.org/wiki/Tennis_racket_theorem)  More... | |
| EMotionQuality | mMotionQuality = EMotionQuality::Discrete | 
| Motion quality, or how well it detects collisions when it has a high velocity.  More... | |
| bool | mEnhancedInternalEdgeRemoval = false | 
| Set to indicate that extra effort should be made to try to remove ghost contacts (collisions with internal edges of a mesh). This is more expensive but makes bodies move smoother over a mesh with convex edges.  More... | |
| bool | mAllowSleeping = true | 
| If this body can go to sleep or not.  More... | |
| float | mFriction = 0.2f | 
| Friction of the body (dimensionless number, usually between 0 and 1, 0 = no friction, 1 = friction force equals force that presses the two bodies together). Note that bodies can have negative friction but the combined friction (see PhysicsSystem::SetCombineFriction) should never go below zero.  More... | |
| float | mRestitution = 0.0f | 
| Restitution of body (dimensionless number, usually between 0 and 1, 0 = completely inelastic collision response, 1 = completely elastic collision response). Note that bodies can have negative restitution but the combined restitution (see PhysicsSystem::SetCombineRestitution) should never go below zero.  More... | |
| float | mLinearDamping = 0.05f | 
| Linear damping: dv/dt = -c * v. c must be between 0 and 1 but is usually close to 0.  More... | |
| float | mAngularDamping = 0.05f | 
| Angular damping: dw/dt = -c * w. c must be between 0 and 1 but is usually close to 0.  More... | |
| float | mMaxLinearVelocity = 500.0f | 
| Maximum linear velocity that this body can reach (m/s)  More... | |
| float | mMaxAngularVelocity = 0.25f * JPH_PI * 60.0f | 
| Maximum angular velocity that this body can reach (rad/s)  More... | |
| float | mGravityFactor = 1.0f | 
| Value to multiply gravity with for this body.  More... | |
| uint | mNumVelocityStepsOverride = 0 | 
| Used only when this body is dynamic and colliding. Override for the number of solver velocity iterations to run, 0 means use the default in PhysicsSettings::mNumVelocitySteps. The number of iterations to use is the max of all contacts and constraints in the island.  More... | |
| uint | mNumPositionStepsOverride = 0 | 
| Used only when this body is dynamic and colliding. Override for the number of solver position iterations to run, 0 means use the default in PhysicsSettings::mNumPositionSteps. The number of iterations to use is the max of all contacts and constraints in the island.  More... | |
| EOverrideMassProperties | mOverrideMassProperties = EOverrideMassProperties::CalculateMassAndInertia | 
| Determines how mMassPropertiesOverride will be used.  More... | |
| float | mInertiaMultiplier = 1.0f | 
| When calculating the inertia (not when it is provided) the calculated inertia will be multiplied by this value.  More... | |
| MassProperties | mMassPropertiesOverride | 
| Contains replacement mass settings which override the automatically calculated values.  More... | |
Additional Inherited Members | |
  Public Types inherited from BodyCreationSettings | |
| using | GroupFilterToIDMap = StreamUtils::ObjectToIDMap< GroupFilter > | 
| using | IDToGroupFilterMap = StreamUtils::IDToObjectMap< GroupFilter > | 
| using | ShapeToIDMap = Shape::ShapeToIDMap | 
| using | IDToShapeMap = Shape::IDToShapeMap | 
| using | MaterialToIDMap = StreamUtils::ObjectToIDMap< PhysicsMaterial > | 
| using | IDToMaterialMap = StreamUtils::IDToObjectMap< PhysicsMaterial > | 
| using | BCSResult = Result< BodyCreationSettings > | 
  Public Member Functions inherited from BodyCreationSettings | |
| BodyCreationSettings ()=default | |
| Constructor.  More... | |
| BodyCreationSettings (const ShapeSettings *inShape, RVec3Arg inPosition, QuatArg inRotation, EMotionType inMotionType, ObjectLayer inObjectLayer) | |
| BodyCreationSettings (const Shape *inShape, RVec3Arg inPosition, QuatArg inRotation, EMotionType inMotionType, ObjectLayer inObjectLayer) | |
| const ShapeSettings * | GetShapeSettings () const | 
| Access to the shape settings object. This contains serializable (non-runtime optimized) information about the Shape.  More... | |
| void | SetShapeSettings (const ShapeSettings *inShape) | 
| Shape::ShapeResult | ConvertShapeSettings () | 
| Convert ShapeSettings object into a Shape object. This will free the ShapeSettings object and make the object ready for runtime. Serialization is no longer possible after this.  More... | |
| const Shape * | GetShape () const | 
| Access to the run-time shape object. Will convert from ShapeSettings object if needed.  More... | |
| void | SetShape (const Shape *inShape) | 
| bool | HasMassProperties () const | 
| Check if the mass properties of this body will be calculated (only relevant for kinematic or dynamic objects that need a MotionProperties object)  More... | |
| MassProperties | GetMassProperties () const | 
| Calculate (or return when overridden) the mass and inertia for this body.  More... | |
| void | SaveBinaryState (StreamOut &inStream) const | 
| Saves the state of this object in binary form to inStream. Doesn't store the shape nor the group filter.  More... | |
| void | RestoreBinaryState (StreamIn &inStream) | 
| Restore the state of this object from inStream. Doesn't restore the shape nor the group filter.  More... | |
| void | SaveWithChildren (StreamOut &inStream, ShapeToIDMap *ioShapeMap, MaterialToIDMap *ioMaterialMap, GroupFilterToIDMap *ioGroupFilterMap) const | 
  Static Public Member Functions inherited from BodyCreationSettings | |
| static BCSResult | sRestoreWithChildren (StreamIn &inStream, IDToShapeMap &ioShapeMap, IDToMaterialMap &ioMaterialMap, IDToGroupFilterMap &ioGroupFilterMap) | 
| Restore body creation settings, its shape, materials and group filter. Pass in an empty map in ioShapeMap / ioMaterialMap / ioGroupFilterMap or reuse the same map while reading multiple shapes from the same stream in order to restore duplicates.  More... | |
A single rigid body sub part of the ragdoll.
| Ref<TwoBodyConstraintSettings> RagdollSettings::Part::mToParent |