#37 Renderer-dependant (interactive) nodes

開啟中
caryoscelus7 年之前創建 · 1 條評論
尚未有任何內容
caryoscelus commented 7 年之前
所有者

Implementation idea: store renderer pointer in Context. This would be really easy to implement.

The only question is then interface that will be used to retrieve information from renderer. The most intuitive thing to do would be to just call by node name. E.g. something like

class MousePosition : Node<Geom::Point> {
public:
    Geom::Point get(shared_ptr<Context> ctx) const override {
        if (auto r = ctx->get_renderer()) {
            return r->get_value<Geom::Point>("MousePosition");
        }
        return {}; // or throw instead
    }
};
Implementation idea: store renderer pointer in Context. This would be really easy to implement. The only question is then interface that will be used to retrieve information from renderer. The most intuitive thing to do would be to just call by node name. E.g. something like ```c++ class MousePosition : Node<Geom::Point> { public: Geom::Point get(shared_ptr<Context> ctx) const override { if (auto r = ctx->get_renderer()) { return r->get_value<Geom::Point>("MousePosition"); } return {}; // or throw instead } }; ```
Sign in to join this conversation.
正在加載...
取消
保存
尚未有任何內容