History

remove new API

SamGondelman committed 7 years ago

Commit 5eccaad1 parent 70541882 files · +44 −172Browse files

Showing the changes to libraries/entities/src/EntityScriptingInterface.cpp (1 of 2 files). Show all

Unified · Split

libraries/entities/src/EntityScriptingInterface.cpp+30−10
@@ -1062,11 +1062,12 @@ void EntityScriptingInterface::handleEntityScriptCallMethodPacket(QSharedPointer · 1061 unmodified lines
10621062
10631063
10641064
1065−QUuid EntityScriptingInterface::evalClosestEntity(const glm::vec3& center, float radius, unsigned int searchFilter) const {
1065+QUuid EntityScriptingInterface::findClosestEntity(const glm::vec3& center, float radius) const {
10661066 PROFILE_RANGE(script_entities, __FUNCTION__);
10671067
10681068 EntityItemID result;
10691069 if (_entityTree) {
1070+ unsigned int searchFilter = PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES);
10701071 _entityTree->withReadLock([&] {
10711072 result = _entityTree->evalClosestEntity(center, radius, PickFilter(searchFilter));
10721073 });
@@ -1083,11 +1084,12 @@ void EntityScriptingInterface::dumpTree() const { · 10 unmodified lines
10831084 }
10841085 }
10851086
1086−QVector<QUuid> EntityScriptingInterface::evalEntitiesInSphere(const glm::vec3& center, float radius, unsigned int searchFilter) const {
1087+QVector<QUuid> EntityScriptingInterface::findEntities(const glm::vec3& center, float radius) const {
10871088 PROFILE_RANGE(script_entities, __FUNCTION__);
10881089
10891090 QVector<QUuid> result;
10901091 if (_entityTree) {
1092+ unsigned int searchFilter = PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES);
10911093 _entityTree->withReadLock([&] {
10921094 _entityTree->evalEntitiesInSphere(center, radius, PickFilter(searchFilter), result);
10931095 });
@@ -1095,11 +1097,12 @@ QVector<QUuid> EntityScriptingInterface::evalEntitiesInSphere(const glm::vec3& c · 1 unmodified line
10951097 return result;
10961098 }
10971099
1098−QVector<QUuid> EntityScriptingInterface::evalEntitiesInBox(const glm::vec3& corner, const glm::vec3& dimensions, unsigned int searchFilter) const {
1100+QVector<QUuid> EntityScriptingInterface::findEntitiesInBox(const glm::vec3& corner, const glm::vec3& dimensions) const {
10991101 PROFILE_RANGE(script_entities, __FUNCTION__);
11001102
11011103 QVector<QUuid> result;
11021104 if (_entityTree) {
1105+ unsigned int searchFilter = PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES);
11031106 _entityTree->withReadLock([&] {
11041107 AABox box(corner, dimensions);
11051108 _entityTree->evalEntitiesInBox(box, PickFilter(searchFilter), result);
@@ -1108,7 +1111,7 @@ QVector<QUuid> EntityScriptingInterface::evalEntitiesInBox(const glm::vec3& corn · 2 unmodified lines
11081111 return result;
11091112 }
11101113
1111−QVector<QUuid> EntityScriptingInterface::evalEntitiesInFrustum(QVariantMap frustum, unsigned int searchFilter) const {
1114+QVector<QUuid> EntityScriptingInterface::findEntitiesInFrustum(QVariantMap frustum) const {
11121115 PROFILE_RANGE(script_entities, __FUNCTION__);
11131116
11141117 QVector<QUuid> result;
@@ -1138,6 +1141,7 @@ QVector<QUuid> EntityScriptingInterface::evalEntitiesInFrustum(QVariantMap frust · 23 unmodified lines
11381141 viewFrustum.calculate();
11391142
11401143 if (_entityTree) {
1144+ unsigned int searchFilter = PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES);
11411145 _entityTree->withReadLock([&] {
11421146 _entityTree->evalEntitiesInFrustum(viewFrustum, PickFilter(searchFilter), result);
11431147 });
@@ -1147,11 +1151,12 @@ QVector<QUuid> EntityScriptingInterface::evalEntitiesInFrustum(QVariantMap frust · 3 unmodified lines
11471151 return result;
11481152 }
11491153
1150−QVector<QUuid> EntityScriptingInterface::evalEntitiesInSphereWithType(const QString entityType, const glm::vec3& center, float radius, unsigned int searchFilter) const {
1154+QVector<QUuid> EntityScriptingInterface::findEntitiesByType(const QString entityType, const glm::vec3& center, float radius) const {
11511155 EntityTypes::EntityType type = EntityTypes::getEntityTypeFromName(entityType);
11521156
11531157 QVector<QUuid> result;
11541158 if (_entityTree) {
1159+ unsigned int searchFilter = PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES);
11551160 _entityTree->withReadLock([&] {
11561161 _entityTree->evalEntitiesInSphereWithType(center, radius, type, PickFilter(searchFilter), result);
11571162 });
@@ -1159,22 +1164,37 @@ QVector<QUuid> EntityScriptingInterface::evalEntitiesInSphereWithType(const QStr · 1 unmodified line
11591164 return result;
11601165 }
11611166
1162−QVector<QUuid> EntityScriptingInterface::evalEntitiesInSphereWithName(const QString entityName, const glm::vec3& center, float radius, bool caseSensitiveSearch, unsigned int searchFilter) const {
1167+QVector<QUuid> EntityScriptingInterface::findEntitiesByName(const QString entityName, const glm::vec3& center, float radius, bool caseSensitiveSearch) const {
11631168 QVector<QUuid> result;
11641169 if (_entityTree) {
11651170 _entityTree->withReadLock([&] {
1171+ unsigned int searchFilter = PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES);
11661172 _entityTree->evalEntitiesInSphereWithName(center, radius, entityName, caseSensitiveSearch, PickFilter(searchFilter), result);
11671173 });
11681174 }
11691175 return result;
11701176 }
11711177
1172−RayToEntityIntersectionResult EntityScriptingInterface::evalRayIntersection(const PickRay& ray, unsigned int searchFilter,
1173− const QScriptValue& entityIdsToInclude, const QScriptValue& entityIdsToDiscard) {
1178+RayToEntityIntersectionResult EntityScriptingInterface::findRayIntersection(const PickRay& ray, bool precisionPicking,
1179+ const QScriptValue& entityIdsToInclude, const QScriptValue& entityIdsToDiscard, bool visibleOnly, bool collidableOnly) const {
11741180 PROFILE_RANGE(script_entities, __FUNCTION__);
11751181 QVector<EntityItemID> entitiesToInclude = qVectorEntityItemIDFromScriptValue(entityIdsToInclude);
11761182 QVector<EntityItemID> entitiesToDiscard = qVectorEntityItemIDFromScriptValue(entityIdsToDiscard);
11771183
1184+ unsigned int searchFilter = PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES);
1185+
1186+ if (!precisionPicking) {
1187+ searchFilter = searchFilter | PickFilter::getBitMask(PickFilter::FlagBit::COARSE);
1188+ }
1189+
1190+ if (visibleOnly) {
1191+ searchFilter = searchFilter | PickFilter::getBitMask(PickFilter::FlagBit::VISIBLE);
1192+ }
1193+
1194+ if (collidableOnly) {
1195+ searchFilter = searchFilter | PickFilter::getBitMask(PickFilter::FlagBit::COLLIDABLE);
1196+ }
1197+
11781198 return evalRayIntersectionWorker(ray, Octree::Lock, PickFilter(searchFilter), entitiesToInclude, entitiesToDiscard);
11791199 }
11801200
@@ -1187,7 +1207,7 @@ RayToEntityIntersectionResult EntityScriptingInterface::evalRayIntersectionVecto · 6 unmodified lines
11871207
11881208 RayToEntityIntersectionResult EntityScriptingInterface::evalRayIntersectionWorker(const PickRay& ray,
11891209 Octree::lockType lockType, PickFilter searchFilter, const QVector<EntityItemID>& entityIdsToInclude,
1190− const QVector<EntityItemID>& entityIdsToDiscard) {
1210+ const QVector<EntityItemID>& entityIdsToDiscard) const {
11911211
11921212 RayToEntityIntersectionResult result;
11931213 if (_entityTree) {
@@ -1213,7 +1233,7 @@ ParabolaToEntityIntersectionResult EntityScriptingInterface::evalParabolaInterse · 19 unmodified lines
12131233
12141234 ParabolaToEntityIntersectionResult EntityScriptingInterface::evalParabolaIntersectionWorker(const PickParabola& parabola,
12151235 Octree::lockType lockType, PickFilter searchFilter, const QVector<EntityItemID>& entityIdsToInclude,
1216− const QVector<EntityItemID>& entityIdsToDiscard) {
1236+ const QVector<EntityItemID>& entityIdsToDiscard) const {
12171237
12181238 ParabolaToEntityIntersectionResult result;
12191239 if (_entityTree) {