diff --git a/examples/sit.js b/examples/sit.js index 9bd87d4ce3..49123f254a 100644 --- a/examples/sit.js +++ b/examples/sit.js @@ -285,7 +285,7 @@ function update(deltaTime){ avatarOldPosition = MyAvatar.position; var SEARCH_RADIUS = 50; - var foundModels = Models.findModels(MyAvatar.position, SEARCH_RADIUS); + var foundModels = Entities.findEntities(MyAvatar.position, SEARCH_RADIUS); // Let's remove indicator that got out of radius for (model in models) { if (Vec3.distance(models[model].properties.position, MyAvatar.position) > SEARCH_RADIUS) { @@ -297,7 +297,7 @@ function update(deltaTime){ for (var i = 0; i < foundModels.length; ++i) { var model = foundModels[i]; if (typeof(models[model.id]) == "undefined") { - model.properties = Models.getModelProperties(model); + model.properties = Entities.getEntityProperties(model); if (Vec3.distance(model.properties.position, MyAvatar.position) < SEARCH_RADIUS) { addIndicators(model); } @@ -319,7 +319,7 @@ function addIndicators(modelID) { models[modelID.id] = modelID; } else { - Models.editModel(modelID, { glowLevel: 0.0 }); + Entities.editEntity(modelID, { glowLevel: 0.0 }); } } diff --git a/libraries/entities/src/EntityScriptingInterface.cpp b/libraries/entities/src/EntityScriptingInterface.cpp index 8a66050842..2cca1854b0 100644 --- a/libraries/entities/src/EntityScriptingInterface.cpp +++ b/libraries/entities/src/EntityScriptingInterface.cpp @@ -11,6 +11,7 @@ #include "EntityScriptingInterface.h" #include "EntityTree.h" +#include "ModelEntityItem.h" EntityScriptingInterface::EntityScriptingInterface() : _nextCreatorTokenID(0), @@ -75,10 +76,18 @@ EntityItemProperties EntityScriptingInterface::getEntityProperties(EntityItemID if (_entityTree) { _entityTree->lockForRead(); EntityItem* entity = const_cast(_entityTree->findEntityByEntityItemID(identity)); + if (entity) { - // TODO: look into sitting points!!! - //entity->setSittingPoints(_entityTree->getGeometryForEntity(entity)->sittingPoints); + // TODO: improve sitting points in the future, for now we've included the old model behavior for entity + // types that are models + if (entity->getType() == EntityTypes::Model) { + ModelEntityItem* model = dynamic_cast(entity); + const FBXGeometry* geometry = _entityTree->getGeometryForEntity(entity); + if (geometry) { + model->setSittingPoints(geometry->sittingPoints); + } + } results = entity->getProperties(); } else {