diff --git a/libraries/shared/src/ShapeInfo.cpp b/libraries/shared/src/ShapeInfo.cpp index db7f8702eb..8b2a3e3a73 100644 --- a/libraries/shared/src/ShapeInfo.cpp +++ b/libraries/shared/src/ShapeInfo.cpp @@ -24,7 +24,22 @@ void ShapeInfo::clear() { void ShapeInfo::setParams(ShapeType type, const glm::vec3& halfExtents, QVector* data) { _type = type; - _halfExtents = halfExtents; + switch(type) { + case SHAPE_TYPE_NONE: + _halfExtents = glm::vec3(0.0f); + break; + case SHAPE_TYPE_BOX: + _halfExtents = halfExtents; + break; + case SHAPE_TYPE_SPHERE: { + // sphere radius is max of halfExtents + float radius = glm::max(glm::max(halfExtents.x, halfExtents.y), halfExtents.z); + _halfExtents = glm::vec3(radius); + break; + } + default: + _halfExtents = halfExtents; + } _externalData = data; }