From 4fd3d9bf7bc4d1ef7f36a4de52b3e768864c44fe Mon Sep 17 00:00:00 2001 From: humbletim Date: Thu, 22 Feb 2018 08:18:38 -0500 Subject: [PATCH] cleanup; formalize data structures --- interface/src/ui/overlays/ModelOverlay.cpp | 4 +++- interface/src/ui/overlays/Shape3DOverlay.cpp | 5 +---- .../avatars-renderer/src/avatars-renderer/Avatar.cpp | 7 +------ .../src/RenderableModelEntityItem.cpp | 4 +++- .../src/RenderablePolyVoxEntityItem.cpp | 1 + .../src/RenderableShapeEntityItem.cpp | 11 ++--------- 6 files changed, 11 insertions(+), 21 deletions(-) diff --git a/interface/src/ui/overlays/ModelOverlay.cpp b/interface/src/ui/overlays/ModelOverlay.cpp index b6b79fd8c9..4ff5499a12 100644 --- a/interface/src/ui/overlays/ModelOverlay.cpp +++ b/interface/src/ui/overlays/ModelOverlay.cpp @@ -669,5 +669,7 @@ scriptable::ScriptableModelBase ModelOverlay::getScriptableModel(bool* ok) { if (!_model || !_model->isLoaded()) { return Base3DOverlay::getScriptableModel(ok); } - return _model->getScriptableModel(ok); + auto result = _model->getScriptableModel(ok); + result.objectID = getID(); + return result; } \ No newline at end of file diff --git a/interface/src/ui/overlays/Shape3DOverlay.cpp b/interface/src/ui/overlays/Shape3DOverlay.cpp index 54423feef6..04557bcf5d 100644 --- a/interface/src/ui/overlays/Shape3DOverlay.cpp +++ b/interface/src/ui/overlays/Shape3DOverlay.cpp @@ -184,10 +184,7 @@ scriptable::ScriptableModelBase Shape3DOverlay::getScriptableModel(bool* ok) { auto geometryCache = DependencyManager::get(); auto vertexColor = ColorUtils::toVec3(_color); scriptable::ScriptableModelBase result; - result.metadata = { - { "origin", "Shape3DOverlay::"+shapeStrings[_shape] }, - { "overlayID", getID() }, - }; + result.objectID = getID(); result.append(geometryCache->meshFromShape(_shape, vertexColor), {{ "shape", shapeStrings[_shape] }}); if (ok) { *ok = true; diff --git a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp index 5934ffed12..48f0c70dfa 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp +++ b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp @@ -1801,12 +1801,7 @@ scriptable::ScriptableModelBase Avatar::getScriptableModel(bool* ok) { } scriptable::ScriptableModelBase result = _skeletonModel->getScriptableModel(ok); result.objectID = getSessionUUID(); - result.mixin({ - { "avatarID", getSessionUUID().toString() }, - { "url", _skeletonModelURL.toString() }, - { "origin", "Avatar/avatar::" + _displayName }, - { "textures", _skeletonModel->getTextures() }, - }); + result.mixin({{ "textures", _skeletonModel->getTextures() }}); // FIXME: for now access to attachment models are merged into the main avatar ScriptableModel set for (int i = 0; i < (int)_attachmentModels.size(); i++) { auto& model = _attachmentModels.at(i); diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index c93bcb2055..0e23ff3bff 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -968,7 +968,9 @@ scriptable::ScriptableModelBase render::entities::ModelEntityRenderer::getScript return scriptable::ModelProvider::modelUnavailableError(ok); } - return _model->getScriptableModel(ok); + auto result = _model->getScriptableModel(ok); + result.objectID = getEntity()->getID(); + return result; } bool render::entities::ModelEntityRenderer::replaceScriptableModelMeshPart(scriptable::ScriptableModelBasePointer newModel, int meshIndex, int partIndex) { diff --git a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp index a547926343..37e03b2590 100644 --- a/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderablePolyVoxEntityItem.cpp @@ -1459,6 +1459,7 @@ scriptable::ScriptableModelBase RenderablePolyVoxEntityItem::getScriptableModel( bool success = false; glm::mat4 transform = voxelToLocalMatrix(); scriptable::ScriptableModelBase result; + result.objectID = getThisPointer()->getID(); withReadLock([&] { gpu::BufferView::Index numVertices = (gpu::BufferView::Index)_mesh->getNumVertices(); if (!_meshReady) { diff --git a/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp b/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp index 0ff8ac17f0..2e65eba5e5 100644 --- a/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp @@ -166,11 +166,7 @@ void ShapeEntityRenderer::doRender(RenderArgs* args) { scriptable::ScriptableModelBase ShapeEntityRenderer::getScriptableModel(bool* ok) { scriptable::ScriptableModelBase result; - result.metadata = { - { "entityID", getEntity()->getID().toString() }, - { "shape", entity::stringFromShape(_shape) }, - { "userData", getEntity()->getUserData() }, - }; + result.objectID = getEntity()->getID(); auto geometryCache = DependencyManager::get(); auto geometryShape = geometryCache->getShapeForEntityShape(_shape); glm::vec3 vertexColor; @@ -179,10 +175,7 @@ scriptable::ScriptableModelBase ShapeEntityRenderer::getScriptableModel(bool* ok } auto success = false; if (auto mesh = geometryCache->meshFromShape(geometryShape, vertexColor)) { - scriptable::ScriptableMeshBase base{ mesh, { - { "shape", entity::stringFromShape(_shape) }, - }}; - result.append(base); + result.append({ mesh, {{ "shape", entity::stringFromShape(_shape) }}}); success = true; } if (ok) {