mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
(Perhaps) fixing BulletContact crashes on Linux
This commit is contained in:
parent
2976ec052e
commit
4546fb9e77
@ -76,6 +76,8 @@ class btTypedObject;
|
||||
class btVector3;
|
||||
class btVehicleRaycaster;
|
||||
|
||||
template <typename T> class btAlignedObjectArray;
|
||||
|
||||
class btWheelInfo {
|
||||
public:
|
||||
class RaycastInfo;
|
||||
|
@ -43,7 +43,7 @@ get_node1() const {
|
||||
INLINE const BulletManifoldPoint *BulletContact::
|
||||
get_manifold_point() const {
|
||||
|
||||
return new BulletManifoldPoint(*_mp);
|
||||
return new BulletManifoldPoint(_mp);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -36,10 +36,9 @@ addSingleResult(btManifoldPoint &mp,
|
||||
const btCollisionObject *obj0, int part_id0, int idx0,
|
||||
const btCollisionObject *obj1, int part_id1, int idx1) {
|
||||
|
||||
|
||||
BulletContact contact;
|
||||
|
||||
contact._mp = ∓
|
||||
contact._mp = mp;
|
||||
contact._obj0 = obj0;
|
||||
contact._obj1 = obj1;
|
||||
contact._part_id0 = part_id0;
|
||||
|
@ -38,7 +38,7 @@ PUBLISHED:
|
||||
INLINE const int get_part_id1() const;
|
||||
|
||||
private:
|
||||
btManifoldPoint *_mp;
|
||||
btManifoldPoint _mp;
|
||||
const btCollisionObject *_obj0;
|
||||
const btCollisionObject *_obj1;
|
||||
int _part_id0;
|
||||
@ -71,7 +71,7 @@ protected:
|
||||
private:
|
||||
static BulletContact _empty;
|
||||
|
||||
pvector<BulletContact> _contacts;
|
||||
btAlignedObjectArray<BulletContact> _contacts;
|
||||
|
||||
friend class BulletWorld;
|
||||
};
|
||||
|
@ -20,7 +20,7 @@
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
BulletManifoldPoint::
|
||||
BulletManifoldPoint(btManifoldPoint &pt) : _pt(pt) {
|
||||
BulletManifoldPoint(const btManifoldPoint &pt) : _pt(pt) {
|
||||
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ BulletManifoldPoint(btManifoldPoint &pt) : _pt(pt) {
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
int BulletManifoldPoint::
|
||||
get_lift_time() const {
|
||||
get_life_time() const {
|
||||
|
||||
return _pt.getLifeTime();
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ class EXPCL_PANDABULLET BulletManifoldPoint {
|
||||
PUBLISHED:
|
||||
INLINE ~BulletManifoldPoint();
|
||||
|
||||
int get_lift_time() const;
|
||||
int get_life_time() const;
|
||||
PN_stdfloat get_distance() const;
|
||||
PN_stdfloat get_applied_impulse() const;
|
||||
LPoint3 get_position_world_on_a() const;
|
||||
@ -45,10 +45,10 @@ PUBLISHED:
|
||||
int get_index1() const;
|
||||
|
||||
public:
|
||||
BulletManifoldPoint(btManifoldPoint &pt);
|
||||
BulletManifoldPoint(const btManifoldPoint &pt);
|
||||
|
||||
private:
|
||||
btManifoldPoint &_pt;
|
||||
const btManifoldPoint _pt;
|
||||
};
|
||||
|
||||
#include "bulletManifoldPoint.I"
|
||||
|
@ -64,6 +64,29 @@ BulletWorld() {
|
||||
// Dispatcher
|
||||
_dispatcher = new btCollisionDispatcher(_configuration);
|
||||
|
||||
/*
|
||||
_dispatcher.registerCollisionCreateFunc(
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape,
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape,
|
||||
dcc.GetCollisionAlgorithmCreateFunc(
|
||||
BroadphaseNativeType.TriangleMeshShape,
|
||||
BroadphaseNativeType.TriangleMeshShape));
|
||||
|
||||
_dispatcher.registerCollisionCreateFunc(
|
||||
BroadphaseNativeType.TriangleMeshShape,
|
||||
BroadphaseNativeType.TriangleMeshShape,
|
||||
dcc.GetCollisionAlgorithmCreateFunc(
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape,
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape));
|
||||
|
||||
_dispatcher.registerCollisionCreateFunc(
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape,
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape,
|
||||
dcc.GetCollisionAlgorithmCreateFunc(
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape,
|
||||
BroadphaseNativeType.ConvexTriangleMeshShape));
|
||||
*/
|
||||
|
||||
// Solver
|
||||
_solver = new btSequentialImpulseConstraintSolver;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user