mirror of
https://github.com/overte-org/overte.git
synced 2025-04-22 18:53:36 +02:00
enforce ShapeType agreement for ModeEntityItem
This commit is contained in:
parent
8623a0606c
commit
aec42cf2dc
1 changed files with 11 additions and 0 deletions
|
@ -276,6 +276,16 @@ void ModelEntityItem::debugDump() const {
|
|||
}
|
||||
|
||||
void ModelEntityItem::updateShapeType(ShapeType type) {
|
||||
// BEGIN_TEMPORARY_WORKAROUND
|
||||
// we have allowed inconsistent ShapeType's to be stored in SVO files in the past (this was a bug)
|
||||
// but we are now enforcing the entity properties to be consistent. To make the possible we're
|
||||
// introducing a temporary workaround: we will ignore ShapeType updates that conflict with the
|
||||
// _collisionModelURL.
|
||||
if (hasCollisionModel()) {
|
||||
type = SHAPE_TYPE_COMPOUND;
|
||||
}
|
||||
// END_TEMPORARY_WORKAROUND
|
||||
|
||||
if (type != _shapeType) {
|
||||
_shapeType = type;
|
||||
_dirtyFlags |= EntityItem::DIRTY_SHAPE | EntityItem::DIRTY_MASS;
|
||||
|
@ -296,6 +306,7 @@ void ModelEntityItem::setCollisionModelURL(const QString& url) {
|
|||
if (_collisionModelURL != url) {
|
||||
_collisionModelURL = url;
|
||||
_dirtyFlags |= EntityItem::DIRTY_SHAPE | EntityItem::DIRTY_MASS;
|
||||
_shapeType = _collisionModelURL.isEmpty() ? SHAPE_TYPE_NONE : SHAPE_TYPE_COMPOUND;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue