mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
bullet: prevent softbody with AABB out of bounds from asserting
See #357
This commit is contained in:
parent
96a48a6848
commit
5fe294a467
@ -276,8 +276,15 @@ do_sync_b2p() {
|
|||||||
|
|
||||||
// Update the synchronized transform with the current approximate center of
|
// Update the synchronized transform with the current approximate center of
|
||||||
// the soft body
|
// the soft body
|
||||||
LVecBase3 pos = this->do_get_aabb().get_approx_center();
|
btVector3 pMin, pMax;
|
||||||
CPT(TransformState) ts = TransformState::make_pos(pos);
|
_soft->getAabb(pMin, pMax);
|
||||||
|
LPoint3 pos = (btVector3_to_LPoint3(pMin) + btVector3_to_LPoint3(pMax)) * 0.5;
|
||||||
|
CPT(TransformState) ts;
|
||||||
|
if (!pos.is_nan()) {
|
||||||
|
ts = TransformState::make_pos(pos);
|
||||||
|
} else {
|
||||||
|
ts = TransformState::make_identity();
|
||||||
|
}
|
||||||
|
|
||||||
NodePath np = NodePath::any_path((PandaNode *)this);
|
NodePath np = NodePath::any_path((PandaNode *)this);
|
||||||
LVecBase3 scale = np.get_net_transform()->get_scale();
|
LVecBase3 scale = np.get_net_transform()->get_scale();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user