MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ inspect() [3/4]

MAYAFLUX_API void MayaFlux::Portal::Forma::inspect ( const std::shared_ptr< Nodes::Node > &  node)

Open a dedicated window inspecting a single Node and its modulator tree.

Definition at line 293 of file Forma.cpp.

294{
295 auto& atelier = internal::atelier();
296 const std::string title = Reflect::short_dynamic_type_name(node);
297
298 auto window = atelier.create_window(
299 Core::WindowCreateInfo { .title = title, .width = k_inspect_w, .height = k_inspect_h });
300
301 auto [layer, ctx] = atelier.create_layer(window, title);
302 g_inspect_surfaces.push_back(std::make_unique<Surface>(SurfaceConfig {
303 .window = std::move(window),
304 .layer = std::move(layer),
305 .ctx = std::move(ctx),
306 }));
307 auto& surface = *g_inspect_surfaces.back();
308 LayoutCursor cursor;
309 auto result = std::make_shared<InspectResult>(atelier.inspector().node(node, surface, cursor));
310 atelier.bridge().spawn_sync(surface.layer(),
311 result->group.header.header_id, [result] { result->tap_all(); });
312}
std::weak_ptr< Core::Window > window
Definition Picker.cpp:23
void spawn_sync(Layer &layer, uint32_t id, std::function< void()> sync_fn)
Spawn a presentation sync task scoped to a Layer.
Definition Bridge.cpp:450
InspectResult node(const std::shared_ptr< Nodes::Node > &n, Surface &surface, LayoutCursor &cursor, float x_min=-0.95F, float x_max=0.95F, float row_h=0.05F, int depth=0)
Inspect a single Node and its full modulator tree.
Definition NodeQuery.cpp:81
std::shared_ptr< Core::Window > create_window(const Core::WindowCreateInfo &info)
Create a window through the stored WindowManager and show it.
Definition Atelier.cpp:104
Inspector & inspector()
Inspector instance constructed during initialize.
Definition Atelier.cpp:90
Bridge & bridge()
Bridge instance constructed during initialize.
Definition Atelier.cpp:80
std::pair< std::shared_ptr< Layer >, std::shared_ptr< Context > > create_layer(const std::shared_ptr< Core::Window > &window, std::string name)
Construct a Layer and a Context wired to window.
Definition Atelier.cpp:150
std::string title
Window title/identifier.
Configuration for creating a single window instance.

References MayaFlux::Portal::Forma::internal::atelier(), MayaFlux::Portal::Forma::internal::Atelier::bridge(), MayaFlux::Portal::Forma::internal::Atelier::create_layer(), MayaFlux::Portal::Forma::internal::Atelier::create_window(), MayaFlux::Portal::Forma::internal::Atelier::inspector(), MayaFlux::Portal::Forma::Inspector::node(), MayaFlux::Reflect::short_dynamic_type_name(), MayaFlux::Portal::Forma::Bridge::spawn_sync(), MayaFlux::Core::WindowCreateInfo::title, window, and MayaFlux::Portal::Forma::SurfaceConfig::window.

+ Here is the call graph for this function: