History

EnitityItem smart pointers

ZappoMan committed 11 years ago

Commit 8b78fc41 parent 603528e69 files · +354 −302Browse files

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

Unified · Split

libraries/entities/src/EntityScriptingInterface.cpp+13−10
@@ -78,7 +78,7 @@ QUuid EntityScriptingInterface::addEntity(const EntityItemProperties& properties · 77 unmodified lines
7878 bool success = true;
7979 if (_entityTree) {
8080 _entityTree->lockForWrite();
81− EntityItem* entity = _entityTree->addEntity(id, propertiesWithSimID);
81+ EntityItemPointer entity = _entityTree->addEntity(id, propertiesWithSimID);
8282 if (entity) {
8383 entity->setLastBroadcast(usecTimestampNow());
8484 // This Node is creating a new object. If it's in motion, set this Node as the simulator.
@@ -102,7 +102,9 @@ EntityItemProperties EntityScriptingInterface::getEntityProperties(QUuid identit · 17 unmodified lines
102102 EntityItemProperties results;
103103 if (_entityTree) {
104104 _entityTree->lockForRead();
105− EntityItem* entity = const_cast<EntityItem*>(_entityTree->findEntityByEntityItemID(EntityItemID(identity)));
105+
106+ // FIX ME!!
107+ EntityItemPointer entity = nullptr; // const_cast<EntityItemPointer>(_entityTree->findEntityByEntityItemID(EntityItemID(identity)));
106108
107109 if (entity) {
108110 results = entity->getProperties();
@@ -137,7 +139,7 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& · 28 unmodified lines
137139
138140 // make sure the properties has a type, so that the encode can know which properties to include
139141 if (properties.getType() == EntityTypes::Unknown) {
140− EntityItem* entity = _entityTree->findEntityByEntityItemID(entityID);
142+ EntityItemPointer entity = _entityTree->findEntityByEntityItemID(entityID);
141143 if (entity) {
142144 // we need to change the outgoing properties, so we make a copy, modify, and send.
143145 EntityItemProperties modifiedProperties = properties;
@@ -161,7 +163,8 @@ void EntityScriptingInterface::deleteEntity(QUuid id) { · 17 unmodified lines
161163 if (_entityTree) {
162164 _entityTree->lockForWrite();
163165
164− EntityItem* entity = const_cast<EntityItem*>(_entityTree->findEntityByEntityItemID(entityID));
166+ // FIX ME!!
167+ EntityItemPointer entity = nullptr; // const_cast<EntityItemPointer>(_entityTree->findEntityByEntityItemID(entityID));
165168 if (entity) {
166169 if (entity->getLocked()) {
167170 shouldDelete = false;
@@ -183,7 +186,7 @@ QUuid EntityScriptingInterface::findClosestEntity(const glm::vec3& center, float · 15 unmodified lines
183186 EntityItemID result;
184187 if (_entityTree) {
185188 _entityTree->lockForRead();
186− const EntityItem* closestEntity = _entityTree->findClosestEntity(center, radius);
189+ EntityItemPointer closestEntity = _entityTree->findClosestEntity(center, radius);
187190 _entityTree->unlock();
188191 if (closestEntity) {
189192 result = closestEntity->getEntityItemID();
@@ -205,11 +208,11 @@ QVector<QUuid> EntityScriptingInterface::findEntities(const glm::vec3& center, f · 15 unmodified lines
205208 QVector<QUuid> result;
206209 if (_entityTree) {
207210 _entityTree->lockForRead();
208− QVector<const EntityItem*> entities;
211+ QVector<EntityItemPointer> entities;
209212 _entityTree->findEntities(center, radius, entities);
210213 _entityTree->unlock();
211214
212− foreach (const EntityItem* entity, entities) {
215+ foreach (EntityItemPointer entity, entities) {
213216 result << entity->getEntityItemID();
214217 }
215218 }
@@ -221,11 +224,11 @@ QVector<QUuid> EntityScriptingInterface::findEntitiesInBox(const glm::vec3& corn · 5 unmodified lines
221224 if (_entityTree) {
222225 _entityTree->lockForRead();
223226 AABox box(corner, dimensions);
224− QVector<EntityItem*> entities;
227+ QVector<EntityItemPointer> entities;
225228 _entityTree->findEntities(box, entities);
226229 _entityTree->unlock();
227230
228− foreach (const EntityItem* entity, entities) {
231+ foreach (EntityItemPointer entity, entities) {
229232 result << entity->getEntityItemID();
230233 }
231234 }
@@ -248,7 +251,7 @@ RayToEntityIntersectionResult EntityScriptingInterface::findRayIntersectionWorke · 16 unmodified lines
248251 RayToEntityIntersectionResult result;
249252 if (_entityTree) {
250253 OctreeElement* element;
251− EntityItem* intersectedEntity = NULL;
254+ EntityItemPointer intersectedEntity = NULL;
252255 result.intersects = _entityTree->findRayIntersection(ray.origin, ray.direction, element, result.distance, result.face,
253256 (void**)&intersectedEntity, lockType, &result.accurate,
254257 precisionPicking);