History

cleaning

ericrius1 committed 11 years ago

Commit 47bc8f52 parents b4a9469 b46a430452 files · +16984 −14547Browse files

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

Unified · Split

libraries/entities/src/EntityScriptingInterface.cpp+48−22
@@ -32,7 +32,7 @@ EntityScriptingInterface::EntityScriptingInterface() : · 31 unmodified lines
3232 connect(nodeList.data(), &NodeList::canRezChanged, this, &EntityScriptingInterface::canRezChanged);
3333 }
3434
35−void EntityScriptingInterface::queueEntityMessage(PacketType packetType,
35+void EntityScriptingInterface::queueEntityMessage(PacketType::Value packetType,
3636 EntityItemID entityID, const EntityItemProperties& properties) {
3737 getEntityPacketSender()->queueEditEntityMessage(packetType, entityID, properties);
3838 }
@@ -93,7 +93,7 @@ QUuid EntityScriptingInterface::addEntity(const EntityItemProperties& properties · 54 unmodified lines
9393
9494 // queue the packet
9595 if (success) {
96− queueEntityMessage(PacketTypeEntityAdd, id, propertiesWithSimID);
96+ queueEntityMessage(PacketType::EntityAdd, id, propertiesWithSimID);
9797 }
9898
9999 return id;
@@ -118,6 +118,7 @@ EntityItemProperties EntityScriptingInterface::getEntityProperties(QUuid identit · 18 unmodified lines
118118 results.setSittingPoints(geometry->sittingPoints);
119119 Extents meshExtents = geometry->getUnscaledMeshExtents();
120120 results.setNaturalDimensions(meshExtents.maximum - meshExtents.minimum);
121+ results.calculateNaturalPosition(meshExtents.minimum, meshExtents.maximum);
121122 }
122123 }
123124
@@ -175,13 +176,13 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, EntityItemProperties proper · 51 unmodified lines
175176 entity->setLastBroadcast(usecTimestampNow());
176177 }
177178 _entityTree->unlock();
178− queueEntityMessage(PacketTypeEntityEdit, entityID, properties);
179+ queueEntityMessage(PacketType::EntityEdit, entityID, properties);
179180 return id;
180181 }
181182 return QUuid();
182183 }
183184
184− queueEntityMessage(PacketTypeEntityEdit, entityID, properties);
185+ queueEntityMessage(PacketType::EntityEdit, entityID, properties);
185186 return id;
186187 }
187188
@@ -419,7 +420,7 @@ bool EntityScriptingInterface::setVoxels(QUuid entityID, · 231 unmodified lines
419420 return false;
420421 }
421422
422− EntityItemPointer entity = static_cast<EntityItemPointer>(_entityTree->findEntityByEntityItemID(entityID));
423+ EntityItemPointer entity = _entityTree->findEntityByEntityItemID(entityID);
423424 if (!entity) {
424425 qCDebug(entities) << "EntityScriptingInterface::setVoxelSphere no entity with ID" << entityID;
425426 return false;
@@ -432,7 +433,7 @@ bool EntityScriptingInterface::setVoxels(QUuid entityID, · 6 unmodified lines
432433
433434 auto now = usecTimestampNow();
434435
435− PolyVoxEntityItem* polyVoxEntity = static_cast<PolyVoxEntityItem*>(entity.get());
436+ auto polyVoxEntity = std::dynamic_pointer_cast<PolyVoxEntityItem>(entity);
436437 _entityTree->lockForWrite();
437438 actor(*polyVoxEntity);
438439 entity->setLastEdited(now);
@@ -446,18 +447,29 @@ bool EntityScriptingInterface::setVoxels(QUuid entityID, · 7 unmodified lines
446447 properties.setVoxelDataDirty();
447448 properties.setLastEdited(now);
448449
449− queueEntityMessage(PacketTypeEntityEdit, entityID, properties);
450+ queueEntityMessage(PacketType::EntityEdit, entityID, properties);
450451 return true;
451452 }
452453
453−bool EntityScriptingInterface::setPoints(EntityItemPointer entity, std::function<bool(LineEntityItem&)> actor) {
454+bool EntityScriptingInterface::setPoints(QUuid entityID, std::function<bool(LineEntityItem&)> actor) {
454455 if (!_entityTree) {
455456 return false;
456457 }
457458
459+ EntityItemPointer entity = static_cast<EntityItemPointer>(_entityTree->findEntityByEntityItemID(entityID));
460+ if (!entity) {
461+ qCDebug(entities) << "EntityScriptingInterface::setPoints no entity with ID" << entityID;
462+ }
463+
464+ EntityTypes::EntityType entityType = entity->getType();
465+
466+ if (entityType != EntityTypes::Line) {
467+ return false;
468+ }
469+
458470 auto now = usecTimestampNow();
459471
460− LineEntityItem* lineEntity = static_cast<LineEntityItem*>(entity.get());
472+ auto lineEntity = std::static_pointer_cast<LineEntityItem>(entity);
461473 _entityTree->lockForWrite();
462474 bool success = actor(*lineEntity);
463475 entity->setLastEdited(now);
@@ -472,30 +484,44 @@ bool EntityScriptingInterface::setPoints(EntityItemPointer entity, std::function · 8 unmodified lines
472484 properties.setLastEdited(now);
473485
474486
475− queueEntityMessage(PacketTypeEntityEdit, entity->getID(), properties);
487+ queueEntityMessage(PacketType::EntityEdit, entityID, properties);
476488 return success;
477489 }
478490
479−bool EntityScriptingInterface::setPoints(EntityItemPointer entity, std::function<bool(PolyLineEntityItem&)> actor) {
491+bool EntityScriptingInterface::setPoints(QUuid entityID, std::function<bool(PolyLineEntityItem&)> actor) {
480492 if (!_entityTree) {
481493 return false;
482494 }
483−
495+
496+ EntityItemPointer entity = static_cast<EntityItemPointer>(_entityTree->findEntityByEntityItemID(entityID));
497+ if (!entity) {
498+ qCDebug(entities) << "EntityScriptingInterface::setPoints no entity with ID" << entityID;
499+ }
500+
501+ EntityTypes::EntityType entityType = entity->getType();
502+
503+ if (entityType != EntityTypes::Line) {
504+ return false;
505+ }
506+
484507 auto now = usecTimestampNow();
485− PolyLineEntityItem* PolyLineEntity = static_cast<PolyLineEntityItem*>(entity.get());
508+
509+ auto polyLineEntity = std::static_pointer_cast<PolyLineEntityItem>(entity);
486510 _entityTree->lockForWrite();
487− bool success = actor(*PolyLineEntity);
511+ bool success = actor(*polyLineEntity);
488512 entity->setLastEdited(now);
489513 entity->setLastBroadcast(now);
490514 _entityTree->unlock();
491−
515+
492516 _entityTree->lockForRead();
493517 EntityItemProperties properties = entity->getProperties();
494518 _entityTree->unlock();
495−
519+
496520 properties.setLinePointsDirty();
497521 properties.setLastEdited(now);
498− queueEntityMessage(PacketTypeEntityEdit, entity->getID(), properties);
522+
523+
524+ queueEntityMessage(PacketType::EntityEdit, entityID, properties);
499525 return success;
500526 }
501527
@@ -526,14 +552,14 @@ bool EntityScriptingInterface::setAllPoints(QUuid entityID, const QVector<glm::v · 24 unmodified lines
526552 EntityTypes::EntityType entityType = entity->getType();
527553
528554 if (entityType == EntityTypes::Line) {
529− return setPoints(entity, [points](LineEntityItem& lineEntity) -> bool
555+ return setPoints(entityID, [points](LineEntityItem& lineEntity) -> bool
530556 {
531557 return lineEntity.setLinePoints(points);
532558 });
533559 }
534560
535561 if (entityType == EntityTypes::PolyLine) {
536− return setPoints(entity, [points](PolyLineEntityItem& PolyLineEntity) -> bool
562+ return setPoints(entityID, [points](PolyLineEntityItem& PolyLineEntity) -> bool
537563 {
538564 return PolyLineEntity.setLinePoints(points);
539565 });
@@ -551,14 +577,14 @@ bool EntityScriptingInterface::appendPoint(QUuid entityID, const glm::vec3& poin · 11 unmodified lines
551577 EntityTypes::EntityType entityType = entity->getType();
552578
553579 if (entityType == EntityTypes::Line) {
554− return setPoints(entity, [point](LineEntityItem& lineEntity) -> bool
580+ return setPoints(entityID, [point](LineEntityItem& lineEntity) -> bool
555581 {
556582 return lineEntity.appendPoint(point);
557583 });
558584 }
559585
560586 if (entityType == EntityTypes::PolyLine) {
561− return setPoints(entity, [point](PolyLineEntityItem& PolyLineEntity) -> bool
587+ return setPoints(entityID, [point](PolyLineEntityItem& PolyLineEntity) -> bool
562588 {
563589 return PolyLineEntity.appendPoint(point);
564590 });
@@ -603,7 +629,7 @@ bool EntityScriptingInterface::actionWorker(const QUuid& entityID, · 38 unmodified lines
603629 properties.setActionDataDirty();
604630 auto now = usecTimestampNow();
605631 properties.setLastEdited(now);
606− queueEntityMessage(PacketTypeEntityEdit, entityID, properties);
632+ queueEntityMessage(PacketType::EntityEdit, entityID, properties);
607633
608634 return success;
609635 }