History

Merge branch 'workload' of https://github.com/highfidelity/hifi into workload

samcake committed 8 years ago

Commit be3fdbe2 parents cd14fb6 7ed68ce85 files · +2743 −341Browse files

Showing the changes to interface/src/Application.cpp (1 of 85 files). Show all

Unified · Split

interface/src/Application.cpp+67−0
@@ -1593,6 +1593,73 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 1592 unmodified lines
15931593 }
15941594 });
15951595
1596+ EntityTree::setAddMaterialToEntityOperator([&](const QUuid& entityID, graphics::MaterialLayer material, const std::string& parentMaterialName) {
1597+ // try to find the renderable
1598+ auto renderable = getEntities()->renderableForEntityId(entityID);
1599+ if (renderable) {
1600+ renderable->addMaterial(material, parentMaterialName);
1601+ }
1602+
1603+ // even if we don't find it, try to find the entity
1604+ auto entity = getEntities()->getEntity(entityID);
1605+ if (entity) {
1606+ entity->addMaterial(material, parentMaterialName);
1607+ return true;
1608+ }
1609+ return false;
1610+ });
1611+ EntityTree::setRemoveMaterialFromEntityOperator([&](const QUuid& entityID, graphics::MaterialPointer material, const std::string& parentMaterialName) {
1612+ // try to find the renderable
1613+ auto renderable = getEntities()->renderableForEntityId(entityID);
1614+ if (renderable) {
1615+ renderable->removeMaterial(material, parentMaterialName);
1616+ }
1617+
1618+ // even if we don't find it, try to find the entity
1619+ auto entity = getEntities()->getEntity(entityID);
1620+ if (entity) {
1621+ entity->removeMaterial(material, parentMaterialName);
1622+ return true;
1623+ }
1624+ return false;
1625+ });
1626+
1627+ EntityTree::setAddMaterialToAvatarOperator([](const QUuid& avatarID, graphics::MaterialLayer material, const std::string& parentMaterialName) {
1628+ auto avatarManager = DependencyManager::get<AvatarManager>();
1629+ auto avatar = avatarManager->getAvatarBySessionID(avatarID);
1630+ if (avatar) {
1631+ avatar->addMaterial(material, parentMaterialName);
1632+ return true;
1633+ }
1634+ return false;
1635+ });
1636+ EntityTree::setRemoveMaterialFromAvatarOperator([](const QUuid& avatarID, graphics::MaterialPointer material, const std::string& parentMaterialName) {
1637+ auto avatarManager = DependencyManager::get<AvatarManager>();
1638+ auto avatar = avatarManager->getAvatarBySessionID(avatarID);
1639+ if (avatar) {
1640+ avatar->removeMaterial(material, parentMaterialName);
1641+ return true;
1642+ }
1643+ return false;
1644+ });
1645+
1646+ EntityTree::setAddMaterialToOverlayOperator([&](const QUuid& overlayID, graphics::MaterialLayer material, const std::string& parentMaterialName) {
1647+ auto overlay = _overlays.getOverlay(overlayID);
1648+ if (overlay) {
1649+ overlay->addMaterial(material, parentMaterialName);
1650+ return true;
1651+ }
1652+ return false;
1653+ });
1654+ EntityTree::setRemoveMaterialFromOverlayOperator([&](const QUuid& overlayID, graphics::MaterialPointer material, const std::string& parentMaterialName) {
1655+ auto overlay = _overlays.getOverlay(overlayID);
1656+ if (overlay) {
1657+ overlay->removeMaterial(material, parentMaterialName);
1658+ return true;
1659+ }
1660+ return false;
1661+ });
1662+
15961663 // Keyboard focus handling for Web overlays.
15971664 auto overlays = &(qApp->getOverlays());
15981665 connect(overlays, &Overlays::overlayDeleted, [=](const OverlayID& overlayID) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t