diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index 2e3a6c9552..1d81a6ae6d 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -942,11 +942,10 @@ void EntityItem::setMass(float mass) { float volume = _volumeMultiplier * dimensions.x * dimensions.y * dimensions.z; // compute new density - const float MIN_VOLUME = 1.0e-6f; // 0.001mm^3 float newDensity = 1.0f; - if (volume < 1.0e-6f) { + if (volume < ENTITY_ITEM_MIN_VOLUME) { // avoid divide by zero - newDensity = glm::min(mass / MIN_VOLUME, ENTITY_ITEM_MAX_DENSITY); + newDensity = glm::min(mass / ENTITY_ITEM_MIN_VOLUME, ENTITY_ITEM_MAX_DENSITY); } else { newDensity = glm::max(glm::min(mass / volume, ENTITY_ITEM_MAX_DENSITY), ENTITY_ITEM_MIN_DENSITY); } @@ -1688,7 +1687,7 @@ void EntityItem::setScaledDimensions(const glm::vec3& value) { } void EntityItem::setUnscaledDimensions(const glm::vec3& value) { - glm::vec3 newDimensions = glm::max(value, glm::vec3(0.0f)); // can never have negative dimensions + glm::vec3 newDimensions = glm::max(value, glm::vec3(ENTITY_ITEM_MIN_DIMENSION)); if (getUnscaledDimensions() != newDimensions) { withWriteLock([&] { _unscaledDimensions = newDimensions; diff --git a/libraries/entities/src/EntityItemPropertiesDefaults.h b/libraries/entities/src/EntityItemPropertiesDefaults.h index 0e0c2994cd..d2ddd687dd 100644 --- a/libraries/entities/src/EntityItemPropertiesDefaults.h +++ b/libraries/entities/src/EntityItemPropertiesDefaults.h @@ -60,8 +60,10 @@ const float ENTITY_ITEM_DEFAULT_LIFETIME = ENTITY_ITEM_IMMORTAL_LIFETIME; const glm::vec3 ENTITY_ITEM_DEFAULT_POSITION = ENTITY_ITEM_ZERO_VEC3; const glm::quat ENTITY_ITEM_DEFAULT_ROTATION; const float ENTITY_ITEM_DEFAULT_WIDTH = 0.1f; +const float ENTITY_ITEM_MIN_DIMENSION = 0.001f; const glm::vec3 ENTITY_ITEM_DEFAULT_DIMENSIONS = glm::vec3(ENTITY_ITEM_DEFAULT_WIDTH); const float ENTITY_ITEM_DEFAULT_VOLUME = ENTITY_ITEM_DEFAULT_WIDTH * ENTITY_ITEM_DEFAULT_WIDTH * ENTITY_ITEM_DEFAULT_WIDTH; +const float ENTITY_ITEM_MIN_VOLUME = ENTITY_ITEM_MIN_DIMENSION * ENTITY_ITEM_MIN_DIMENSION * ENTITY_ITEM_MIN_DIMENSION; const float ENTITY_ITEM_MAX_DENSITY = 10000.0f; // kg/m^3 density of silver const float ENTITY_ITEM_MIN_DENSITY = 100.0f; // kg/m^3 density of balsa wood diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 70f873734a..65b12ac0d4 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -182,9 +182,7 @@ const float SCALE_CHANGE_EPSILON = 0.0000001f; void Model::setScaleInternal(const glm::vec3& scale) { if (glm::distance(_scale, scale) > SCALE_CHANGE_EPSILON) { _scale = scale; - if (_scale.x == 0.0f || _scale.y == 0.0f || _scale.z == 0.0f) { - assert(false); - } + assert(_scale.x != 0.0f && scale.y != 0.0f && scale.z != 0.0f); simulate(0.0f, true); } }