Files
fn_registry/cpp/functions/viz/surface_plot_3d.md
T
egutierrez 7eef2544ab feat: add C++ ImGui functions for core UI and visualization
Funciones C++/ImGui para dashboards (grid, panel, docking, sidebar, tabs),
visualizaciones (candlestick, gauge, histogram, pie, sparkline, heatmap,
scatter, line, bar, surface3d, kpi, table), grafos (force layout, renderer,
viewport, spatial hash, types) y utilidades (time series buffer, tracy zones,
memory/fps overlay, plot theme).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 00:10:18 +02:00

2.2 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, framework, params, output
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path framework params output
surface_plot_3d component cpp viz 1.0.0 pure void surface_plot_3d(const char* title, const float* values, int rows, int cols, float z_min, float z_max) [STUB] Renderiza una superficie 3D — requiere ImPlot3D (no vendoreado aun)
implot3d
chart
visualization
gpu
surface
3d
stub
false
imgui
false
cpp/functions/viz/surface_plot_3d.cpp imgui
name desc
title Titulo de la superficie, se muestra como header del plot
name desc
values Array row-major de alturas Z con dimension rows*cols
name desc
rows Numero de filas de la grilla de la superficie
name desc
cols Numero de columnas de la grilla de la superficie
name desc
z_min Valor minimo del eje Z para escalar el colormap
name desc
z_max Valor maximo del eje Z para escalar el colormap
Renderiza un placeholder informativo en el frame ImGui actual; cuando ImPlot3D este disponible, renderizara la superficie 3D

surface_plot_3d

STUB — la implementacion real requiere ImPlot3D, que todavia no esta vendoreado en cpp/vendor/implot3d/.

Mientras tanto la funcion renderiza un grupo ImGui con un mensaje informativo que muestra el titulo, las dimensiones de la grilla y el rango Z. La firma es definitiva y no cambiara cuando se integre ImPlot3D.

Dependencia pendiente

Para activar la implementacion real:

  1. Clonar o copiar ImPlot3D en cpp/vendor/implot3d/
  2. Anadir implot3d.cpp al build system (CMake / Makefile)
  3. Reemplazar el cuerpo de surface_plot_3d por la llamada a ImPlot3D::BeginPlot3D / ImPlot3D::PlotSurface / ImPlot3D::EndPlot3D
  4. Actualizar imports del .md a [imgui, implot3d] y quitar el tag stub

Uso

// values es un array row-major de rows*cols floats
float grid[4 * 4] = { ... };
surface_plot_3d("Mi Superficie", grid, 4, 4, -1.0f, 1.0f);

Debe llamarse dentro del render callback de fn::run_app (o cualquier contexto con un frame ImGui activo).