mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-05-21 03:48:32 -05:00
ScreenSpaceRenderabled enabled propery in GUI
This commit is contained in:
+18
-12
@@ -30,6 +30,7 @@
|
||||
#include <openspace/rendering/renderable.h>
|
||||
#include <openspace/scene/scene.h>
|
||||
#include <openspace/scene/scenegraphnode.h>
|
||||
#include <openspace/rendering/screenspacerenderable.h>
|
||||
|
||||
namespace openspace {
|
||||
|
||||
@@ -59,24 +60,29 @@ properties::Property* property(const std::string& uri) {
|
||||
else {
|
||||
// The URI consists of the following form at this stage:
|
||||
// <node name>.{<property owner>.}^(0..n)<property id>
|
||||
|
||||
const size_t nodeNameSeparator = uri.find(properties::PropertyOwner::URISeparator);
|
||||
if (nodeNameSeparator == std::string::npos) {
|
||||
LERROR("Malformed URI '" << uri << "': At least one '" << nodeNameSeparator
|
||||
const size_t nameSeparator = uri.find(properties::PropertyOwner::URISeparator);
|
||||
if (nameSeparator == std::string::npos) {
|
||||
LERROR("Malformed URI '" << uri << "': At least one '" << nameSeparator
|
||||
<< "' separator must be present.");
|
||||
return nullptr;
|
||||
}
|
||||
const std::string nodeName = uri.substr(0, nodeNameSeparator);
|
||||
const std::string remainingUri = uri.substr(nodeNameSeparator + 1);
|
||||
const std::string nameUri = uri.substr(0, nameSeparator);
|
||||
const std::string remainingUri = uri.substr(nameSeparator + 1);
|
||||
|
||||
SceneGraphNode* node = sceneGraphNode(nodeName);
|
||||
if (!node) {
|
||||
LERROR("Node '" << nodeName << "' did not exist");
|
||||
return nullptr;
|
||||
SceneGraphNode* node = sceneGraphNode(nameUri);
|
||||
if (node) {
|
||||
properties::Property* property = node->property(remainingUri);
|
||||
return property;
|
||||
}
|
||||
|
||||
std::shared_ptr<ScreenSpaceRenderable> ssr = OsEng.renderEngine().screenSpaceRenderable(nameUri);
|
||||
if(ssr){
|
||||
properties::Property* property = ssr->property(remainingUri);
|
||||
return property;
|
||||
}
|
||||
|
||||
properties::Property* property = node->property(remainingUri);
|
||||
return property;
|
||||
LERROR("Node or ScreenSpaceRenderable'" << nameUri << "' did not exist");
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user