diff --git a/src/core/scene/globject.cpp b/src/core/scene/globject.cpp index 66ed526..d993f74 100644 --- a/src/core/scene/globject.cpp +++ b/src/core/scene/globject.cpp @@ -211,6 +211,12 @@ void ObjectBase::setVisible(bool v) { } +void ObjectBase::setVisibleForAllPresets(bool v) { + for (auto & p: presets) + p.visible = v; +} + + void ObjectBase::setReceiveShadows(bool on) { currentPreset().receive_shadow = on; setObjectsChanged(); diff --git a/src/core/scene/globject.h b/src/core/scene/globject.h index 096dc43..d7871e7 100644 --- a/src/core/scene/globject.h +++ b/src/core/scene/globject.h @@ -82,6 +82,10 @@ public: void setHidden(bool v) { setVisible(!v); } void show() { setVisible(true); } void hide() { setVisible(false); } + void setVisibleForAllPresets(bool v); + void setHiddenForAllPresets(bool v) { setVisibleForAllPresets(!v); } + void showForAllPresets() { setVisibleForAllPresets(true); } + void hideForAllPresets() { setVisibleForAllPresets(false); } bool isReceiveShadows() const { return currentPreset().receive_shadow; } bool isCastShadows() const { return currentPreset().cast_shadow; }