28 float mFriction = 0.2f;
31 float mGravityFactor = 1.0f;
34 EAllowedDOFs mAllowedDOFs = EAllowedDOFs::TranslationX | EAllowedDOFs::TranslationY | EAllowedDOFs::TranslationZ;
58 void AddToPhysicsSystem(
EActivation inActivationMode = EActivation::Activate,
bool inLockBodies =
true);
61 void RemoveFromPhysicsSystem(
bool inLockBodies =
true);
64 void Activate(
bool inLockBodies =
true);
69 void PostSimulation(
float inMaxSeparationDistance,
bool inLockBodies =
true);
72 void SetLinearAndAngularVelocity(
Vec3Arg inLinearVelocity,
Vec3Arg inAngularVelocity,
bool inLockBodies =
true);
75 Vec3 GetLinearVelocity(
bool inLockBodies =
true)
const;
78 void SetLinearVelocity(
Vec3Arg inLinearVelocity,
bool inLockBodies =
true);
81 void AddLinearVelocity(
Vec3Arg inLinearVelocity,
bool inLockBodies =
true);
84 void AddImpulse(
Vec3Arg inImpulse,
bool inLockBodies =
true);
90 void GetPositionAndRotation(
RVec3 &outPosition,
Quat &outRotation,
bool inLockBodies =
true)
const;
93 void SetPositionAndRotation(
RVec3Arg inPosition,
QuatArg inRotation,
EActivation inActivationMode = EActivation::Activate,
bool inLockBodies =
true)
const;
96 RVec3 GetPosition(
bool inLockBodies =
true)
const;
99 void SetPosition(
RVec3Arg inPosition,
EActivation inActivationMode = EActivation::Activate,
bool inLockBodies =
true);
102 Quat GetRotation(
bool inLockBodies =
true)
const;
105 void SetRotation(
QuatArg inRotation,
EActivation inActivationMode = EActivation::Activate,
bool inLockBodies =
true);
108 RVec3 GetCenterOfMassPosition(
bool inLockBodies =
true)
const;
111 RMat44 GetWorldTransform(
bool inLockBodies =
true)
const;
117 void SetLayer(
ObjectLayer inLayer,
bool inLockBodies =
true);
121 bool SetShape(
const Shape *inShape,
float inMaxPenetrationDepth,
bool inLockBodies =
true);
EAllowedDOFs
Enum used in BodyCreationSettings and MotionProperties to indicate which degrees of freedom a body ha...
Definition: AllowedDOFs.h:11
#define JPH_EXPORT
Definition: Core.h:275
std::uint64_t uint64
Definition: Core.h:491
#define JPH_NAMESPACE_END
Definition: Core.h:419
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:413
EActivation
Enum used by AddBody to determine if the body needs to be initially active.
Definition: EActivation.h:11
@ Activate
Activate the body, making it part of the simulation.
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition: Memory.h:31
uint16 ObjectLayer
Definition: ObjectLayer.h:16
ID of a body. This is a way of reasoning about bodies in a multithreaded simulation while avoiding ra...
Definition: BodyID.h:13
Base class for character class.
Definition: CharacterBase.h:54
Base class for configuration of a character.
Definition: CharacterBase.h:21
Definition: Character.h:42
BodyID GetBodyID() const
Get the body associated with this character.
Definition: Character.h:87
ObjectLayer GetLayer() const
Get the layer of the character.
Definition: Character.h:114
Contains the configuration of a character.
Definition: Character.h:17
Virtual interface that allows collecting multiple collision results.
Definition: CollisionCollector.h:45
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition: Mat44.h:13
Definition: PhysicsSystem.h:30
Base class for all shapes (collision volume of a body). Defines a virtual interface for collision det...
Definition: Shape.h:186