Merge pull request from ZappoMan/rc60FixModelImportSizing

fix issues in model import sizing caused by recent refactor
This commit is contained in:
Brad Hefta-Gaub 2017-12-02 09:30:57 -08:00 committed by GitHub
commit b2c5154cb6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions
libraries
entities-renderer/src
entities/src

View file

@ -75,9 +75,12 @@ RenderableModelEntityItem::RenderableModelEntityItem(const EntityItemID& entityI
RenderableModelEntityItem::~RenderableModelEntityItem() { } RenderableModelEntityItem::~RenderableModelEntityItem() { }
void RenderableModelEntityItem::setDimensions(const glm::vec3& value) { void RenderableModelEntityItem::setDimensions(const glm::vec3& value) {
glm::vec3 newDimensions = glm::max(value, glm::vec3(0.0f)); // can never have negative dimensions
if (getDimensions() != newDimensions) {
_dimensionsInitialized = true; _dimensionsInitialized = true;
ModelEntityItem::setDimensions(value); ModelEntityItem::setDimensions(value);
} }
}
QVariantMap parseTexturesToMap(QString textures, const QVariantMap& defaultTextures) { QVariantMap parseTexturesToMap(QString textures, const QVariantMap& defaultTextures) {
// If textures are unset, revert to original textures // If textures are unset, revert to original textures
@ -1160,7 +1163,6 @@ bool ModelEntityRenderer::needsRenderUpdateFromTypedEntity(const TypedEntityPoin
return true; return true;
} }
if (model->getScaleToFitDimensions() != entity->getDimensions() || if (model->getScaleToFitDimensions() != entity->getDimensions() ||
model->getRegistrationPoint() != entity->getRegistrationPoint()) { model->getRegistrationPoint() != entity->getRegistrationPoint()) {
return true; return true;

View file

@ -1622,11 +1622,13 @@ void EntityItem::setDimensions(const glm::vec3& value) {
if (getDimensions() != newDimensions) { if (getDimensions() != newDimensions) {
withWriteLock([&] { withWriteLock([&] {
_dimensions = newDimensions; _dimensions = newDimensions;
_dirtyFlags |= (Simulation::DIRTY_SHAPE | Simulation::DIRTY_MASS);
_queryAACubeSet = false;
}); });
locationChanged(); locationChanged();
dimensionsChanged(); dimensionsChanged();
withWriteLock([&] {
_dirtyFlags |= (Simulation::DIRTY_SHAPE | Simulation::DIRTY_MASS);
_queryAACubeSet = false;
});
} }
} }