This commit is contained in:
SamGondelman 2018-04-17 10:58:54 -07:00
parent c8afaf27e5
commit 527d71c379
2 changed files with 5 additions and 5 deletions

View file

@ -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-9f; // 1mm^3
float newDensity = 1.0f;
if (volume < MIN_VOLUME) {
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,8 +1687,7 @@ void EntityItem::setScaledDimensions(const glm::vec3& value) {
}
void EntityItem::setUnscaledDimensions(const glm::vec3& value) {
const float MIN_ENTITY_DIMENSION = 0.001f; // this value cubed should == MIN_VOLUME in setMass
glm::vec3 newDimensions = glm::max(value, glm::vec3(MIN_ENTITY_DIMENSION));
glm::vec3 newDimensions = glm::max(value, glm::vec3(ENTITY_ITEM_MIN_DIMENSION));
if (getUnscaledDimensions() != newDimensions) {
withWriteLock([&] {
_unscaledDimensions = newDimensions;

View file

@ -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