ReactPhysics3D
v0.10.2
C++ Physics engine library
|
Namespace reactphysics3d. More...
Classes | |
class | AABB |
This class represents a bounding volume of type "Axis Aligned
Bounding Box". More... | |
class | AABBOverlapCallback |
This class represents a callback when two AABB overlap. More... | |
class | Array |
This class represents a simple dynamic array with custom memory allocator. More... | |
class | BallAndSocketJoint |
This class represents a ball-and-socket joint that allows arbitrary rotation between two bodies. More... | |
class | BallAndSocketJointComponents |
This class represent the component of the ECS with data for the BallAndSocketJoint. More... | |
struct | BallAndSocketJointInfo |
This structure is used to gather the information needed to create a ball-and-socket joint. More... | |
class | Body |
This class represents a body. More... | |
class | BodyComponents |
This class represent the component of the ECS that contains data about a body. More... | |
class | BoxShape |
This class represents a 3D box shape. More... | |
class | BroadPhaseRaycastCallback |
Callback called when the AABB of a leaf node is hit by a ray the broad-phase Dynamic AABB Tree. More... | |
class | BroadPhaseSystem |
This class represents the broad-phase collision detection. More... | |
class | CapsuleShape |
This class represents a capsule collision shape that is defined around the Y axis. More... | |
class | CapsuleVsCapsuleAlgorithm |
This class is used to compute the narrow-phase collision detection between two capsules collision shapes. More... | |
class | CapsuleVsConvexPolyhedronAlgorithm |
This class is used to compute the narrow-phase collision detection between a capsule and a convex polyhedron. More... | |
class | Collider |
A collider has a collision shape (box, sphere, capsule, ...) and is attached to a RigidBody. More... | |
class | ColliderComponents |
This class represent the component of the ECS that contains data about the the colliders of the different bodies. More... | |
class | CollisionCallback |
This abstract class can be used to register a callback for collision test queries. More... | |
class | CollisionDetectionSystem |
This class computes the collision detection algorithms. More... | |
class | CollisionDispatch |
This is the collision dispatch configuration use in ReactPhysics3D. More... | |
class | CollisionShape |
This abstract class represents the collision shape associated with a body that is used during the narrow-phase collision detection. More... | |
class | Components |
This class represent the abstract class to store components of the ECS. More... | |
class | ConcaveMeshRaycastCallback |
Class ConcaveMeshRaycastCallback. More... | |
class | ConcaveMeshShape |
This class represents a static concave mesh shape. More... | |
class | ConcaveShape |
This abstract class represents a concave collision shape associated with a body that is used during the narrow-phase collision detection. More... | |
struct | ConstraintSolverData |
This structure contains data from the constraint solver that are used to solve each joint constraint. More... | |
class | ConstraintSolverSystem |
This class represents the constraint solver that is used to solve constraints between the rigid bodies. More... | |
class | ContactManifold |
This class represents a set of contact points between two bodies that all have a similar contact normal direction. More... | |
struct | ContactManifoldInfo |
This structure contains informations about a collision contact manifold computed during the narrow-phase collision detection. More... | |
struct | ContactPair |
This structure represents a pair of shapes that are in contact during narrow-phase. More... | |
class | ContactPoint |
This class represents a collision contact point between two bodies in the physics engine. More... | |
struct | ContactPointInfo |
This structure contains informations about a collision contact computed during the narrow-phase collision detection. More... | |
class | ContactSolverSystem |
This class represents the contact solver system that is used to solve rigid bodies contacts. More... | |
class | ConvexMesh |
This class describes a convex mesh made of faces and vertices. More... | |
class | ConvexMeshShape |
This class represents a convex mesh shape. More... | |
class | ConvexPolyhedronShape |
This abstract class represents a convex polyhedron collision shape associated with a body that is used during the narrow-phase collision detection. More... | |
class | ConvexPolyhedronVsConvexPolyhedronAlgorithm |
This class is used to compute the narrow-phase collision detection between two convex polyhedra. More... | |
class | ConvexShape |
This abstract class represents a convex collision shape associated with a body that is used during the narrow-phase collision detection. More... | |
class | ConvexTriangleAABBOverlapCallback |
This class represents a callback when an overlap occurs. More... | |
class | DebugRenderer |
This class is used to display physics debug information directly into the user application view. More... | |
class | DefaultAllocator |
This class represents a default memory allocator that uses standard C++ functions to allocated 16-bytes aligned memory. More... | |
class | DefaultLogger |
This class is the default logger class used to log information, warnings or errors during the execution of the library code for easier debugging. More... | |
class | Deque |
This class represents a Deque. More... | |
class | DynamicAABBTree |
This class implements a dynamic AABB tree that is used for broad-phase collision detection. More... | |
class | DynamicAABBTreeOverlapCallback |
Overlapping callback method that has to be used as parameter of the reportAllShapesOverlappingWithNode() method. More... | |
class | DynamicAABBTreeRaycastCallback |
Raycast callback in the Dynamic AABB Tree called when the AABB of a leaf node is hit by the ray. More... | |
class | DynamicsSystem |
This class is responsible to compute and update the dynamics of the bodies that are simulated using physics. More... | |
struct | Entity |
This class is used to identify an entity in the Entity-Component-System. More... | |
class | EntityManager |
This class is responsible to manage the entities of the ECS. More... | |
class | EventListener |
This class can be used to receive notifications about events that occur during the simulation. More... | |
class | FixedJoint |
This class represents a fixed joint that is used to forbid any translation or rotation between two bodies. More... | |
class | FixedJointComponents |
This class represent the component of the ECS with data for the FixedJoint. More... | |
struct | FixedJointInfo |
This structure is used to gather the information needed to create a fixed joint. More... | |
class | GJKAlgorithm |
This class implements a narrow-phase collision detection algorithm. More... | |
class | HalfEdgeStructure |
This class describes a polyhedron mesh made of faces and vertices. More... | |
class | HeapAllocator |
This class is used to efficiently allocate memory on the heap. More... | |
class | HeightField |
This class represents a static height field that can be used to represent a terrain. More... | |
class | HeightFieldShape |
This class represents a static height field that can be used to represent a terrain. More... | |
class | HingeJoint |
This class represents a hinge joint that allows arbitrary rotation between two bodies around a single axis. More... | |
class | HingeJointComponents |
This class represent the component of the ECS with data for the HingeJoint. More... | |
struct | HingeJointInfo |
This structure is used to gather the information needed to create a hinge joint. More... | |
class | Island |
An island represent an isolated group of awake bodies that are connected with each other by some contraints (contacts or joints). More... | |
struct | Islands |
This class contains all the islands of bodies during a frame. More... | |
class | Joint |
This abstract class represents a joint between two bodies. More... | |
class | JointComponents |
This class represent the component of the ECS that contains generic information about all the joints. More... | |
struct | JointInfo |
This structure is used to gather the information needed to create a joint. More... | |
struct | LastFrameCollisionInfo |
This structure contains collision info about the last frame. More... | |
class | LinkedList |
This class represents a simple generic linked list. More... | |
class | Logger |
This abstract class is the base class used to log information, warnings or errors during the execution of the library code for easier debugging. More... | |
class | Map |
This class represents a simple generic associative map. More... | |
class | Material |
This class contains the material properties of a collider that will be use for the dynamics simulation like the friction coefficient or the bounciness of the rigid body. More... | |
class | Matrix2x2 |
This class represents a 2x2 matrix. More... | |
class | Matrix3x3 |
This class represents a 3x3 matrix. More... | |
class | MemoryAllocator |
Abstract class with the basic interface of all the derived memory allocators. More... | |
class | MemoryManager |
The memory manager is used to store the different memory allocators that are used by the library. More... | |
struct | Message |
This structure represent a message that can be returned to the user. More... | |
class | NarrowPhaseAlgorithm |
This abstract class is the base class for a narrow-phase collision detection algorithm. More... | |
class | NarrowPhaseCallback |
This abstract class is the base class for a narrow-phase collision callback class. More... | |
struct | NarrowPhaseInfoBatch |
This structure collects all the potential collisions from the middle-phase algorithm that have to be tested during narrow-phase collision detection. More... | |
class | NarrowPhaseInput |
This structure contains everything that is needed to perform the narrow-phase collision detection. More... | |
class | OverlapCallback |
This class can be used to register a callback for collision overlap queries between bodies. More... | |
class | OverlappingPairs |
This class contains pairs of two colliders that are overlapping during the broad-phase collision detection. More... | |
class | Pair |
This class represents a simple generic pair. More... | |
class | PhysicsCommon |
This class is a singleton that needs to be instanciated once at the beginning. More... | |
class | PhysicsWorld |
This class represents a physics world. More... | |
class | PolygonVertexArray |
This class is used to describe the vertices and faces of a mesh. More... | |
class | PoolAllocator |
This class is used to efficiently allocate memory on the heap. More... | |
class | QHHalfEdgeStructure |
This class describes a polyhedron mesh made of faces and vertices. More... | |
struct | Quaternion |
This class represents a quaternion. More... | |
class | QuickHull |
This class implements the Quickhull algorithm to compute a convex mesh from a set of 3D points. More... | |
struct | Ray |
This structure represents a 3D ray represented by two points. More... | |
class | RaycastCallback |
This class can be used to register a callback for ray casting queries. More... | |
struct | RaycastInfo |
This structure contains the information about a raycast hit. More... | |
struct | RaycastTest |
Structure RaycastTest. More... | |
class | RigidBody |
This class represents a rigid body of the physics engine. More... | |
class | RigidBodyComponents |
This class represent the component of the ECS that contains data about a rigid body. More... | |
class | SATAlgorithm |
This class implements the Separating Axis Theorem algorithm (SAT). More... | |
class | Set |
This class represents a simple generic set. More... | |
class | SingleFrameAllocator |
This class represent a memory allocator used to efficiently allocate memory on the heap that is used during a single frame. More... | |
class | SliderJoint |
This class represents a slider joint. More... | |
class | SliderJointComponents |
This class represent the component of the ECS with data for the SliderJoint. More... | |
struct | SliderJointInfo |
This structure is used to gather the information needed to create a slider joint. More... | |
class | SolveBallAndSocketJointSystem |
This class is responsible to solve the BallAndSocketJoint constraints. More... | |
class | SolveFixedJointSystem |
This class is responsible to solve the FixedJoint constraints. More... | |
class | SolveHingeJointSystem |
This class is responsible to solve the BallAndSocketJoint constraints. More... | |
class | SolveSliderJointSystem |
This class is responsible to solve the SliderJoint constraints. More... | |
class | SphereShape |
This class represents a sphere collision shape that is centered at the origin and defined by its radius. More... | |
class | SphereVsCapsuleAlgorithm |
This class is used to compute the narrow-phase collision detection between a sphere collision shape and a capsule collision shape. More... | |
class | SphereVsConvexPolyhedronAlgorithm |
This class is used to compute the narrow-phase collision detection between a sphere and a convex polyhedron. More... | |
class | SphereVsSphereAlgorithm |
This class is used to compute the narrow-phase collision detection between two sphere collision shapes. More... | |
class | Stack |
This class represents a simple generic stack. More... | |
class | Transform |
This class represents a position and an orientation in 3D. More... | |
class | TransformComponents |
This class represent the component of the ECS that contains the transforms of the different entities. More... | |
struct | TreeNode |
This structure represents a node of the dynamic AABB tree. More... | |
class | TriangleCallback |
This class is used to encapsulate a callback method for a single triangle of a ConcaveMesh. More... | |
class | TriangleMesh |
This class represents a mesh made of triangles. More... | |
class | TriangleShape |
This class represents a triangle collision shape that is centered at the origin and defined three points. More... | |
class | TriangleVertexArray |
This class is used to describe the vertices and faces of a triangular mesh. More... | |
struct | Vector2 |
This class represents a 2D vector. More... | |
struct | Vector3 |
This class represents a 3D vector. More... | |
class | VertexArray |
This class is used to describe an array of vertices. More... | |
class | VoronoiSimplex |
This class represents a simplex which is a set of 3D points. More... | |
Typedefs | |
typedef unsigned int | Bits |
using | uint = unsigned int |
using | uchar = unsigned char |
using | ushort = unsigned short |
using | luint = long unsigned int |
using | int8 = std::int8_t |
using | uint8 = std::uint8_t |
using | int16 = std::int16_t |
using | uint16 = std::uint16_t |
using | int32 = std::int32_t |
using | uint32 = std::uint32_t |
using | int64 = std::int64_t |
using | uint64 = std::uint64_t |
using | bodypair = Pair< Entity, Entity > |
using | decimal = float |
Enumerations | |
enum class | NarrowPhaseAlgorithmType { NoCollisionTest , SphereVsSphere , SphereVsCapsule , CapsuleVsCapsule , SphereVsConvexPolyhedron , CapsuleVsConvexPolyhedron , ConvexPolyhedronVsConvexPolyhedron } |
Enumeration for the type of narrow-phase collision detection algorithm. | |
enum class | CollisionShapeType { SPHERE , CAPSULE , CONVEX_POLYHEDRON , CONCAVE_SHAPE } |
Type of collision shapes. | |
enum class | CollisionShapeName { TRIANGLE , SPHERE , CAPSULE , BOX , CONVEX_MESH , TRIANGLE_MESH , HEIGHTFIELD } |
Names of collision shapes. | |
enum class | TriangleRaycastSide { FRONT , BACK , FRONT_AND_BACK } |
Raycast test side for the triangle. More... | |
enum class | BodyType { STATIC , KINEMATIC , DYNAMIC } |
Enumeration for the type of a body STATIC : A static body has infinite mass, zero velocity but the position can be changed manually. More... | |
enum class | JointsPositionCorrectionTechnique { BAUMGARTE_JOINTS , NON_LINEAR_GAUSS_SEIDEL } |
Position correction technique used in the constraint solver (for joints). More... | |
enum class | ContactsPositionCorrectionTechnique { BAUMGARTE_CONTACTS , SPLIT_IMPULSES } |
Position correction technique used in the contact solver (for contacts) BAUMGARTE_CONTACTS : Faster but can be innacurate and can lead to unexpected bounciness in some situations (due to error correction factor being added to the bodies momentum). More... | |
enum class | JointType { BALLSOCKETJOINT , SLIDERJOINT , HINGEJOINT , FIXEDJOINT } |
Enumeration for the type of a constraint. | |
Functions | |
template<class T > | |
void | hash_combine (std::size_t &seed, const T &v) |
This method is used to combine two hash values. | |
RP3D_FORCE_INLINE bool | approxEqual (decimal a, decimal b, decimal epsilon=MACHINE_EPSILON) |
Function to test if two real numbers are (almost) equal We test if two numbers a and b are such that (a-b) are in [-EPSILON; EPSILON]. | |
RP3D_FORCE_INLINE int | clamp (int value, int lowerLimit, int upperLimit) |
Function that returns the result of the "value" clamped by two others values "lowerLimit" and "upperLimit". | |
RP3D_FORCE_INLINE decimal | clamp (decimal value, decimal lowerLimit, decimal upperLimit) |
Function that returns the result of the "value" clamped by two others values "lowerLimit" and "upperLimit". | |
RP3D_FORCE_INLINE decimal | min3 (decimal a, decimal b, decimal c) |
Return the minimum value among three values. | |
RP3D_FORCE_INLINE decimal | max3 (decimal a, decimal b, decimal c) |
Return the maximum value among three values. | |
RP3D_FORCE_INLINE bool | sameSign (decimal a, decimal b) |
Return true if two values have the same sign. | |
RP3D_FORCE_INLINE bool | areParallelVectors (const Vector3 &vector1, const Vector3 &vector2) |
RP3D_FORCE_INLINE bool | areOrthogonalVectors (const Vector3 &vector1, const Vector3 &vector2) |
RP3D_FORCE_INLINE Vector3 | clamp (const Vector3 &vector, decimal maxLength) |
RP3D_FORCE_INLINE Vector3 | computeClosestPointOnSegment (const Vector3 &segPointA, const Vector3 &segPointB, const Vector3 &pointC) |
RP3D_FORCE_INLINE void | computeClosestPointBetweenTwoSegments (const Vector3 &seg1PointA, const Vector3 &seg1PointB, const Vector3 &seg2PointA, const Vector3 &seg2PointB, Vector3 &closestPointSeg1, Vector3 &closestPointSeg2) |
RP3D_FORCE_INLINE void | computeBarycentricCoordinatesInTriangle (const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &p, decimal &u, decimal &v, decimal &w) |
RP3D_FORCE_INLINE decimal | computePlaneSegmentIntersection (const Vector3 &segA, const Vector3 &segB, const decimal planeD, const Vector3 &planeNormal) |
RP3D_FORCE_INLINE decimal | computePointToLineDistance (const Vector3 &linePointA, const Vector3 &linePointB, const Vector3 &point) |
RP3D_FORCE_INLINE Array< Vector3 > | clipSegmentWithPlanes (const Vector3 &segA, const Vector3 &segB, const Array< Vector3 > &planesPoints, const Array< Vector3 > &planesNormals, MemoryAllocator &allocator) |
RP3D_FORCE_INLINE void | clipPolygonWithPlane (const Array< Vector3 > &polygonVertices, const Vector3 &planePoint, const Vector3 &planeNormal, Array< Vector3 > &outClippedPolygonVertices) |
RP3D_FORCE_INLINE Vector3 | projectPointOntoPlane (const Vector3 &point, const Vector3 &unitPlaneNormal, const Vector3 &planePoint) |
RP3D_FORCE_INLINE decimal | computePointToPlaneDistance (const Vector3 &point, const Vector3 &planeNormal, const Vector3 &planePoint) |
RP3D_FORCE_INLINE bool | isPowerOfTwo (uint64 number) |
Return true if a number is a power of two. | |
RP3D_FORCE_INLINE uint64 | nextPowerOfTwo64Bits (uint64 number) |
Return the next power of two larger than the number in parameter. | |
RP3D_FORCE_INLINE uint64 | pairNumbers (uint32 number1, uint32 number2) |
Return an unique integer from two integer numbers (pairing function) Here we assume that the two parameter numbers are sorted such that number1 = max(number1, number2) http://szudzik.com/ElegantPairing.pdf. | |
RP3D_FORCE_INLINE Matrix2x2 | operator+ (const Matrix2x2 &matrix1, const Matrix2x2 &matrix2) |
RP3D_FORCE_INLINE Matrix2x2 | operator- (const Matrix2x2 &matrix1, const Matrix2x2 &matrix2) |
RP3D_FORCE_INLINE Matrix2x2 | operator- (const Matrix2x2 &matrix) |
RP3D_FORCE_INLINE Matrix2x2 | operator* (decimal nb, const Matrix2x2 &matrix) |
RP3D_FORCE_INLINE Matrix2x2 | operator* (const Matrix2x2 &matrix, decimal nb) |
RP3D_FORCE_INLINE Matrix2x2 | operator* (const Matrix2x2 &matrix1, const Matrix2x2 &matrix2) |
RP3D_FORCE_INLINE Vector2 | operator* (const Matrix2x2 &matrix, const Vector2 &vector) |
RP3D_FORCE_INLINE Matrix3x3 | operator+ (const Matrix3x3 &matrix1, const Matrix3x3 &matrix2) |
RP3D_FORCE_INLINE Matrix3x3 | operator- (const Matrix3x3 &matrix1, const Matrix3x3 &matrix2) |
RP3D_FORCE_INLINE Matrix3x3 | operator- (const Matrix3x3 &matrix) |
RP3D_FORCE_INLINE Matrix3x3 | operator* (decimal nb, const Matrix3x3 &matrix) |
RP3D_FORCE_INLINE Matrix3x3 | operator* (const Matrix3x3 &matrix, decimal nb) |
RP3D_FORCE_INLINE Matrix3x3 | operator* (const Matrix3x3 &matrix1, const Matrix3x3 &matrix2) |
RP3D_FORCE_INLINE Vector3 | operator* (const Matrix3x3 &matrix, const Vector3 &vector) |
RP3D_FORCE_INLINE Vector2 | operator+ (const Vector2 &vector1, const Vector2 &vector2) |
RP3D_FORCE_INLINE Vector2 | operator- (const Vector2 &vector1, const Vector2 &vector2) |
RP3D_FORCE_INLINE Vector2 | operator- (const Vector2 &vector) |
RP3D_FORCE_INLINE Vector2 | operator* (const Vector2 &vector, decimal number) |
RP3D_FORCE_INLINE Vector2 | operator* (const Vector2 &vector1, const Vector2 &vector2) |
RP3D_FORCE_INLINE Vector2 | operator/ (const Vector2 &vector, decimal number) |
RP3D_FORCE_INLINE Vector2 | operator/ (const Vector2 &vector1, const Vector2 &vector2) |
RP3D_FORCE_INLINE Vector2 | operator* (decimal number, const Vector2 &vector) |
RP3D_FORCE_INLINE bool | approxEqual (const Vector2 &vec1, const Vector2 &vec2, decimal epsilon=MACHINE_EPSILON) |
RP3D_FORCE_INLINE Vector3 | operator+ (const Vector3 &vector1, const Vector3 &vector2) |
RP3D_FORCE_INLINE Vector3 | operator- (const Vector3 &vector1, const Vector3 &vector2) |
RP3D_FORCE_INLINE Vector3 | operator- (const Vector3 &vector) |
RP3D_FORCE_INLINE Vector3 | operator* (const Vector3 &vector, decimal number) |
RP3D_FORCE_INLINE Vector3 | operator/ (const Vector3 &vector, decimal number) |
RP3D_FORCE_INLINE Vector3 | operator/ (const Vector3 &vector1, const Vector3 &vector2) |
RP3D_FORCE_INLINE Vector3 | operator* (decimal number, const Vector3 &vector) |
RP3D_FORCE_INLINE Vector3 | operator* (const Vector3 &vector1, const Vector3 &vector2) |
Variables | |
constexpr decimal | REL_ERROR = decimal(1.0e-3) |
constexpr decimal | REL_ERROR_SQUARE = REL_ERROR * REL_ERROR |
constexpr int | MAX_ITERATIONS_GJK_RAYCAST = 32 |
const int | NB_COLLISION_SHAPE_TYPES = 4 |
const decimal | DECIMAL_SMALLEST = - std::numeric_limits<decimal>::max() |
Smallest decimal value (negative) | |
const decimal | DECIMAL_LARGEST = std::numeric_limits<decimal>::max() |
Maximum decimal value. | |
const decimal | MACHINE_EPSILON = std::numeric_limits<decimal>::epsilon() |
Machine epsilon. | |
constexpr decimal | PI_RP3D = decimal(3.141592653589) |
Pi constant. | |
constexpr decimal | PI_TIMES_2 = decimal(6.28318530) |
2*Pi constant | |
constexpr decimal | DYNAMIC_TREE_FAT_AABB_INFLATE_PERCENTAGE = decimal(0.08) |
In the broad-phase collision detection (dynamic AABB tree), the AABBs are inflated by a constant percentage of its size to allow the collision shape to move a little bit without triggering a large modification of the tree each frame which can be costly. | |
constexpr uint8 | NB_MAX_CONTACT_POINTS_IN_NARROWPHASE_INFO = 16 |
Maximum number of contact points in a narrow phase info object. | |
constexpr uint8 | NB_MAX_CONTACT_MANIFOLDS = 4 |
Maximum number of contact manifolds in an overlapping pair. | |
constexpr uint8 | NB_MAX_POTENTIAL_CONTACT_MANIFOLDS = 64 |
Maximum number of potential contact manifolds in an overlapping pair. | |
constexpr uint8 | NB_MAX_CONTACT_POINTS_IN_POTENTIAL_MANIFOLD = 255 |
Maximum number of contact points in potential contact manifold. | |
constexpr decimal | SAME_CONTACT_POINT_DISTANCE_THRESHOLD = decimal(0.01) |
Distance threshold to consider that two contact points in a manifold are the same. | |
constexpr uint8 | GLOBAL_ALIGNMENT = 16 |
Global alignment (in bytes) that all allocators must enforce. | |
const std::string | RP3D_VERSION = std::string("0.10.2") |
Current version of ReactPhysics3D. | |
Namespace reactphysics3d.
ReactPhysiscs3D namespace.
ReactPhysics3D namespace.
Namespace ReactPhysics3D.
|
strong |
Enumeration for the type of a body STATIC : A static body has infinite mass, zero velocity but the position can be changed manually.
A static body does not collide with other static or kinematic bodies. KINEMATIC : A kinematic body has infinite mass, the velocity can be changed manually and its position is computed by the physics engine. A kinematic body does not collide with other static or kinematic bodies. DYNAMIC : A dynamic body has non-zero mass, non-zero velocity determined by forces and its position is determined by the physics engine. A dynamic body can collide with other dynamic, static or kinematic bodies.
|
strong |
Position correction technique used in the contact solver (for contacts) BAUMGARTE_CONTACTS : Faster but can be innacurate and can lead to unexpected bounciness in some situations (due to error correction factor being added to the bodies momentum).
SPLIT_IMPULSES : A bit slower but the error correction factor is not added to the bodies momentum. This is the option used by default.
|
strong |
Position correction technique used in the constraint solver (for joints).
BAUMGARTE_JOINTS : Faster but can be innacurate in some situations. NON_LINEAR_GAUSS_SEIDEL : Slower but more precise. This is the option used by default.
|
strong |