Visuals And Composites API¶
Retained visual families, semantic composites, visual styles, and visual data setters.
Status: stable
This generated page lists exported C functions and their canonical public types
classified by the v0.4 C API reference policy. Raw Python ctypes call forms are
documented separately.
Use this page when you know the visual family, composite, geometry helper, or visual data setter you need.
Common workflows:
Functions: 224 Types: 90
Symbol Groups¶
| Group | Functions | Types | Headers |
|---|---|---|---|
| Band | 6 | 2 | include/datoviz/scene/plot.h, include/datoviz/scene/types.h |
| Bars | 5 | 3 | include/datoviz/scene/plot.h, include/datoviz/scene/types.h |
| Bezier | 1 | 1 | include/datoviz/geom.h, include/datoviz/geom/types.h |
| Composite | 4 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Depth Cueing | 2 | 4 | 3 headers |
| Geometry | 38 | 22 | 3 headers |
| Glyph | 2 | 0 | include/datoviz/scene.h |
| Graph | 16 | 3 | 3 headers |
| Image | 2 | 1 | include/datoviz/scene.h, include/datoviz/scene/enums.h |
| Labels | 11 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Limb | 0 | 1 | include/datoviz/scene/types.h |
| Marker | 5 | 2 | 3 headers |
| Materials | 5 | 4 | 3 headers |
| Mesh | 2 | 0 | include/datoviz/scene.h |
| Path | 4 | 1 | include/datoviz/scene.h, include/datoviz/scene/enums.h |
| Pixel | 1 | 0 | include/datoviz/scene.h |
| Point | 3 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Polygon | 16 | 4 | 4 headers |
| Polygons | 17 | 1 | include/datoviz/scene.h, include/datoviz/scene/types.h |
| Primitive | 1 | 0 | include/datoviz/scene.h |
| Segment | 2 | 1 | include/datoviz/scene.h, include/datoviz/scene/enums.h |
| Sphere | 2 | 2 | include/datoviz/scene.h, include/datoviz/scene/enums.h |
| Splat | 1 | 0 | include/datoviz/scene.h |
| Symbol | 7 | 5 | 3 headers |
| Tessellate | 2 | 0 | include/datoviz/geom.h |
| Tessellated | 1 | 1 | include/datoviz/geom.h, include/datoviz/geom/types.h |
| Triangulate | 1 | 0 | include/datoviz/geom.h |
| Triangulation | 1 | 2 | 3 headers |
| Vector | 4 | 2 | 3 headers |
| Visual | 46 | 20 | 6 headers |
| Volume | 16 | 5 | 3 headers |
Grouped function index
Band
| Function | Header |
|---|---|
dvz_band() |
include/datoviz/scene/plot.h |
dvz_band_desc() |
include/datoviz/scene/plot.h |
dvz_band_set_bounds() |
include/datoviz/scene/plot.h |
dvz_band_set_center() |
include/datoviz/scene/plot.h |
dvz_band_set_style() |
include/datoviz/scene/plot.h |
dvz_band_visual() |
include/datoviz/scene/plot.h |
Bars
| Function | Header |
|---|---|
dvz_bars() |
include/datoviz/scene/plot.h |
dvz_bars_desc() |
include/datoviz/scene/plot.h |
dvz_bars_set_intervals() |
include/datoviz/scene/plot.h |
dvz_bars_set_style() |
include/datoviz/scene/plot.h |
dvz_bars_visual() |
include/datoviz/scene/plot.h |
Bezier
| Function | Header |
|---|---|
dvz_bezier_tessellation_desc() |
include/datoviz/geom.h |
Composite
| Function | Header |
|---|---|
dvz_composite_destroy() |
include/datoviz/scene.h |
dvz_composite_visual() |
include/datoviz/scene.h |
dvz_composite_visual_at() |
include/datoviz/scene.h |
dvz_composite_visual_count() |
include/datoviz/scene.h |
Depth Cueing
| Function | Header |
|---|---|
dvz_depth_cue_desc() |
include/datoviz/scene.h |
dvz_visual_set_depth_cue() |
include/datoviz/scene.h |
Geometry
| Function | Header |
|---|---|
dvz_geometry() |
include/datoviz/geom.h |
dvz_geometry_arrow() |
include/datoviz/geom.h |
dvz_geometry_arrow_desc() |
include/datoviz/geom.h |
dvz_geometry_bounds() |
include/datoviz/geom.h |
dvz_geometry_compute_normals() |
include/datoviz/geom.h |
dvz_geometry_cone() |
include/datoviz/geom.h |
dvz_geometry_cone_desc() |
include/datoviz/geom.h |
dvz_geometry_contours() |
include/datoviz/geom.h |
dvz_geometry_contours_destroy() |
include/datoviz/geom.h |
dvz_geometry_cube() |
include/datoviz/geom.h |
dvz_geometry_cube_desc() |
include/datoviz/geom.h |
dvz_geometry_cylinder() |
include/datoviz/geom.h |
dvz_geometry_cylinder_desc() |
include/datoviz/geom.h |
dvz_geometry_destroy() |
include/datoviz/geom.h |
dvz_geometry_disc() |
include/datoviz/geom.h |
dvz_geometry_disc_desc() |
include/datoviz/geom.h |
dvz_geometry_edges() |
include/datoviz/geom.h |
dvz_geometry_edges_destroy() |
include/datoviz/geom.h |
dvz_geometry_merge() |
include/datoviz/geom.h |
dvz_geometry_obj() |
include/datoviz/geom.h |
dvz_geometry_obj_desc() |
include/datoviz/geom.h |
dvz_geometry_plane() |
include/datoviz/geom.h |
dvz_geometry_plane_desc() |
include/datoviz/geom.h |
dvz_geometry_regular_polygon() |
include/datoviz/geom.h |
dvz_geometry_regular_polygon_desc() |
include/datoviz/geom.h |
dvz_geometry_reset() |
include/datoviz/geom.h |
dvz_geometry_sector() |
include/datoviz/geom.h |
dvz_geometry_sector_desc() |
include/datoviz/geom.h |
dvz_geometry_sphere() |
include/datoviz/geom.h |
dvz_geometry_sphere_desc() |
include/datoviz/geom.h |
dvz_geometry_star() |
include/datoviz/geom.h |
dvz_geometry_star_desc() |
include/datoviz/geom.h |
dvz_geometry_surface_grid() |
include/datoviz/geom.h |
dvz_geometry_surface_grid_desc() |
include/datoviz/geom.h |
dvz_geometry_surface_grid_update_heights() |
include/datoviz/geom.h |
dvz_geometry_torus() |
include/datoviz/geom.h |
dvz_geometry_torus_desc() |
include/datoviz/geom.h |
dvz_geometry_transform() |
include/datoviz/geom.h |
Glyph
| Function | Header |
|---|---|
dvz_glyph() |
include/datoviz/scene.h |
dvz_glyph_set_atlas() |
include/datoviz/scene.h |
Graph
| Function | Header |
|---|---|
dvz_graph() |
include/datoviz/scene.h |
dvz_graph_composite() |
include/datoviz/scene.h |
dvz_graph_destroy() |
include/datoviz/scene.h |
dvz_graph_edge_style() |
include/datoviz/scene.h |
dvz_graph_set_edge_colors() |
include/datoviz/scene.h |
dvz_graph_set_edge_controls() |
include/datoviz/scene.h |
dvz_graph_set_edge_count() |
include/datoviz/scene.h |
dvz_graph_set_edge_endpoints() |
include/datoviz/scene.h |
dvz_graph_set_edge_ids() |
include/datoviz/scene.h |
dvz_graph_set_edge_style() |
include/datoviz/scene.h |
dvz_graph_set_edge_widths() |
include/datoviz/scene.h |
dvz_graph_set_node_colors() |
include/datoviz/scene.h |
dvz_graph_set_node_count() |
include/datoviz/scene.h |
dvz_graph_set_node_ids() |
include/datoviz/scene.h |
dvz_graph_set_node_positions() |
include/datoviz/scene.h |
dvz_graph_set_node_sizes() |
include/datoviz/scene.h |
Image
| Function | Header |
|---|---|
dvz_image() |
include/datoviz/scene.h |
dvz_image_set_sampling() |
include/datoviz/scene.h |
Labels
| Function | Header |
|---|---|
dvz_labels() |
include/datoviz/scene.h |
dvz_labels_clear_selected() |
include/datoviz/scene.h |
dvz_labels_set_background() |
include/datoviz/scene.h |
dvz_labels_set_boundary() |
include/datoviz/scene.h |
dvz_labels_set_fallback_seed() |
include/datoviz/scene.h |
dvz_labels_set_hidden() |
include/datoviz/scene.h |
dvz_labels_set_opacity() |
include/datoviz/scene.h |
dvz_labels_set_selected() |
include/datoviz/scene.h |
dvz_labels_set_slice_axis() |
include/datoviz/scene.h |
dvz_labels_set_slice_position() |
include/datoviz/scene.h |
dvz_labels_state() |
include/datoviz/scene.h |
Marker
| Function | Header |
|---|---|
dvz_marker() |
include/datoviz/scene.h |
dvz_marker_set_style() |
include/datoviz/scene.h |
dvz_marker_set_symbol() |
include/datoviz/scene.h |
dvz_marker_set_symbols() |
include/datoviz/scene.h |
dvz_marker_style() |
include/datoviz/scene.h |
Materials
| Function | Header |
|---|---|
dvz_limb_material_desc() |
include/datoviz/scene.h |
dvz_material_desc() |
include/datoviz/scene.h |
dvz_phong_material_desc() |
include/datoviz/scene.h |
dvz_standard_material_desc() |
include/datoviz/scene.h |
dvz_visual_set_material() |
include/datoviz/scene.h |
Mesh
| Function | Header |
|---|---|
dvz_mesh() |
include/datoviz/scene.h |
dvz_mesh_set_geometry() |
include/datoviz/scene.h |
Path
| Function | Header |
|---|---|
dvz_path() |
include/datoviz/scene.h |
dvz_path_set_caps() |
include/datoviz/scene.h |
dvz_path_set_join() |
include/datoviz/scene.h |
dvz_path_set_subpaths() |
include/datoviz/scene.h |
Pixel
| Function | Header |
|---|---|
dvz_pixel() |
include/datoviz/scene.h |
Point
| Function | Header |
|---|---|
dvz_point() |
include/datoviz/scene.h |
dvz_point_set_style() |
include/datoviz/scene.h |
dvz_point_style_desc() |
include/datoviz/scene.h |
Polygon
| Function | Header |
|---|---|
dvz_polygon() |
include/datoviz/scene.h |
dvz_polygon_composite() |
include/datoviz/scene.h |
dvz_polygon_desc() |
include/datoviz/geom.h |
dvz_polygon_destroy() |
include/datoviz/scene.h |
dvz_polygon_set_fill_color() |
include/datoviz/scene.h |
dvz_polygon_set_geometry() |
include/datoviz/scene.h |
dvz_polygon_set_hole() |
include/datoviz/scene.h |
dvz_polygon_set_id() |
include/datoviz/scene.h |
dvz_polygon_set_outer() |
include/datoviz/scene.h |
dvz_polygon_set_stroke_caps() |
include/datoviz/scene.h |
dvz_polygon_set_stroke_color() |
include/datoviz/scene.h |
dvz_polygon_set_stroke_join() |
include/datoviz/scene.h |
dvz_polygon_set_stroke_width_px() |
include/datoviz/scene.h |
dvz_polygon_set_style() |
include/datoviz/scene.h |
dvz_polygon_set_visible() |
include/datoviz/scene.h |
dvz_polygon_style() |
include/datoviz/scene.h |
Polygons
| Function | Header |
|---|---|
dvz_polygons() |
include/datoviz/scene.h |
dvz_polygons_add_region() |
include/datoviz/scene.h |
dvz_polygons_composite() |
include/datoviz/scene.h |
dvz_polygons_destroy() |
include/datoviz/scene.h |
dvz_polygons_set_region_fill_color() |
include/datoviz/scene.h |
dvz_polygons_set_region_fill_colors() |
include/datoviz/scene.h |
dvz_polygons_set_region_geometry() |
include/datoviz/scene.h |
dvz_polygons_set_region_id() |
include/datoviz/scene.h |
dvz_polygons_set_region_ids() |
include/datoviz/scene.h |
dvz_polygons_set_region_stroke_color() |
include/datoviz/scene.h |
dvz_polygons_set_region_stroke_colors() |
include/datoviz/scene.h |
dvz_polygons_set_region_stroke_width_px() |
include/datoviz/scene.h |
dvz_polygons_set_region_stroke_widths_px() |
include/datoviz/scene.h |
dvz_polygons_set_region_visibilities() |
include/datoviz/scene.h |
dvz_polygons_set_region_visible() |
include/datoviz/scene.h |
dvz_polygons_set_stroke_caps() |
include/datoviz/scene.h |
dvz_polygons_set_stroke_join() |
include/datoviz/scene.h |
Primitive
| Function | Header |
|---|---|
dvz_primitive() |
include/datoviz/scene.h |
Segment
| Function | Header |
|---|---|
dvz_segment() |
include/datoviz/scene.h |
dvz_segment_set_caps() |
include/datoviz/scene.h |
Sphere
| Function | Header |
|---|---|
dvz_sphere() |
include/datoviz/scene.h |
dvz_sphere_set_mode() |
include/datoviz/scene.h |
Splat
| Function | Header |
|---|---|
dvz_splat() |
include/datoviz/scene.h |
Symbol
| Function | Header |
|---|---|
dvz_symbol_bitmap() |
include/datoviz/scene.h |
dvz_symbol_builtin() |
include/datoviz/scene.h |
dvz_symbol_image_desc() |
include/datoviz/scene.h |
dvz_symbol_msdf() |
include/datoviz/scene.h |
dvz_symbol_sdf() |
include/datoviz/scene.h |
dvz_symbol_set() |
include/datoviz/scene.h |
dvz_symbol_svg_path() |
include/datoviz/scene.h |
Tessellate
| Function | Header |
|---|---|
dvz_tessellate_cubic_bezier() |
include/datoviz/geom.h |
dvz_tessellate_quadratic_bezier() |
include/datoviz/geom.h |
Tessellated
| Function | Header |
|---|---|
dvz_tessellated_path_destroy() |
include/datoviz/geom.h |
Triangulate
| Function | Header |
|---|---|
dvz_triangulate_polygon() |
include/datoviz/geom.h |
Triangulation
| Function | Header |
|---|---|
dvz_triangulation_desc() |
include/datoviz/geom.h |
Vector
| Function | Header |
|---|---|
dvz_vector() |
include/datoviz/scene.h |
dvz_vector_set_style() |
include/datoviz/scene.h |
dvz_vector_set_subpaths() |
include/datoviz/scene.h |
dvz_vector_style() |
include/datoviz/scene.h |
Visual
| Function | Header |
|---|---|
dvz_visual_alpha_mode() |
include/datoviz/scene.h |
dvz_visual_attach_desc() |
include/datoviz/scene.h |
dvz_visual_attr_count() |
include/datoviz/scene.h |
dvz_visual_attr_format() |
include/datoviz/scene.h |
dvz_visual_attr_info() |
include/datoviz/scene.h |
dvz_visual_attr_mutability() |
include/datoviz/scene.h |
dvz_visual_attr_source() |
include/datoviz/scene.h |
dvz_visual_attr_supported() |
include/datoviz/scene.h |
dvz_visual_blend_mode() |
include/datoviz/scene.h |
dvz_visual_bounds() |
include/datoviz/scene.h |
dvz_visual_clear_item_range() |
include/datoviz/scene.h |
dvz_visual_clear_transform() |
include/datoviz/scene.h |
dvz_visual_data() |
include/datoviz/scene.h |
dvz_visual_depth_test() |
include/datoviz/scene.h |
dvz_visual_destroy() |
include/datoviz/scene.h |
dvz_visual_family() |
include/datoviz/scene.h |
dvz_visual_family_name() |
include/datoviz/scene.h |
dvz_visual_get_item_range() |
include/datoviz/scene.h |
dvz_visual_get_transform() |
include/datoviz/scene.h |
dvz_visual_has_transform() |
include/datoviz/scene.h |
dvz_visual_id() |
include/datoviz/scene.h |
dvz_visual_set_alpha_mode() |
include/datoviz/scene.h |
dvz_visual_set_attr_buffer() |
include/datoviz/scene.h |
dvz_visual_set_attr_format() |
include/datoviz/scene.h |
dvz_visual_set_attr_mutability() |
include/datoviz/scene.h |
dvz_visual_set_attr_source() |
include/datoviz/scene.h |
dvz_visual_set_blend_mode() |
include/datoviz/scene.h |
dvz_visual_set_buffer() |
include/datoviz/scene.h |
dvz_visual_set_data() |
include/datoviz/scene.h |
dvz_visual_set_data_many() |
include/datoviz/scene.h |
dvz_visual_set_data_range() |
include/datoviz/scene.h |
dvz_visual_set_depth_test() |
include/datoviz/scene.h |
dvz_visual_set_field() |
include/datoviz/scene/field.h |
dvz_visual_set_index_data() |
include/datoviz/scene.h |
dvz_visual_set_item_range() |
include/datoviz/scene.h |
dvz_visual_set_link_keys() |
include/datoviz/scene/interaction.h |
dvz_visual_set_query_capabilities() |
include/datoviz/scene/interaction.h |
dvz_visual_set_scale() |
include/datoviz/scene/scale.h |
dvz_visual_set_shader_desc() |
include/datoviz/scene.h |
dvz_visual_set_strings() |
include/datoviz/scene.h |
dvz_visual_set_transform() |
include/datoviz/scene.h |
dvz_visual_set_transform_desc() |
include/datoviz/scene.h |
dvz_visual_set_visible() |
include/datoviz/scene.h |
dvz_visual_shader_desc() |
include/datoviz/scene.h |
dvz_visual_transform_desc() |
include/datoviz/scene.h |
dvz_visual_validate() |
include/datoviz/scene.h |
Volume
| Function | Header |
|---|---|
dvz_volume() |
include/datoviz/scene.h |
dvz_volume_clear_clipping() |
include/datoviz/scene.h |
dvz_volume_clear_clipping_plane() |
include/datoviz/scene.h |
dvz_volume_set_alpha_stops() |
include/datoviz/scene.h |
dvz_volume_set_axis_mapping() |
include/datoviz/scene.h |
dvz_volume_set_bounds() |
include/datoviz/scene.h |
dvz_volume_set_clipping_box() |
include/datoviz/scene.h |
dvz_volume_set_clipping_plane() |
include/datoviz/scene.h |
dvz_volume_set_opacity() |
include/datoviz/scene.h |
dvz_volume_set_render_mode() |
include/datoviz/scene.h |
dvz_volume_set_sampling() |
include/datoviz/scene.h |
dvz_volume_set_slice_axis() |
include/datoviz/scene.h |
dvz_volume_set_slice_position() |
include/datoviz/scene.h |
dvz_volume_set_step_count() |
include/datoviz/scene.h |
dvz_volume_set_value_range() |
include/datoviz/scene.h |
dvz_volume_state() |
include/datoviz/scene.h |
Band¶
Functions
dvz_band()¶
Create a retained band/ribbon attached to one panel.
DvzBand * dvz_band(
DvzPanel * panel,
const DvzBandDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzBand * |
the band object, or NULL on validation/allocation error |
panel |
DvzPanel * |
the panel |
desc |
const DvzBandDesc * |
optional band descriptor; NULL uses defaults |
Declared in include/datoviz/scene/plot.h:191.
dvz_band_desc()¶
Return the default band/ribbon descriptor.
DvzBandDesc dvz_band_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzBandDesc |
default band descriptor |
Related: dvz_band().
Declared in include/datoviz/scene/plot.h:60.
dvz_band_set_bounds()¶
Set lower/upper band bounds.
Arrays are copied into scene-owned storage. NaN values split the generated fill and paths into gaps.
DvzResult dvz_band_set_bounds(
DvzBand * band,
const double * x,
const double * lower,
const double * upper,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation/allocation error |
band |
DvzBand * |
the band object |
x |
const double * |
X coordinates |
lower |
const double * |
lower Y coordinates |
upper |
const double * |
upper Y coordinates |
count |
uint32_t |
number of samples |
Declared in include/datoviz/scene/plot.h:207.
dvz_band_set_center()¶
Set an explicit center line for the band.
If absent and the descriptor enables the center line, the line is derived from the bounds as
0.5 * (lower + upper). Arrays are copied into scene-owned storage. NaN values split the line.
DvzResult dvz_band_set_center(
DvzBand * band,
const double * x,
const double * y,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation/allocation error |
band |
DvzBand * |
the band object |
x |
const double * |
X coordinates |
y |
const double * |
Y coordinates |
count |
uint32_t |
number of samples |
Declared in include/datoviz/scene/plot.h:224.
dvz_band_set_style()¶
Update band style and rendering options while preserving bounds and center data.
The descriptor is copied. Enabling center or bound paths after construction creates the corresponding role visual.
DvzResult dvz_band_set_style(
DvzBand * band,
const DvzBandDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation/allocation error |
band |
DvzBand * |
the band object |
desc |
const DvzBandDesc * |
band descriptor |
Declared in include/datoviz/scene/plot.h:237.
dvz_band_visual()¶
Return a borrowed role visual from a band object.
Advanced inspection escape hatch. Valid roles are DVZ_PLOT_ROLE_FILL, DVZ_PLOT_ROLE_LINE,
and DVZ_PLOT_ROLE_BOUNDS.
DvzVisual * dvz_band_visual(
DvzBand * band,
DvzPlotRole role
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
borrowed visual, or NULL when unavailable |
band |
DvzBand * |
the band object |
role |
DvzPlotRole |
visual role |
Declared in include/datoviz/scene/plot.h:250.
Types
DvzBand · typedef
typedef struct DvzBand DvzBand;
Declared in include/datoviz/scene/types.h:97.
DvzBandDesc · record
struct DvzBandDesc {
uint32_t struct_size;
uint32_t flags;
DvzColor fill_color;
DvzColor line_color;
float line_width_px;
_Bool show_line;
_Bool show_bounds;
DvzColor bound_color;
float bound_width_px;
int32_t z_layer;
};
Declared in include/datoviz/scene/types.h:443.
Bars¶
Functions
dvz_bars()¶
Create a retained explicit-interval bar series attached to one panel.
DvzBars * dvz_bars(
DvzPanel * panel,
const DvzBarsDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzBars * |
the bars object, or NULL on validation/allocation error |
panel |
DvzPanel * |
the panel |
desc |
const DvzBarsDesc * |
optional bars descriptor; NULL uses defaults |
Declared in include/datoviz/scene/plot.h:137.
dvz_bars_desc()¶
Return the default bars descriptor.
DvzBarsDesc dvz_bars_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzBarsDesc |
default bars descriptor |
Related: dvz_bars().
Declared in include/datoviz/scene/plot.h:52.
dvz_bars_set_intervals()¶
Set explicit bar intervals and values.
For vertical bars, starts/ends are X interval edges and values are Y values from the baseline. For horizontal bars, starts/ends are Y interval edges and values are X values from the baseline. Arrays are copied into scene-owned storage.
DvzResult dvz_bars_set_intervals(
DvzBars * bars,
const double * starts,
const double * ends,
const double * values,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation/allocation error |
bars |
DvzBars * |
the bars object |
starts |
const double * |
interval start values |
ends |
const double * |
interval end values |
values |
const double * |
bar terminal values |
count |
uint32_t |
number of bars |
Declared in include/datoviz/scene/plot.h:154.
dvz_bars_set_style()¶
Update bar style and rendering options while preserving interval data.
The descriptor is copied. Enabling an outline after construction creates the outline role visual.
DvzResult dvz_bars_set_style(
DvzBars * bars,
const DvzBarsDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation/allocation error |
bars |
DvzBars * |
the bars object |
desc |
const DvzBarsDesc * |
bars descriptor |
Declared in include/datoviz/scene/plot.h:168.
dvz_bars_visual()¶
Return a borrowed role visual from a bars object.
Advanced inspection escape hatch. Valid roles are DVZ_PLOT_ROLE_FILL and
DVZ_PLOT_ROLE_OUTLINE.
DvzVisual * dvz_bars_visual(
DvzBars * bars,
DvzPlotRole role
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
borrowed visual, or NULL when unavailable |
bars |
DvzBars * |
the bars object |
role |
DvzPlotRole |
visual role |
Declared in include/datoviz/scene/plot.h:181.
Types
DvzBars · typedef
typedef struct DvzBars DvzBars;
Declared in include/datoviz/scene/types.h:96.
DvzBarsDesc · record
struct DvzBarsDesc {
uint32_t struct_size;
uint32_t flags;
DvzBarsOrientation orientation;
double baseline;
float gap_fraction;
DvzColor fill_color;
DvzColor outline_color;
float outline_width_px;
int32_t z_layer;
};
Declared in include/datoviz/scene/types.h:428.
DvzBarsOrientation · enum
enum DvzBarsOrientation {
DVZ_BARS_ORIENTATION_VERTICAL = 0,
DVZ_BARS_ORIENTATION_HORIZONTAL = 1,
};
Declared in include/datoviz/scene/types.h:421.
Bezier¶
Functions
dvz_bezier_tessellation_desc()¶
Return a default Bezier tessellation descriptor.
DvzBezierTessellationDesc dvz_bezier_tessellation_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzBezierTessellationDesc |
initialized Bezier tessellation descriptor |
Declared in include/datoviz/geom.h:428.
Types
DvzBezierTessellationDesc · record
struct DvzBezierTessellationDesc {
uint32_t struct_size;
uint32_t flags;
uint32_t segment_count;
double tolerance;
};
Declared in include/datoviz/geom/types.h:300.
Composite¶
Functions
dvz_composite_destroy()¶
Destroy a scene-owned composite render view.
void dvz_composite_destroy(
DvzComposite * composite
);
| Field | Type | Description |
|---|---|---|
composite |
DvzComposite * |
the composite |
Declared in include/datoviz/scene.h:3517.
dvz_composite_visual()¶
Return a generated visual by role name.
Polygon composites currently expose "fill" and "stroke" roles.
DvzVisual * dvz_composite_visual(
DvzComposite * composite,
const char * role
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the generated visual, or NULL when absent |
composite |
DvzComposite * |
the composite |
role |
const char * |
role name |
Declared in include/datoviz/scene.h:3548.
dvz_composite_visual_at()¶
Return a generated visual by role index.
DvzVisual * dvz_composite_visual_at(
DvzComposite * composite,
uint32_t index
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the generated visual, or NULL when out of range |
composite |
DvzComposite * |
the composite |
index |
uint32_t |
role index |
Declared in include/datoviz/scene.h:3536.
dvz_composite_visual_count()¶
Return the number of generated visuals owned by a composite.
uint32_t dvz_composite_visual_count(
const DvzComposite * composite
);
| Field | Type | Description |
|---|---|---|
| return | uint32_t |
generated visual count |
composite |
const DvzComposite * |
the composite |
Declared in include/datoviz/scene.h:3526.
Types
DvzComposite · typedef
typedef struct DvzComposite DvzComposite;
Declared in include/datoviz/scene/types.h:65.
Depth Cueing¶
Functions
dvz_depth_cue_desc()¶
Return default depth-cue options.
DvzDepthCueDesc dvz_depth_cue_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzDepthCueDesc |
depth-cue descriptor |
Declared in include/datoviz/scene.h:2500.
dvz_visual_set_depth_cue()¶
Configure depth cueing for a point, pixel, primitive, mesh, or sphere visual.
Primitive/mesh/sphere visuals use depth cueing through the material shader path. Point/pixel
visuals use the same cue parameters without lighting. The near_depth and far_depth values
are interpreted in the descriptor metric, where lower values are closer. The default metric is
normalized clip depth after the visual's scene transform. Pass NULL to disable depth cueing.
DvzResult dvz_visual_set_depth_cue(
DvzVisual * visual,
const DvzDepthCueDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
desc |
const DvzDepthCueDesc * |
the depth-cue descriptor, or NULL to disable depth cueing |
Declared in include/datoviz/scene.h:2515.
Types
DvzDepthCueDesc · record
struct DvzDepthCueDesc {
uint32_t struct_size;
uint32_t flags;
DvzDepthCueMode mode;
DvzDepthCueMetric metric;
DvzDepthCueFalloff falloff;
float near_depth;
float far_depth;
float strength;
float density;
float[4] background_color;
};
Declared in include/datoviz/scene/types.h:1042.
DvzDepthCueFalloff · enum
enum DvzDepthCueFalloff {
DVZ_DEPTH_CUE_FALLOFF_LINEAR = 0,
DVZ_DEPTH_CUE_FALLOFF_EXPONENTIAL = 1,
};
Declared in include/datoviz/scene/enums.h:385.
DvzDepthCueMetric · enum
enum DvzDepthCueMetric {
DVZ_DEPTH_CUE_METRIC_CLIP_DEPTH = 0,
DVZ_DEPTH_CUE_METRIC_EYE_DISTANCE = 1,
DVZ_DEPTH_CUE_METRIC_WORLD_DISTANCE = 2,
};
Declared in include/datoviz/scene/enums.h:377.
DvzDepthCueMode · enum
enum DvzDepthCueMode {
DVZ_DEPTH_CUE_NONE = 0,
DVZ_DEPTH_CUE_FADE_TO_BACKGROUND = 1,
DVZ_DEPTH_CUE_DESATURATE = 2,
DVZ_DEPTH_CUE_DARKEN = 3,
};
Declared in include/datoviz/scene/enums.h:368.
Geometry¶
Functions
dvz_geometry()¶
Allocate a geometry object with owned vertex and index buffers.
The returned object owns arrays for @p vertex_count vertices and @p index_count indices. Destroy
it with dvz_geometry_destroy().
DvzGeometry * dvz_geometry(
uint32_t vertex_count,
uint32_t index_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on invalid input or allocation failure |
vertex_count |
uint32_t |
number of vertices to allocate; may be zero for an empty geometry |
index_count |
uint32_t |
number of indices to allocate; may be zero for non-indexed geometry |
Declared in include/datoviz/geom.h:50.
dvz_geometry_arrow()¶
Create an indexed Z-axis arrow geometry.
DvzGeometry * dvz_geometry_arrow(
const DvzGeometryArrowDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryArrowDesc * |
optional borrowed arrow descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:381.
dvz_geometry_arrow_desc()¶
Return a default arrow geometry descriptor.
DvzGeometryArrowDesc dvz_geometry_arrow_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryArrowDesc |
initialized arrow descriptor |
Related: dvz_geometry_arrow().
Declared in include/datoviz/geom.h:372.
dvz_geometry_bounds()¶
Compute the bounds of a geometry object's positions.
DvzGeometryBounds dvz_geometry_bounds(
const DvzGeometry * geometry
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryBounds |
the geometry bounds, or an empty zero bounds when no vertices exist |
geometry |
const DvzGeometry * |
geometry to inspect; must not be NULL |
Declared in include/datoviz/geom.h:79.
dvz_geometry_compute_normals()¶
Recompute smooth vertex normals from triangle indices.
DvzResult dvz_geometry_compute_normals(
DvzGeometry * geometry
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on invalid input |
geometry |
DvzGeometry * |
indexed triangle geometry to update; must not be NULL |
Declared in include/datoviz/geom.h:89.
dvz_geometry_cone()¶
Create an indexed Z-axis cone geometry.
DvzGeometry * dvz_geometry_cone(
const DvzGeometryConeDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryConeDesc * |
optional borrowed cone descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:347.
dvz_geometry_cone_desc()¶
Return a default cone geometry descriptor.
DvzGeometryConeDesc dvz_geometry_cone_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryConeDesc |
initialized cone descriptor |
Related: dvz_geometry_cone().
Declared in include/datoviz/geom.h:338.
dvz_geometry_contours()¶
Extract contour line segments from indexed triangle geometry and per-vertex scalar values.
DvzGeometryContours * dvz_geometry_contours(
const DvzGeometry * geometry,
const double * values,
uint32_t value_count,
const double * levels,
uint32_t level_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryContours * |
new owned contour segments, or NULL on invalid input or allocation failure; destroy with dvz_geometry_contours_destroy() |
geometry |
const DvzGeometry * |
borrowed indexed triangle geometry; must not be NULL |
values |
const double * |
array containing one scalar per geometry vertex; must not be NULL |
value_count |
uint32_t |
number of values; must equal the geometry vertex count |
levels |
const double * |
array of contour levels; must not be NULL |
level_count |
uint32_t |
number of contour levels; must be positive |
Declared in include/datoviz/geom.h:148.
dvz_geometry_contours_destroy()¶
Destroy extracted contour segments.
void dvz_geometry_contours_destroy(
DvzGeometryContours * contours
);
| Field | Type | Description |
|---|---|---|
contours |
DvzGeometryContours * |
owned contour segment list to destroy; may be NULL |
Declared in include/datoviz/geom.h:159.
dvz_geometry_cube()¶
Create an indexed cube geometry.
DvzGeometry * dvz_geometry_cube(
const DvzGeometryCubeDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryCubeDesc * |
optional borrowed cube descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:177.
dvz_geometry_cube_desc()¶
Return a default cube geometry descriptor.
DvzGeometryCubeDesc dvz_geometry_cube_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryCubeDesc |
initialized cube descriptor |
Related: dvz_geometry_cube().
Declared in include/datoviz/geom.h:168.
dvz_geometry_cylinder()¶
Create an indexed Z-axis cylinder geometry.
DvzGeometry * dvz_geometry_cylinder(
const DvzGeometryCylinderDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryCylinderDesc * |
optional borrowed cylinder descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:330.
dvz_geometry_cylinder_desc()¶
Return a default cylinder geometry descriptor.
DvzGeometryCylinderDesc dvz_geometry_cylinder_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryCylinderDesc |
initialized cylinder descriptor |
Related: dvz_geometry_cylinder().
Declared in include/datoviz/geom.h:321.
dvz_geometry_destroy()¶
Destroy a geometry object.
void dvz_geometry_destroy(
DvzGeometry * geometry
);
| Field | Type | Description |
|---|---|---|
geometry |
DvzGeometry * |
owned geometry to destroy; may be NULL |
Declared in include/datoviz/geom.h:69.
dvz_geometry_disc()¶
Create an indexed XY disc geometry.
DvzGeometry * dvz_geometry_disc(
const DvzGeometryDiscDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryDiscDesc * |
optional borrowed disc descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:262.
dvz_geometry_disc_desc()¶
Return a default disc geometry descriptor.
DvzGeometryDiscDesc dvz_geometry_disc_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryDiscDesc |
initialized disc descriptor |
Related: dvz_geometry_disc().
Declared in include/datoviz/geom.h:253.
dvz_geometry_edges()¶
Derive a unique edge list from indexed triangle geometry.
DvzGeometryEdges * dvz_geometry_edges(
const DvzGeometry * geometry
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryEdges * |
new owned edge list, or NULL on invalid input or allocation failure; destroy with dvz_geometry_edges_destroy() |
geometry |
const DvzGeometry * |
borrowed indexed triangle geometry; must not be NULL |
Declared in include/datoviz/geom.h:124.
dvz_geometry_edges_destroy()¶
Destroy a derived geometry edge list.
void dvz_geometry_edges_destroy(
DvzGeometryEdges * edges
);
| Field | Type | Description |
|---|---|---|
edges |
DvzGeometryEdges * |
owned edge list to destroy; may be NULL |
Declared in include/datoviz/geom.h:133.
dvz_geometry_merge()¶
Merge several geometry objects into one indexed geometry.
DvzGeometry * dvz_geometry_merge(
uint32_t count,
const DvzGeometry *const * geometries
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned merged geometry, or NULL on invalid input or allocation failure; destroy with dvz_geometry_destroy() |
count |
uint32_t |
number of input geometry pointers; must be positive |
geometries |
const DvzGeometry *const * |
array of @p count borrowed geometry pointers; entries must not be NULL |
Declared in include/datoviz/geom.h:113.
dvz_geometry_obj()¶
Load a Wavefront OBJ mesh as indexed geometry.
The first loader slice supports v, vn, and polygonal f records. Faces are triangulated as
fans and texture coordinates/materials are ignored.
DvzGeometry * dvz_geometry_obj(
const char * filename,
const DvzGeometryObjDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on unsupported input, allocation, or I/O failure; destroy with dvz_geometry_destroy() |
filename |
const char * |
OBJ file path; must not be NULL |
desc |
const DvzGeometryObjDesc * |
optional borrowed loader descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:403.
dvz_geometry_obj_desc()¶
Return a default Wavefront OBJ geometry loader descriptor.
DvzGeometryObjDesc dvz_geometry_obj_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryObjDesc |
initialized OBJ loader descriptor |
Related: dvz_geometry_obj().
Declared in include/datoviz/geom.h:389.
dvz_geometry_plane()¶
Create an indexed XY plane geometry.
DvzGeometry * dvz_geometry_plane(
const DvzGeometryPlaneDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryPlaneDesc * |
optional borrowed plane descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:195.
dvz_geometry_plane_desc()¶
Return a default plane geometry descriptor.
DvzGeometryPlaneDesc dvz_geometry_plane_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryPlaneDesc |
initialized plane descriptor |
Related: dvz_geometry_plane().
Declared in include/datoviz/geom.h:186.
dvz_geometry_regular_polygon()¶
Create an indexed XY regular-polygon geometry.
DvzGeometry * dvz_geometry_regular_polygon(
const DvzGeometryRegularPolygonDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryRegularPolygonDesc * |
optional borrowed regular-polygon descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:296.
dvz_geometry_regular_polygon_desc()¶
Return a default regular-polygon geometry descriptor.
DvzGeometryRegularPolygonDesc dvz_geometry_regular_polygon_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryRegularPolygonDesc |
initialized regular-polygon descriptor |
Related: dvz_geometry_regular_polygon().
Declared in include/datoviz/geom.h:287.
dvz_geometry_reset()¶
Free all buffers owned by a geometry object and reset it to an empty state.
DvzResult dvz_geometry_reset(
DvzGeometry * geometry
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on validation error |
geometry |
DvzGeometry * |
geometry to reset; must not be NULL |
Declared in include/datoviz/geom.h:60.
dvz_geometry_sector()¶
Create an indexed XY sector geometry.
DvzGeometry * dvz_geometry_sector(
const DvzGeometrySectorDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometrySectorDesc * |
optional borrowed sector descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:279.
dvz_geometry_sector_desc()¶
Return a default sector geometry descriptor.
DvzGeometrySectorDesc dvz_geometry_sector_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometrySectorDesc |
initialized sector descriptor |
Related: dvz_geometry_sector().
Declared in include/datoviz/geom.h:270.
dvz_geometry_sphere()¶
Create an indexed UV-sphere geometry.
DvzGeometry * dvz_geometry_sphere(
const DvzGeometrySphereDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometrySphereDesc * |
optional borrowed sphere descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:213.
dvz_geometry_sphere_desc()¶
Return a default sphere geometry descriptor.
DvzGeometrySphereDesc dvz_geometry_sphere_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometrySphereDesc |
initialized sphere descriptor |
Related: dvz_geometry_sphere().
Declared in include/datoviz/geom.h:204.
dvz_geometry_star()¶
Create an indexed XY star geometry.
DvzGeometry * dvz_geometry_star(
const DvzGeometryStarDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryStarDesc * |
optional borrowed star descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:313.
dvz_geometry_star_desc()¶
Return a default star geometry descriptor.
DvzGeometryStarDesc dvz_geometry_star_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryStarDesc |
initialized star descriptor |
Related: dvz_geometry_star().
Declared in include/datoviz/geom.h:304.
dvz_geometry_surface_grid()¶
Create an indexed structured surface-grid geometry.
DvzGeometry * dvz_geometry_surface_grid(
const DvzGeometrySurfaceGridDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometrySurfaceGridDesc * |
borrowed surface-grid descriptor; must not be NULL |
Declared in include/datoviz/geom.h:231.
dvz_geometry_surface_grid_desc()¶
Return a default surface-grid geometry descriptor.
DvzGeometrySurfaceGridDesc dvz_geometry_surface_grid_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometrySurfaceGridDesc |
initialized surface-grid descriptor |
Related: dvz_geometry_surface_grid().
Declared in include/datoviz/geom.h:222.
dvz_geometry_surface_grid_update_heights()¶
Update the heights of an existing structured surface-grid geometry.
DvzResult dvz_geometry_surface_grid_update_heights(
DvzGeometry * geometry,
const double * heights,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on invalid input |
geometry |
DvzGeometry * |
surface-grid geometry to update; must not be NULL |
heights |
const double * |
row-major height array; must not be NULL |
count |
uint32_t |
number of height values; must equal the grid vertex count |
Declared in include/datoviz/geom.h:244.
dvz_geometry_torus()¶
Create an indexed torus geometry around the Z axis.
DvzGeometry * dvz_geometry_torus(
const DvzGeometryTorusDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on failure; destroy with dvz_geometry_destroy() |
desc |
const DvzGeometryTorusDesc * |
optional borrowed torus descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:364.
dvz_geometry_torus_desc()¶
Return a default torus geometry descriptor.
DvzGeometryTorusDesc dvz_geometry_torus_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometryTorusDesc |
initialized torus descriptor |
Related: dvz_geometry_torus().
Declared in include/datoviz/geom.h:355.
dvz_geometry_transform()¶
Apply an affine transform to positions and normals in place.
DvzResult dvz_geometry_transform(
DvzGeometry * geometry,
dmat4 transform
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on invalid input |
geometry |
DvzGeometry * |
geometry to update in place; must not be NULL |
transform |
dmat4 |
affine 4x4 transform matrix |
Declared in include/datoviz/geom.h:100.
Types
DvzGeometry · record
struct DvzGeometry {
DvzGeometryType type;
uint32_t flags;
uint32_t vertex_count;
uint32_t index_count;
uint32_t grid_rows;
uint32_t grid_cols;
dvec3 grid_origin;
dvec3 grid_row_basis;
dvec3 grid_col_basis;
dvec3 grid_height_axis;
double grid_height_scale;
dvec3 * positions;
dvec3 * normals;
DvzColor * colors;
dvec2 * texcoords;
DvzIndex * indices;
};
Declared in include/datoviz/geom/types.h:61.
DvzGeometryArrowDesc · record
struct DvzGeometryArrowDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double length;
double shaft_radius;
double head_radius;
double head_length;
uint32_t sectors;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:248.
DvzGeometryBounds · record
struct DvzGeometryBounds {
double xmin;
double xmax;
double ymin;
double ymax;
double zmin;
double zmax;
};
Declared in include/datoviz/geom/types.h:90.
DvzGeometryConeDesc · record
struct DvzGeometryConeDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double radius;
double height;
uint32_t sectors;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:221.
DvzGeometryContourSegment · record
struct DvzGeometryContourSegment {
dvec3 p0;
dvec3 p1;
double level;
uint32_t level_index;
uint32_t face_index;
};
Declared in include/datoviz/geom/types.h:339.
DvzGeometryContours · record
struct DvzGeometryContours {
uint32_t segment_count;
DvzGeometryContourSegment * segments;
};
Declared in include/datoviz/geom/types.h:351.
DvzGeometryCubeDesc · record
struct DvzGeometryCubeDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double size;
DvzColor color;
const DvzColor * face_colors;
uint32_t face_color_count;
};
Declared in include/datoviz/geom/types.h:97.
DvzGeometryCylinderDesc · record
struct DvzGeometryCylinderDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double radius;
double height;
uint32_t sectors;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:208.
DvzGeometryDiscDesc · record
struct DvzGeometryDiscDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double radius;
uint32_t segments;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:157.
DvzGeometryEdge · record
struct DvzGeometryEdge {
DvzIndex v0;
DvzIndex v1;
uint32_t face0;
uint32_t face1;
uint32_t adjacent_count;
uint32_t flags;
};
Declared in include/datoviz/geom/types.h:318.
DvzGeometryEdgeFlags · enum
enum DvzGeometryEdgeFlags {
DVZ_GEOMETRY_EDGE_NONE = 0,
DVZ_GEOMETRY_EDGE_BOUNDARY = 1,
DVZ_GEOMETRY_EDGE_NONMANIFOLD = 2,
};
Declared in include/datoviz/geom/enums.h:66.
DvzGeometryEdges · record
struct DvzGeometryEdges {
uint32_t edge_count;
DvzGeometryEdge * edges;
};
Declared in include/datoviz/geom/types.h:331.
DvzGeometryIndexingFlags · enum
enum DvzGeometryIndexingFlags {
DVZ_GEOMETRY_INDEXING_NONE = 0,
DVZ_GEOMETRY_INDEXING_TRIANGLES = 1,
DVZ_GEOMETRY_INDEXING_SURFACE_GRID = 2,
DVZ_GEOMETRY_INDEXING_TRIANGULATION = 4,
};
Declared in include/datoviz/geom/enums.h:46.
DvzGeometryObjDesc · record
struct DvzGeometryObjDesc {
uint32_t struct_size;
uint32_t flags;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:263.
DvzGeometryPlaneDesc · record
struct DvzGeometryPlaneDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double width;
double height;
double z;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:110.
DvzGeometryRegularPolygonDesc · record
struct DvzGeometryRegularPolygonDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double radius;
uint32_t sides;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:183.
DvzGeometrySectorDesc · record
struct DvzGeometrySectorDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double radius;
double start_angle;
double sweep_angle;
uint32_t segments;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:169.
DvzGeometrySphereDesc · record
struct DvzGeometrySphereDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double radius;
uint32_t rings;
uint32_t sectors;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:123.
DvzGeometryStarDesc · record
struct DvzGeometryStarDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double outer_radius;
double inner_radius;
uint32_t points;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:195.
DvzGeometrySurfaceGridDesc · record
struct DvzGeometrySurfaceGridDesc {
uint32_t struct_size;
uint32_t flags;
uint32_t rows;
uint32_t cols;
const double * heights;
const DvzColor * colors;
dvec3 origin;
dvec3 row_basis;
dvec3 col_basis;
dvec3 height_axis;
double height_scale;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:136.
DvzGeometryTorusDesc · record
struct DvzGeometryTorusDesc {
uint32_t struct_size;
uint32_t flags;
dvec3 center;
double major_radius;
double minor_radius;
uint32_t rings;
uint32_t sectors;
DvzColor color;
};
Declared in include/datoviz/geom/types.h:234.
DvzGeometryType · enum
enum DvzGeometryType {
DVZ_GEOMETRY_NONE = 0,
DVZ_GEOMETRY_CUSTOM = 1,
DVZ_GEOMETRY_CUBE = 2,
DVZ_GEOMETRY_PLANE = 3,
DVZ_GEOMETRY_SURFACE_GRID = 4,
DVZ_GEOMETRY_SPHERE = 5,
DVZ_GEOMETRY_CYLINDER = 6,
DVZ_GEOMETRY_CONE = 7,
DVZ_GEOMETRY_TORUS = 8,
DVZ_GEOMETRY_ARROW = 9,
};
Declared in include/datoviz/geom/enums.h:29.
Glyph¶
Functions
dvz_glyph()¶
Create a glyph visual.
Renders atlas-backed glyph quads with position (vec3 anchor), bounds (vec4 local pixel
bounds), texcoords (vec4 atlas UV bounds), color (RGBA8), angle (float radians), and a
bound 2D sampled field. Positive angle rotates counter-clockwise in rendered y-up coordinates.
DvzVisual * dvz_glyph(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:3768.
dvz_glyph_set_atlas()¶
Bind a font atlas to a glyph visual.
This configures the atlas sampled field, distance-field encoding, and distance range used by the glyph shader. The atlas remains owned by the font's scene and must outlive the glyph visual.
DvzResult dvz_glyph_set_atlas(
DvzVisual * visual,
const DvzTextAtlas * atlas
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the glyph visual |
atlas |
const DvzTextAtlas * |
the text atlas |
Declared in include/datoviz/scene.h:3781.
Graph¶
Functions
dvz_graph()¶
Create a scene-owned semantic graph object.
A graph stores user-provided node positions and indexed edges. Layout algorithms are intentionally
external to the first public API slice and can update node positions through
dvz_graph_set_node_positions().
DvzGraph * dvz_graph(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzGraph * |
the graph, or NULL on allocation failure |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
reserved graph flags |
Declared in include/datoviz/scene.h:2948.
dvz_graph_composite()¶
Create a scene-owned composite render view for a graph.
Graph composites expose "edges" and "nodes" roles.
DvzComposite * dvz_graph_composite(
DvzGraph * graph,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzComposite * |
the composite, or NULL on allocation failure |
graph |
DvzGraph * |
the source graph |
flags |
uint32_t |
reserved composite flags |
Declared in include/datoviz/scene.h:3145.
dvz_graph_destroy()¶
Destroy a scene-owned graph object.
void dvz_graph_destroy(
DvzGraph * graph
);
| Field | Type | Description |
|---|---|---|
graph |
DvzGraph * |
the graph |
Declared in include/datoviz/scene.h:2956.
dvz_graph_edge_style()¶
Return the default graph edge style descriptor.
DvzGraphEdgeStyle dvz_graph_edge_style(void);
| Field | Type | Description |
|---|---|---|
| return | DvzGraphEdgeStyle |
default graph edge style |
Declared in include/datoviz/scene.h:2964.
dvz_graph_set_edge_colors()¶
Set a range of graph edge colors.
DvzResult dvz_graph_set_edge_colors(
DvzGraph * graph,
uint32_t first_edge,
uint32_t edge_count,
const DvzColor * colors
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_edge |
uint32_t |
first edge index |
edge_count |
uint32_t |
number of edges |
colors |
const DvzColor * |
borrowed RGBA colors |
Declared in include/datoviz/scene.h:3118.
dvz_graph_set_edge_controls()¶
Configure explicit cubic Bezier control points for graph edges.
If omitted, Bezier mode derives gentle XY control points from each edge's endpoints.
DvzResult dvz_graph_set_edge_controls(
DvzGraph * graph,
uint32_t first_edge,
uint32_t edge_count,
const dvec3 * control0,
const dvec3 * control1
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_edge |
uint32_t |
first edge index |
edge_count |
uint32_t |
number of edge controls to update |
control0 |
const dvec3 * |
borrowed first control point array |
control1 |
const dvec3 * |
borrowed second control point array |
Declared in include/datoviz/scene.h:3075.
dvz_graph_set_edge_count()¶
Replace the graph edge array and reset edge style defaults.
Edge endpoints are left at their default values until dvz_graph_set_edge_endpoints() is called.
DvzResult dvz_graph_set_edge_count(
DvzGraph * graph,
uint32_t edge_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on invalid endpoints or allocation failure |
graph |
DvzGraph * |
the graph |
edge_count |
uint32_t |
number of edges |
Declared in include/datoviz/scene.h:3002.
dvz_graph_set_edge_endpoints()¶
Update graph edge endpoints.
Edge endpoints reference node indices in the current graph node array.
DvzResult dvz_graph_set_edge_endpoints(
DvzGraph * graph,
uint32_t first_edge,
uint32_t edge_count,
const uint32_t * endpoints
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on invalid endpoints or allocation failure |
graph |
DvzGraph * |
the graph |
first_edge |
uint32_t |
first edge index |
edge_count |
uint32_t |
number of edges |
endpoints |
const uint32_t * |
borrowed packed endpoint array: source0, target0, source1, target1, ... |
Declared in include/datoviz/scene.h:3017.
dvz_graph_set_edge_ids()¶
Set stable graph edge user ids.
DvzResult dvz_graph_set_edge_ids(
DvzGraph * graph,
uint32_t first_edge,
uint32_t edge_count,
const uint64_t * ids
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_edge |
uint32_t |
first edge index |
edge_count |
uint32_t |
number of edges |
ids |
const uint64_t * |
borrowed user-id array |
Declared in include/datoviz/scene.h:3045.
dvz_graph_set_edge_style()¶
Configure graph edge rendering.
DVZ_GRAPH_EDGE_MODE_SEGMENT lowers edges to fast independent segment visuals.
DVZ_GRAPH_EDGE_MODE_PATH lowers straight edges to high-quality path strokes.
DVZ_GRAPH_EDGE_MODE_BEZIER lowers edges to tessellated cubic Bezier path strokes.
DvzResult dvz_graph_set_edge_style(
DvzGraph * graph,
const DvzGraphEdgeStyle * style
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
style |
const DvzGraphEdgeStyle * |
edge style descriptor |
Declared in include/datoviz/scene.h:3060.
dvz_graph_set_edge_widths()¶
Set a range of graph edge stroke widths in pixels.
DvzResult dvz_graph_set_edge_widths(
DvzGraph * graph,
uint32_t first_edge,
uint32_t edge_count,
const float * widths
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_edge |
uint32_t |
first edge index |
edge_count |
uint32_t |
number of edges |
widths |
const float * |
borrowed edge widths |
Declared in include/datoviz/scene.h:3132.
dvz_graph_set_node_colors()¶
Set a range of graph node colors.
DvzResult dvz_graph_set_node_colors(
DvzGraph * graph,
uint32_t first_node,
uint32_t node_count,
const DvzColor * colors
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_node |
uint32_t |
first node index |
node_count |
uint32_t |
number of nodes |
colors |
const DvzColor * |
borrowed RGBA colors |
Declared in include/datoviz/scene.h:3090.
dvz_graph_set_node_count()¶
Replace the graph node array and reset node style defaults.
Existing edges are discarded because their endpoints may no longer be valid. Call
dvz_graph_set_node_positions() after this function to set or update semantic node positions.
DvzResult dvz_graph_set_node_count(
DvzGraph * graph,
uint32_t node_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
node_count |
uint32_t |
number of nodes |
Declared in include/datoviz/scene.h:2977.
dvz_graph_set_node_ids()¶
Set stable graph node user ids.
DvzResult dvz_graph_set_node_ids(
DvzGraph * graph,
uint32_t first_node,
uint32_t node_count,
const uint64_t * ids
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_node |
uint32_t |
first node index |
node_count |
uint32_t |
number of nodes |
ids |
const uint64_t * |
borrowed user-id array |
Declared in include/datoviz/scene.h:3031.
dvz_graph_set_node_positions()¶
Update graph node positions without changing node styles or edges.
DvzResult dvz_graph_set_node_positions(
DvzGraph * graph,
uint32_t first_node,
uint32_t node_count,
const dvec3 * positions
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_node |
uint32_t |
first node index |
node_count |
uint32_t |
number of node positions to update |
positions |
const dvec3 * |
borrowed node positions |
Declared in include/datoviz/scene.h:2989.
dvz_graph_set_node_sizes()¶
Set a range of graph node sizes in pixels.
DvzResult dvz_graph_set_node_sizes(
DvzGraph * graph,
uint32_t first_node,
uint32_t node_count,
const float * sizes
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
graph |
DvzGraph * |
the graph |
first_node |
uint32_t |
first node index |
node_count |
uint32_t |
number of nodes |
sizes |
const float * |
borrowed node sizes |
Declared in include/datoviz/scene.h:3104.
Types
DvzGraph · typedef
typedef struct DvzGraph DvzGraph;
Declared in include/datoviz/scene/types.h:68.
DvzGraphEdgeMode · enum
enum DvzGraphEdgeMode {
DVZ_GRAPH_EDGE_MODE_SEGMENT = 0,
DVZ_GRAPH_EDGE_MODE_PATH = 1,
DVZ_GRAPH_EDGE_MODE_BEZIER = 2,
};
Declared in include/datoviz/scene/enums.h:290.
DvzGraphEdgeStyle · record
struct DvzGraphEdgeStyle {
uint32_t struct_size;
uint32_t flags;
DvzGraphEdgeMode mode;
uint32_t tessellation_segment_count;
double tessellation_tolerance;
DvzSegmentCap start_cap;
DvzSegmentCap end_cap;
DvzPathJoin join;
float miter_limit;
};
Declared in include/datoviz/scene/types.h:949.
Image¶
Functions
dvz_image()¶
Create an image visual.
The current image path supports one sampled 2D texture per visual. The quad-corner form accepts
position (vec3, 4 corner vertices in triangle-strip order) and texcoords (vec2, matching
UVs). The retained per-item form accepts one anchor position and extent per image item, with
optional tex_rect atlas rectangles and per-item anchor. Bind texture data with a scene-owned
sampled field via dvz_visual_set_field().
DvzVisual * dvz_image(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:3623.
dvz_image_set_sampling()¶
Set the sampler filter mode for an image visual.
DVZ_IMAGE_SAMPLING_LINEAR is the default. DVZ_IMAGE_SAMPLING_NEAREST emits a nearest
minification and magnification sampler for pixel-exact image rendering.
DvzResult dvz_image_set_sampling(
DvzVisual * visual,
DvzImageSampling sampling
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the image visual |
sampling |
DvzImageSampling |
the image sampler filter mode |
Declared in include/datoviz/scene.h:3636.
Types
DvzImageSampling · enum
enum DvzImageSampling {
DVZ_IMAGE_SAMPLING_LINEAR = 0,
DVZ_IMAGE_SAMPLING_NEAREST = 1,
};
Declared in include/datoviz/scene/enums.h:392.
Labels¶
Functions
dvz_labels()¶
Create a labels visual.
Labels visuals render integer sampled fields with categorical scale metadata. They use the same
image placement attributes as image visuals: position, extent, anchor, and tex_rect.
Bind the integer sampled field with dvz_visual_set_field(labels, "field", field) and the
categorical scale with dvz_visual_set_scale(labels, "labels", scale).
DvzVisual * dvz_labels(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:3651.
dvz_labels_clear_selected()¶
Clear the selected label ID on a labels visual.
DvzResult dvz_labels_clear_selected(
DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
Declared in include/datoviz/scene.h:3690.
dvz_labels_set_background()¶
Set the transparent background label ID on a labels visual.
DvzResult dvz_labels_set_background(
DvzVisual * visual,
DvzCategoryId label_id
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
label_id |
DvzCategoryId |
background label ID |
Declared in include/datoviz/scene.h:3671.
dvz_labels_set_boundary()¶
Configure boundary rendering on a labels visual.
DvzResult dvz_labels_set_boundary(
DvzVisual * visual,
_Bool enabled,
float width_px,
DvzColor color
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
enabled |
_Bool |
whether boundary rendering is enabled |
width_px |
float |
boundary width in pixels |
color |
DvzColor |
boundary color |
Declared in include/datoviz/scene.h:3715.
dvz_labels_set_fallback_seed()¶
Set the deterministic fallback-color seed on a labels visual.
DvzResult dvz_labels_set_fallback_seed(
DvzVisual * visual,
uint32_t seed
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
seed |
uint32_t |
fallback-color seed |
Declared in include/datoviz/scene.h:3725.
dvz_labels_set_hidden()¶
Set the hidden label IDs on a labels visual.
DvzResult dvz_labels_set_hidden(
DvzVisual * visual,
const DvzCategoryId * ids,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
ids |
const DvzCategoryId * |
hidden label IDs, or NULL when count is 0 |
count |
uint32_t |
hidden label ID count |
Declared in include/datoviz/scene.h:3702.
dvz_labels_set_opacity()¶
Set the global opacity multiplier on a labels visual.
DvzResult dvz_labels_set_opacity(
DvzVisual * visual,
float opacity
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
opacity |
float |
opacity multiplier in [0, 1] |
Declared in include/datoviz/scene.h:3661.
dvz_labels_set_selected()¶
Set the selected label ID on a labels visual.
DvzResult dvz_labels_set_selected(
DvzVisual * visual,
DvzCategoryId label_id
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
label_id |
DvzCategoryId |
selected label ID |
Declared in include/datoviz/scene.h:3681.
dvz_labels_set_slice_axis()¶
Set the slice axis for a 3D labels visual.
DvzResult dvz_labels_set_slice_axis(
DvzVisual * visual,
DvzVolumeAxis axis
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
axis |
DvzVolumeAxis |
slice axis |
Declared in include/datoviz/scene.h:3735.
dvz_labels_set_slice_position()¶
Set the slice position for a 3D labels visual.
DvzResult dvz_labels_set_slice_position(
DvzVisual * visual,
double position
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the labels visual |
position |
double |
normalized slice position in [0, 1] |
Declared in include/datoviz/scene.h:3745.
dvz_labels_state()¶
Return the retained labels state for inspection.
const DvzLabelsState * dvz_labels_state(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | const DvzLabelsState * |
the labels state, or NULL on error |
visual |
const DvzVisual * |
the labels visual |
Declared in include/datoviz/scene.h:3754.
Types
DvzLabelsState · record
struct DvzLabelsState {
float opacity;
DvzCategoryId background_id;
_Bool selected_enabled;
DvzCategoryId selected_id;
DvzCategoryId[256] hidden_ids;
uint32_t hidden_count;
_Bool boundary_enabled;
float boundary_width_px;
DvzColor boundary_color;
uint32_t fallback_seed;
DvzVolumeAxis slice_axis;
double slice_position;
uint64_t version;
};
Declared in include/datoviz/scene/types.h:1129.
Limb¶
Types
DvzLimbMaterial · record
struct DvzLimbMaterial {
float falloff;
float sun_bias;
float terminator_width;
float night_factor;
};
Declared in include/datoviz/scene/types.h:1016.
Marker¶
Functions
dvz_marker()¶
Create a marker visual.
Renders screen-space code-SDF marker sprites with dense position (vec3), color (RGBA8),
diameter_px (float in pixels), angle (float radians), and shape/symbol (uint32_t built-in
symbol id) attributes. Optional item_state (uint32_t DvzItemStateKind bitfield) supports
retained hover and selection styling.
position is the center of the screen-space marker bounding box, diameter_px is its width and
height, and positive angle rotates counter-clockwise in rendered y-up coordinates. Built-in
code-SDF shapes include the standard Datoviz marker vocabulary plus target.
DvzVisual * dvz_marker(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2775.
dvz_marker_set_style()¶
Configure marker fill/stroke styling.
Pass NULL to restore the default filled/no-stroke style. The aspect is exclusive:
DVZ_SHAPE_ASPECT_FILLED draws only the fill, DVZ_SHAPE_ASPECT_STROKE draws only the edge,
and DVZ_SHAPE_ASPECT_OUTLINE draws the fill with an edge.
DvzResult dvz_marker_set_style(
DvzVisual * visual,
const DvzMarkerStyle * style
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the marker visual |
style |
const DvzMarkerStyle * |
the marker style descriptor, or NULL to restore defaults |
Declared in include/datoviz/scene.h:2708.
dvz_marker_set_symbol()¶
Set every existing marker item to one built-in symbol.
This convenience writes the marker's dense "shape"/"symbol" attribute and requires an
existing dense item count, usually from "position".
DvzResult dvz_marker_set_symbol(
DvzVisual * visual,
DvzSymbolBuiltin builtin
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the marker visual |
builtin |
DvzSymbolBuiltin |
the built-in symbol |
Declared in include/datoviz/scene.h:2682.
dvz_marker_set_symbols()¶
Bind a reusable symbol set to a marker visual.
Marker visuals accept built-in code-SDF ids and homogeneous bitmap/SDF/MSDF symbol arrays. Mixed built-in/texture-backed or mixed-encoding arrays are rejected for now.
DvzResult dvz_marker_set_symbols(
DvzVisual * visual,
const DvzSymbolSet * symbols
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the marker visual |
symbols |
const DvzSymbolSet * |
the symbol set, or NULL to clear the binding |
Declared in include/datoviz/scene.h:2669.
dvz_marker_style()¶
Return default marker styling.
The default marker style renders filled markers with no stroke. The color visual attribute
remains the fill color; edge_color and stroke_width_px apply when the aspect is
DVZ_SHAPE_ASPECT_STROKE or DVZ_SHAPE_ASPECT_OUTLINE.
DvzMarkerStyle dvz_marker_style(void);
| Field | Type | Description |
|---|---|---|
| return | DvzMarkerStyle |
default marker style descriptor |
Declared in include/datoviz/scene.h:2694.
Types
DvzMarkerShape · enum
enum DvzMarkerShape {
DVZ_MARKER_SHAPE_DISC = 0,
DVZ_MARKER_SHAPE_SQUARE = 1,
DVZ_MARKER_SHAPE_TRIANGLE = 2,
DVZ_MARKER_SHAPE_DIAMOND = 3,
DVZ_MARKER_SHAPE_CROSS = 4,
DVZ_MARKER_SHAPE_RING = 5,
DVZ_MARKER_SHAPE_TARGET = 6,
DVZ_MARKER_SHAPE_ASTERISK = 7,
DVZ_MARKER_SHAPE_CHEVRON = 8,
DVZ_MARKER_SHAPE_CLOVER = 9,
DVZ_MARKER_SHAPE_CLUB = 10,
DVZ_MARKER_SHAPE_ARROW = 11,
DVZ_MARKER_SHAPE_ELLIPSE = 12,
DVZ_MARKER_SHAPE_HBAR = 13,
DVZ_MARKER_SHAPE_HEART = 14,
DVZ_MARKER_SHAPE_INFINITY = 15,
DVZ_MARKER_SHAPE_PIN = 16,
DVZ_MARKER_SHAPE_SPADE = 17,
DVZ_MARKER_SHAPE_TAG = 18,
DVZ_MARKER_SHAPE_VBAR = 19,
DVZ_MARKER_SHAPE_ROUNDED_RECT = 20,
};
Declared in include/datoviz/scene/enums.h:298.
DvzMarkerStyle · record
struct DvzMarkerStyle {
uint32_t struct_size;
uint32_t flags;
DvzColor edge_color;
float stroke_width_px;
DvzShapeAspect aspect;
};
Declared in include/datoviz/scene/types.h:1069.
Materials¶
Functions
dvz_limb_material_desc()¶
Return default view-dependent limb material options.
The descriptor uses DVZ_MATERIAL_MODEL_LIMB with blended alpha, opacity 0.12, a pale-blue
base color, falloff 4, sun bias 0.05, terminator width 0.18, and night factor 0.08.
DvzMaterialDesc dvz_limb_material_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzMaterialDesc |
default limb material descriptor |
Declared in include/datoviz/scene.h:2479.
dvz_material_desc()¶
Return default visual material options.
The default material is the fast Phong model with opaque alpha, full opacity, a white base-color
factor, light direction (-0.45, 0.35, 0.82), ambient 0.24, diffuse 0.82, specular
0.24, and shininess 26.
DvzMaterialDesc dvz_material_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzMaterialDesc |
default material descriptor |
Declared in include/datoviz/scene.h:2445.
dvz_phong_material_desc()¶
Return default Phong visual material options.
The descriptor uses DVZ_MATERIAL_MODEL_PHONG with the same defaults as
dvz_material_desc().
DvzMaterialDesc dvz_phong_material_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzMaterialDesc |
default Phong material descriptor |
Declared in include/datoviz/scene.h:2456.
dvz_standard_material_desc()¶
Return default standard visual material options.
The descriptor uses DVZ_MATERIAL_MODEL_STANDARD with opaque alpha, full opacity, a white
base-color factor, light direction (-0.45, 0.35, 0.82), roughness 0.62, specular 0.34,
metallic 0, no emissive contribution, and rim contribution 0.10.
DvzMaterialDesc dvz_standard_material_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzMaterialDesc |
default standard material descriptor |
Declared in include/datoviz/scene.h:2468.
dvz_visual_set_material()¶
Set the shared material parameters for a primitive, mesh, or sphere visual.
Phong, standard, and view-dependent limb models map to the shared material shader payload. Pass NULL to restore default material parameters.
DvzResult dvz_visual_set_material(
DvzVisual * visual,
const DvzMaterialDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
desc |
const DvzMaterialDesc * |
the material descriptor, or NULL to restore defaults |
Declared in include/datoviz/scene.h:2492.
Types
DvzMaterialDesc · record
struct DvzMaterialDesc {
uint32_t struct_size;
uint32_t flags;
DvzMaterialModel model;
DvzAlphaMode alpha_mode;
float opacity;
float[4] base_color_factor;
float[3] light_direction;
DvzPhongMaterial phong;
DvzStandardMaterial standard;
DvzLimbMaterial limb;
};
Declared in include/datoviz/scene/types.h:1026.
DvzMaterialModel · enum
enum DvzMaterialModel {
DVZ_MATERIAL_MODEL_UNLIT = 0,
DVZ_MATERIAL_MODEL_PHONG = 1,
DVZ_MATERIAL_MODEL_STANDARD = 2,
DVZ_MATERIAL_MODEL_LIMB = 3,
};
Declared in include/datoviz/scene/enums.h:240.
DvzPhongMaterial · record
struct DvzPhongMaterial {
float ambient;
float diffuse;
float specular;
float shininess;
};
Declared in include/datoviz/scene/types.h:995.
DvzStandardMaterial · record
struct DvzStandardMaterial {
float roughness;
float specular;
float metallic;
float[3] emissive;
float rim_strength;
};
Declared in include/datoviz/scene/types.h:1005.
Mesh¶
Functions
dvz_mesh()¶
Create a mesh visual.
v0.4 meshes use a triangle-list topology with position (vec3), optional
color (RGBA8, defaulting to opaque white when omitted), optional normal (vec3), optional
texcoords (vec2), optional instance_transform (mat4, one per instance), and optional
"index" buffer bindings for indexed draws. Binding an RGBA8 2D sampled field to the
"texture" slot enables the first retained textured-mesh shader path.
DvzVisual * dvz_mesh(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2921.
dvz_mesh_set_geometry()¶
Upload a CPU geometry object into a mesh visual.
Geometry positions, colors, normals, texture coordinates, and optional triangle indices are copied into the visual's retained attribute and index buffers.
DvzResult dvz_mesh_set_geometry(
DvzVisual * visual,
const DvzGeometry * geometry
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on invalid input or upload failure |
visual |
DvzVisual * |
the mesh visual |
geometry |
const DvzGeometry * |
the CPU geometry object |
Declared in include/datoviz/scene.h:2934.
Path¶
Functions
dvz_path()¶
Create a path visual.
A path accepts position (vec3), color (RGBA8), and optional per-point stroke_width_px
(float, pixels). Without stroke_width_px, paths use the primitive line-strip pipeline. With
stroke_width_px, paths use the scene.path screen-space stroke pipeline.
DvzVisual * dvz_path(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:3562.
dvz_path_set_caps()¶
Configure caps applied to each open subpath endpoint.
Arrow caps, dashes, per-item cap attributes, and closed subpaths are deferred. Supported first slice caps are none, round, triangle-in, triangle-out, square, and butt.
DvzResult dvz_path_set_caps(
DvzVisual * visual,
DvzSegmentCap start_cap,
DvzSegmentCap end_cap
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the path visual |
start_cap |
DvzSegmentCap |
cap applied to each open subpath start |
end_cap |
DvzSegmentCap |
cap applied to each open subpath end |
Declared in include/datoviz/scene.h:3577.
dvz_path_set_join()¶
Configure the join style and miter limit for stroked path corners.
DVZ_PATH_JOIN_MITER falls back to bevel when the miter length exceeds miter_limit times
the local stroke width. Round and bevel joins ignore the limit.
DvzResult dvz_path_set_join(
DvzVisual * visual,
DvzPathJoin join,
float miter_limit
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the path visual |
join |
DvzPathJoin |
the path join style |
miter_limit |
float |
positive finite miter limit |
Declared in include/datoviz/scene.h:3592.
dvz_path_set_subpaths()¶
Set explicit subpath lengths for a path visual.
When unset, all points belong to one open subpath. Lengths are consumed in order and must sum to the path position count at emission time.
DvzResult dvz_path_set_subpaths(
DvzVisual * visual,
uint32_t subpath_count,
const uint32_t * lengths
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the path visual |
subpath_count |
uint32_t |
number of subpaths |
lengths |
const uint32_t * |
point count for each subpath |
Declared in include/datoviz/scene.h:3606.
Types
DvzPathJoin · enum
enum DvzPathJoin {
DVZ_PATH_JOIN_MITER = 0,
DVZ_PATH_JOIN_ROUND = 1,
DVZ_PATH_JOIN_BEVEL = 2,
};
Declared in include/datoviz/scene/enums.h:282.
Pixel¶
Functions
dvz_pixel()¶
Create a pixel visual.
Renders screen-space square sprites with position (vec3), color (RGBA8),
pixel_size_px (float, in pixels), and optional item_state (uint32_t DvzItemStateKind
bitfield). WGSL/WebGPU emission lowers each item to an instanced quad.
DvzVisual * dvz_pixel(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2757.
Point¶
Functions
dvz_point()¶
Create a point visual.
Renders screen-space antialiased circular sprites with position (vec3), color (RGBA8),
diameter_px (float, in pixels), and optional item_state (uint32_t DvzItemStateKind bitfield).
dvz_point_set_style() controls optional edge styling with edge_color,
stroke_width_px, and a filled/stroke/outline aspect.
DvzVisual * dvz_point(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2728.
dvz_point_set_style()¶
Configure circular point fill/stroke styling.
Pass NULL to restore the default filled/no-stroke style. The aspect is exclusive:
DVZ_SHAPE_ASPECT_FILLED draws only the fill, DVZ_SHAPE_ASPECT_STROKE draws only the edge,
and DVZ_SHAPE_ASPECT_OUTLINE draws the fill with an edge.
DvzResult dvz_point_set_style(
DvzVisual * visual,
const DvzPointStyleDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the point visual |
desc |
const DvzPointStyleDesc * |
the point style descriptor, or NULL to restore defaults |
Declared in include/datoviz/scene.h:2541.
dvz_point_style_desc()¶
Return default point styling.
The default point style renders filled circular points with no stroke. The color visual
attribute remains the fill color; edge_color and stroke_width_px apply when the aspect is
DVZ_SHAPE_ASPECT_STROKE or DVZ_SHAPE_ASPECT_OUTLINE.
DvzPointStyleDesc dvz_point_style_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzPointStyleDesc |
default point style descriptor |
Declared in include/datoviz/scene.h:2527.
Types
DvzPointStyleDesc · record
struct DvzPointStyleDesc {
uint32_t struct_size;
uint32_t flags;
DvzColor edge_color;
float stroke_width_px;
DvzShapeAspect aspect;
};
Declared in include/datoviz/scene/types.h:1058.
Polygon¶
Functions
dvz_polygon()¶
Create a scene-owned semantic polygon object.
A polygon represents one filled region with one outer ring and optional hole rings.
DvzPolygon * dvz_polygon(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzPolygon * |
the polygon, or NULL on allocation failure |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
reserved polygon flags |
Declared in include/datoviz/scene.h:3157.
dvz_polygon_composite()¶
Create a scene-owned composite render view for a polygon.
DvzComposite * dvz_polygon_composite(
DvzPolygon * polygon,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzComposite * |
the composite, or NULL on allocation failure |
polygon |
DvzPolygon * |
the source polygon |
flags |
uint32_t |
reserved composite flags |
Declared in include/datoviz/scene.h:3307.
dvz_polygon_desc()¶
Return a default polygon descriptor.
DvzPolygonDesc dvz_polygon_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzPolygonDesc |
initialized polygon descriptor |
Related: dvz_polygon().
Declared in include/datoviz/geom.h:412.
dvz_polygon_destroy()¶
Destroy a scene-owned polygon object and release its copied ring data.
void dvz_polygon_destroy(
DvzPolygon * polygon
);
| Field | Type | Description |
|---|---|---|
polygon |
DvzPolygon * |
the polygon |
Declared in include/datoviz/scene.h:3165.
dvz_polygon_set_fill_color()¶
Set the polygon fill color.
DvzResult dvz_polygon_set_fill_color(
DvzPolygon * polygon,
const DvzColor color
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
polygon |
DvzPolygon * |
the polygon |
color |
const DvzColor |
RGBA fill color |
Declared in include/datoviz/scene.h:3253.
dvz_polygon_set_geometry()¶
Replace all polygon rings from a borrowed descriptor.
DvzResult dvz_polygon_set_geometry(
DvzPolygon * polygon,
const DvzPolygonDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on invalid input or allocation failure |
polygon |
DvzPolygon * |
the polygon |
desc |
const DvzPolygonDesc * |
borrowed polygon descriptor |
Declared in include/datoviz/scene.h:3183.
dvz_polygon_set_hole()¶
Append or replace one polygon hole ring.
Passing hole_index equal to the current hole count appends a new hole. Passing a smaller index replaces that hole.
DvzResult dvz_polygon_set_hole(
DvzPolygon * polygon,
uint32_t hole_index,
const dvec2 * xy,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on invalid input or allocation failure |
polygon |
DvzPolygon * |
the polygon |
hole_index |
uint32_t |
hole index to replace, or current hole count to append |
xy |
const dvec2 * |
borrowed XY vertex array |
count |
uint32_t |
number of hole ring vertices |
Declared in include/datoviz/scene.h:3210.
dvz_polygon_set_id()¶
Set the stable user id associated with a polygon.
DvzResult dvz_polygon_set_id(
DvzPolygon * polygon,
uint64_t id
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
polygon |
DvzPolygon * |
the polygon |
id |
uint64_t |
stable user id |
Declared in include/datoviz/scene.h:3220.
dvz_polygon_set_outer()¶
Replace the polygon outer ring while preserving existing holes.
DvzResult dvz_polygon_set_outer(
DvzPolygon * polygon,
const dvec2 * xy,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on invalid input or allocation failure |
polygon |
DvzPolygon * |
the polygon |
xy |
const dvec2 * |
borrowed XY vertex array |
count |
uint32_t |
number of outer ring vertices |
Declared in include/datoviz/scene.h:3194.
dvz_polygon_set_stroke_caps()¶
Configure polygon stroke endpoint caps.
DvzResult dvz_polygon_set_stroke_caps(
DvzPolygon * polygon,
DvzSegmentCap start_cap,
DvzSegmentCap end_cap
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
polygon |
DvzPolygon * |
the polygon |
start_cap |
DvzSegmentCap |
cap applied to each ring start |
end_cap |
DvzSegmentCap |
cap applied to each ring end |
Declared in include/datoviz/scene.h:3285.
dvz_polygon_set_stroke_color()¶
Set the polygon stroke color.
DvzResult dvz_polygon_set_stroke_color(
DvzPolygon * polygon,
const DvzColor color
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
polygon |
DvzPolygon * |
the polygon |
color |
const DvzColor |
RGBA stroke color |
Declared in include/datoviz/scene.h:3263.
dvz_polygon_set_stroke_join()¶
Configure polygon stroke joins.
DvzResult dvz_polygon_set_stroke_join(
DvzPolygon * polygon,
DvzPathJoin join,
float miter_limit
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
polygon |
DvzPolygon * |
the polygon |
join |
DvzPathJoin |
join style |
miter_limit |
float |
positive finite miter limit |
Declared in include/datoviz/scene.h:3297.
dvz_polygon_set_stroke_width_px()¶
Set the polygon stroke width in pixels.
DvzResult dvz_polygon_set_stroke_width_px(
DvzPolygon * polygon,
float width
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on invalid input |
polygon |
DvzPolygon * |
the polygon |
width |
float |
stroke width in pixels |
Declared in include/datoviz/scene.h:3273.
dvz_polygon_set_style()¶
Apply polygon render style.
Flat style setters remain the primary API for common updates. This descriptor is a convenience for applying defaults or several style fields atomically.
DvzResult dvz_polygon_set_style(
DvzPolygon * polygon,
const DvzPolygonStyle * style
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
polygon |
DvzPolygon * |
the polygon |
style |
const DvzPolygonStyle * |
polygon style descriptor |
Declared in include/datoviz/scene.h:3243.
dvz_polygon_set_visible()¶
Set polygon visibility.
DvzResult dvz_polygon_set_visible(
DvzPolygon * polygon,
_Bool visible
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
polygon |
DvzPolygon * |
the polygon |
visible |
_Bool |
whether the polygon should render |
Declared in include/datoviz/scene.h:3230.
dvz_polygon_style()¶
Return the default polygon style descriptor.
DvzPolygonStyle dvz_polygon_style(void);
| Field | Type | Description |
|---|---|---|
| return | DvzPolygonStyle |
default polygon style |
Declared in include/datoviz/scene.h:3173.
Types
DvzPolygon · typedef
typedef struct DvzPolygon DvzPolygon;
Declared in include/datoviz/scene/types.h:66.
DvzPolygonDesc · record
struct DvzPolygonDesc {
uint32_t struct_size;
uint32_t flags;
DvzPolygonRing outer;
const DvzPolygonRing * holes;
uint32_t hole_count;
};
Declared in include/datoviz/geom/types.h:280.
DvzPolygonRing · record
struct DvzPolygonRing {
const dvec2 * xy;
uint32_t count;
};
Declared in include/datoviz/geom/types.h:272.
DvzPolygonStyle · record
struct DvzPolygonStyle {
uint32_t struct_size;
uint32_t flags;
_Bool visible;
DvzColor fill_color;
DvzColor stroke_color;
float stroke_width_px;
DvzSegmentCap stroke_start_cap;
DvzSegmentCap stroke_end_cap;
DvzPathJoin stroke_join;
float stroke_miter_limit;
};
Declared in include/datoviz/scene/types.h:933.
Polygons¶
Functions
dvz_polygons()¶
Create a scene-owned semantic polygon set object.
A polygon set stores several independent polygon regions. Each region has its own rings and style.
DvzPolygons * dvz_polygons(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzPolygons * |
the polygon set, or NULL on allocation failure |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
reserved polygon-set flags |
Declared in include/datoviz/scene.h:3320.
dvz_polygons_add_region()¶
Append one polygon region to a polygon set.
uint32_t dvz_polygons_add_region(
DvzPolygons * set,
const DvzPolygonDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | uint32_t |
the polygon index, or UINT32_MAX on error |
set |
DvzPolygons * |
the polygon set |
desc |
const DvzPolygonDesc * |
borrowed polygon descriptor |
Declared in include/datoviz/scene.h:3338.
dvz_polygons_composite()¶
Create a scene-owned composite render view for a polygon set.
DvzComposite * dvz_polygons_composite(
DvzPolygons * set,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzComposite * |
the composite, or NULL on allocation failure |
set |
DvzPolygons * |
the polygon set |
flags |
uint32_t |
reserved composite flags |
Declared in include/datoviz/scene.h:3509.
dvz_polygons_destroy()¶
Destroy a scene-owned polygon set object.
void dvz_polygons_destroy(
DvzPolygons * set
);
| Field | Type | Description |
|---|---|---|
set |
DvzPolygons * |
the polygon set |
Declared in include/datoviz/scene.h:3328.
dvz_polygons_set_region_fill_color()¶
Set one polygon region's fill color.
DvzResult dvz_polygons_set_region_fill_color(
DvzPolygons * set,
uint32_t polygon_index,
const DvzColor color
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
polygon_index |
uint32_t |
polygon index |
color |
const DvzColor |
RGBA fill color |
Declared in include/datoviz/scene.h:3411.
dvz_polygons_set_region_fill_colors()¶
Set a contiguous range of polygon region fill colors.
DvzResult dvz_polygons_set_region_fill_colors(
DvzPolygons * set,
uint32_t first_polygon,
uint32_t polygon_count,
const DvzColor * colors
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
first_polygon |
uint32_t |
first polygon index |
polygon_count |
uint32_t |
number of regions to update |
colors |
const DvzColor * |
RGBA fill colors |
Declared in include/datoviz/scene.h:3424.
dvz_polygons_set_region_geometry()¶
Replace one polygon region's rings.
DvzResult dvz_polygons_set_region_geometry(
DvzPolygons * set,
uint32_t polygon_index,
const DvzPolygonDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
polygon_index |
uint32_t |
polygon index |
desc |
const DvzPolygonDesc * |
borrowed polygon descriptor |
Declared in include/datoviz/scene.h:3349.
dvz_polygons_set_region_id()¶
Set one polygon region's stable user id.
DvzResult dvz_polygons_set_region_id(
DvzPolygons * set,
uint32_t polygon_index,
uint64_t id
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
polygon_index |
uint32_t |
polygon index |
id |
uint64_t |
stable user id |
Declared in include/datoviz/scene.h:3362.
dvz_polygons_set_region_ids()¶
Set a contiguous range of polygon region stable user ids.
DvzResult dvz_polygons_set_region_ids(
DvzPolygons * set,
uint32_t first_polygon,
uint32_t polygon_count,
const uint64_t * ids
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
first_polygon |
uint32_t |
first polygon index |
polygon_count |
uint32_t |
number of regions to update |
ids |
const uint64_t * |
borrowed stable user id array |
Declared in include/datoviz/scene.h:3374.
dvz_polygons_set_region_stroke_color()¶
Set one polygon region's stroke color.
DvzResult dvz_polygons_set_region_stroke_color(
DvzPolygons * set,
uint32_t polygon_index,
const DvzColor color
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
polygon_index |
uint32_t |
polygon index |
color |
const DvzColor |
RGBA stroke color |
Declared in include/datoviz/scene.h:3436.
dvz_polygons_set_region_stroke_colors()¶
Set a contiguous range of polygon region stroke colors.
DvzResult dvz_polygons_set_region_stroke_colors(
DvzPolygons * set,
uint32_t first_polygon,
uint32_t polygon_count,
const DvzColor * colors
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
first_polygon |
uint32_t |
first polygon index |
polygon_count |
uint32_t |
number of regions to update |
colors |
const DvzColor * |
RGBA stroke colors |
Declared in include/datoviz/scene.h:3449.
dvz_polygons_set_region_stroke_width_px()¶
Set one polygon region's stroke width in pixels.
DvzResult dvz_polygons_set_region_stroke_width_px(
DvzPolygons * set,
uint32_t polygon_index,
float width
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
polygon_index |
uint32_t |
polygon index |
width |
float |
stroke width in pixels |
Declared in include/datoviz/scene.h:3462.
dvz_polygons_set_region_stroke_widths_px()¶
Set a contiguous range of polygon region stroke widths.
DvzResult dvz_polygons_set_region_stroke_widths_px(
DvzPolygons * set,
uint32_t first_polygon,
uint32_t polygon_count,
const float * widths
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
first_polygon |
uint32_t |
first polygon index |
polygon_count |
uint32_t |
number of regions to update |
widths |
const float * |
stroke widths in pixels |
Declared in include/datoviz/scene.h:3474.
dvz_polygons_set_region_visibilities()¶
Set a contiguous range of polygon region visibilities.
DvzResult dvz_polygons_set_region_visibilities(
DvzPolygons * set,
uint32_t first_polygon,
uint32_t polygon_count,
const _Bool * visible
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
first_polygon |
uint32_t |
first polygon index |
polygon_count |
uint32_t |
number of regions to update |
visible |
const _Bool * |
borrowed visibility array |
Declared in include/datoviz/scene.h:3399.
dvz_polygons_set_region_visible()¶
Set one polygon region's visibility.
DvzResult dvz_polygons_set_region_visible(
DvzPolygons * set,
uint32_t polygon_index,
_Bool visible
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
polygon_index |
uint32_t |
polygon index |
visible |
_Bool |
whether the region should render |
Declared in include/datoviz/scene.h:3387.
dvz_polygons_set_stroke_caps()¶
Configure polygon-set stroke endpoint caps.
DvzResult dvz_polygons_set_stroke_caps(
DvzPolygons * set,
DvzSegmentCap start_cap,
DvzSegmentCap end_cap
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
start_cap |
DvzSegmentCap |
cap applied to each ring start |
end_cap |
DvzSegmentCap |
cap applied to each ring end |
Declared in include/datoviz/scene.h:3487.
dvz_polygons_set_stroke_join()¶
Configure polygon-set stroke joins.
DvzResult dvz_polygons_set_stroke_join(
DvzPolygons * set,
DvzPathJoin join,
float miter_limit
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
set |
DvzPolygons * |
the polygon set |
join |
DvzPathJoin |
join style |
miter_limit |
float |
positive finite miter limit |
Declared in include/datoviz/scene.h:3499.
Types
DvzPolygons · typedef
typedef struct DvzPolygons DvzPolygons;
Declared in include/datoviz/scene/types.h:67.
Primitive¶
Functions
dvz_primitive()¶
Create a primitive visual.
Renders raw GPU primitives (point lists, line lists/strips, triangle lists/strips) with
built-in shaders. Accepts position (vec3) and color (RGBA8), plus optional normal
(vec3) and optional "index" buffer bindings for indexed draws.
DvzVisual * dvz_primitive(
DvzScene * scene,
DvzPrimitiveTopology topology,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
topology |
DvzPrimitiveTopology |
primitive topology, fixed at construction time |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2904.
Segment¶
Functions
dvz_segment()¶
Create a segment visual.
v0.4 segment visuals render independent endpoint pairs as analytic screen-space
stroked line segments. Dense attributes are position_start (vec3), position_end (vec3),
color (RGBA8), and stroke_width_px (float width in pixels). Segment caps default to butt at
both ends.
DvzVisual * dvz_segment(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2818.
dvz_segment_set_caps()¶
Configure segment endpoint caps.
Arrow caps, dashes, scalar color, and per-item cap attributes are deferred. Supported first slice caps are none, round, triangle-in, triangle-out, square, and butt.
DvzResult dvz_segment_set_caps(
DvzVisual * visual,
DvzSegmentCap start_cap,
DvzSegmentCap end_cap
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the segment visual |
start_cap |
DvzSegmentCap |
cap applied to position_start |
end_cap |
DvzSegmentCap |
cap applied to position_end |
Declared in include/datoviz/scene.h:2833.
Types
DvzSegmentCap · enum
enum DvzSegmentCap {
DVZ_SEGMENT_CAP_NONE = 0,
DVZ_SEGMENT_CAP_ROUND = 1,
DVZ_SEGMENT_CAP_TRIANGLE_IN = 2,
DVZ_SEGMENT_CAP_TRIANGLE_OUT = 3,
DVZ_SEGMENT_CAP_SQUARE = 4,
DVZ_SEGMENT_CAP_BUTT = 5,
};
Declared in include/datoviz/scene/enums.h:263.
Sphere¶
Functions
dvz_sphere()¶
Create a sphere impostor visual.
Sphere visuals render one analytic 3D sphere per item from position (vec3 center), color
(RGBA8), and radius (float). The GLSL backend reconstructs the sphere surface in the
fragment shader, writes sphere-surface depth, and uses analytic antialiasing at the silhouette.
DvzVisual * dvz_sphere(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2789.
dvz_sphere_set_mode()¶
Set the sphere impostor rendering mode.
DVZ_SPHERE_MODE_FAST_IMPOSTOR uses the cheap point-coordinate sphere reconstruction.
DVZ_SPHERE_MODE_RAYCAST_IMPOSTOR intersects the camera ray with the sphere in the fragment
shader for more accurate surface position, normal, and depth.
DvzResult dvz_sphere_set_mode(
DvzVisual * visual,
DvzSphereMode mode
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the sphere visual |
mode |
DvzSphereMode |
the rendering mode |
Declared in include/datoviz/scene.h:2803.
Types
DvzSphereFlags · enum
enum DvzSphereFlags {
DVZ_SPHERE_FLAGS_NONE = 0,
DVZ_SPHERE_FLAGS_LIGHTING = 1,
};
Declared in include/datoviz/scene/enums.h:249.
DvzSphereMode · enum
enum DvzSphereMode {
DVZ_SPHERE_MODE_FAST_IMPOSTOR = 0,
DVZ_SPHERE_MODE_RAYCAST_IMPOSTOR = 1,
};
Declared in include/datoviz/scene/enums.h:256.
Splat¶
Functions
dvz_splat()¶
Create a Gaussian splat visual.
Renders one screen-facing Gaussian footprint per item with position (vec3), color (RGBA8),
sigma (vec2, screen pixels), and angle (float radians). The first implementation uses
center depth, depth test on, depth writes off through alpha blending, and no sorting or
projected 3D covariance.
DvzVisual * dvz_splat(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2743.
Symbol¶
Functions
dvz_symbol_bitmap()¶
Register an RGBA bitmap symbol source in one symbol set.
The payload is copied into scene-owned storage. Homogeneous bitmap marker symbol arrays render through a scene-owned atlas texture.
DvzSymbolId dvz_symbol_bitmap(
DvzSymbolSet * symbols,
const char * name,
const void * rgba,
uint32_t width,
uint32_t height,
const DvzSymbolImageDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzSymbolId |
the symbol id, or DVZ_SYMBOL_ID_INVALID on error |
symbols |
DvzSymbolSet * |
the symbol set |
name |
const char * |
optional diagnostic name |
rgba |
const void * |
RGBA8 payload |
width |
uint32_t |
source width in pixels |
height |
uint32_t |
source height in pixels |
desc |
const DvzSymbolImageDesc * |
optional image source options |
Declared in include/datoviz/scene.h:2596.
dvz_symbol_builtin()¶
Register or return a built-in symbol id in one symbol set.
Built-in symbol ids are stable within the set and currently match the corresponding
DvzMarkerShape values so marker shape and symbol data can share one retained path.
DvzSymbolId dvz_symbol_builtin(
DvzSymbolSet * symbols,
DvzSymbolBuiltin builtin
);
| Field | Type | Description |
|---|---|---|
| return | DvzSymbolId |
the symbol id, or DVZ_SYMBOL_ID_INVALID on error |
symbols |
DvzSymbolSet * |
the symbol set |
builtin |
DvzSymbolBuiltin |
the built-in symbol |
Declared in include/datoviz/scene.h:2568.
dvz_symbol_image_desc()¶
Return default image-backed symbol source options.
The default row stride is tightly packed. distance_range_px is used by SDF/MSDF sources and is
ignored for bitmap sources.
DvzSymbolImageDesc dvz_symbol_image_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzSymbolImageDesc |
default symbol image descriptor |
Declared in include/datoviz/scene.h:2579.
dvz_symbol_msdf()¶
Register an RGB MSDF symbol source in one symbol set.
The payload is copied into scene-owned storage. desc->distance_range_px describes the encoded
distance-field range in source pixels when nonzero.
DvzSymbolId dvz_symbol_msdf(
DvzSymbolSet * symbols,
const char * name,
const void * msdf,
uint32_t width,
uint32_t height,
const DvzSymbolImageDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzSymbolId |
the symbol id, or DVZ_SYMBOL_ID_INVALID on error |
symbols |
DvzSymbolSet * |
the symbol set |
name |
const char * |
optional diagnostic name |
msdf |
const void * |
RGB8 MSDF payload |
width |
uint32_t |
source width in pixels |
height |
uint32_t |
source height in pixels |
desc |
const DvzSymbolImageDesc * |
optional image source options |
Declared in include/datoviz/scene.h:2634.
dvz_symbol_sdf()¶
Register a single-channel SDF symbol source in one symbol set.
The payload is copied into scene-owned storage. desc->distance_range_px describes the encoded
distance-field range in source pixels when nonzero.
DvzSymbolId dvz_symbol_sdf(
DvzSymbolSet * symbols,
const char * name,
const void * sdf,
uint32_t width,
uint32_t height,
const DvzSymbolImageDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzSymbolId |
the symbol id, or DVZ_SYMBOL_ID_INVALID on error |
symbols |
DvzSymbolSet * |
the symbol set |
name |
const char * |
optional diagnostic name |
sdf |
const void * |
R8 SDF payload |
width |
uint32_t |
source width in pixels |
height |
uint32_t |
source height in pixels |
desc |
const DvzSymbolImageDesc * |
optional image source options |
Declared in include/datoviz/scene.h:2615.
dvz_symbol_set()¶
Create a scene-owned reusable symbol set.
Built-in code-SDF symbols are marker-renderable today. Bitmap, SDF, and MSDF source payloads are retained by the same object model; SVG-path import and atlas-backed marker rendering are later parity slices.
DvzSymbolSet * dvz_symbol_set(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzSymbolSet * |
the symbol set, or NULL on error |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
reserved flags |
Declared in include/datoviz/scene.h:2555.
dvz_symbol_svg_path()¶
Generate and register an MSDF symbol source from an SVG path string.
The generated payload is copied into scene-owned storage through dvz_symbol_msdf().
desc->distance_range_px controls the generated distance-field pixel range when nonzero. This
function returns DVZ_SYMBOL_ID_INVALID if Datoviz was built without msdfgen SVG support.
DvzSymbolId dvz_symbol_svg_path(
DvzSymbolSet * symbols,
const char * name,
const char * svg_path,
uint32_t width,
uint32_t height,
const DvzSymbolImageDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzSymbolId |
the symbol id, or DVZ_SYMBOL_ID_INVALID on error |
symbols |
DvzSymbolSet * |
the symbol set |
name |
const char * |
optional diagnostic name |
svg_path |
const char * |
SVG path data string |
width |
uint32_t |
generated atlas source width in pixels |
height |
uint32_t |
generated atlas source height in pixels |
desc |
const DvzSymbolImageDesc * |
optional image source options |
Declared in include/datoviz/scene.h:2654.
Types
DvzSymbolBuiltin · enum
enum DvzSymbolBuiltin {
DVZ_SYMBOL_DISC = 0,
DVZ_SYMBOL_SQUARE = 1,
DVZ_SYMBOL_TRIANGLE = 2,
DVZ_SYMBOL_DIAMOND = 3,
DVZ_SYMBOL_CROSS = 4,
DVZ_SYMBOL_RING = 5,
DVZ_SYMBOL_TARGET = 6,
DVZ_SYMBOL_ASTERISK = 7,
DVZ_SYMBOL_CHEVRON = 8,
DVZ_SYMBOL_CLOVER = 9,
DVZ_SYMBOL_CLUB = 10,
DVZ_SYMBOL_ARROW = 11,
DVZ_SYMBOL_ELLIPSE = 12,
DVZ_SYMBOL_HBAR = 13,
DVZ_SYMBOL_HEART = 14,
DVZ_SYMBOL_INFINITY = 15,
DVZ_SYMBOL_PIN = 16,
DVZ_SYMBOL_SPADE = 17,
DVZ_SYMBOL_TAG = 18,
DVZ_SYMBOL_VBAR = 19,
DVZ_SYMBOL_ROUNDED_RECT = 20,
};
Declared in include/datoviz/scene/enums.h:324.
DvzSymbolId · typedef
typedef uint32_t DvzSymbolId;
Declared in include/datoviz/scene/types.h:106.
DvzSymbolImageDesc · record
struct DvzSymbolImageDesc {
uint32_t struct_size;
uint32_t flags;
uint32_t row_stride;
float distance_range_px;
};
Declared in include/datoviz/scene/types.h:1080.
DvzSymbolSet · typedef
typedef struct DvzSymbolSet DvzSymbolSet;
Declared in include/datoviz/scene/types.h:91.
DvzSymbolSourceKind · enum
enum DvzSymbolSourceKind {
DVZ_SYMBOL_SOURCE_NONE = 0,
DVZ_SYMBOL_SOURCE_BUILTIN = 1,
DVZ_SYMBOL_SOURCE_BITMAP = 2,
DVZ_SYMBOL_SOURCE_SDF = 3,
DVZ_SYMBOL_SOURCE_MSDF = 4,
};
Declared in include/datoviz/scene/enums.h:350.
Tessellate¶
Functions
dvz_tessellate_cubic_bezier()¶
Tessellate a cubic Bezier curve into an owned point path.
DvzTessellatedPath * dvz_tessellate_cubic_bezier(
const dvec3 p0,
const dvec3 p1,
const dvec3 p2,
const dvec3 p3,
const DvzBezierTessellationDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzTessellatedPath * |
new owned tessellated path, or NULL on invalid input or allocation failure; destroy with dvz_tessellated_path_destroy() |
p0 |
const dvec3 |
first endpoint |
p1 |
const dvec3 |
first control point |
p2 |
const dvec3 |
second control point |
p3 |
const dvec3 |
second endpoint |
desc |
const DvzBezierTessellationDesc * |
optional borrowed tessellation descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:469.
dvz_tessellate_quadratic_bezier()¶
Tessellate a quadratic Bezier curve into an owned point path.
DvzTessellatedPath * dvz_tessellate_quadratic_bezier(
const dvec3 p0,
const dvec3 p1,
const dvec3 p2,
const DvzBezierTessellationDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzTessellatedPath * |
new owned tessellated path, or NULL on invalid input or allocation failure; destroy with dvz_tessellated_path_destroy() |
p0 |
const dvec3 |
first endpoint |
p1 |
const dvec3 |
control point |
p2 |
const dvec3 |
second endpoint |
desc |
const DvzBezierTessellationDesc * |
optional borrowed tessellation descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:454.
Tessellated¶
Functions
dvz_tessellated_path_destroy()¶
Destroy a tessellated path.
void dvz_tessellated_path_destroy(
DvzTessellatedPath * path
);
| Field | Type | Description |
|---|---|---|
path |
DvzTessellatedPath * |
owned tessellated path to destroy; may be NULL |
Declared in include/datoviz/geom.h:479.
Types
DvzTessellatedPath · record
struct DvzTessellatedPath {
uint32_t point_count;
dvec3 * points;
};
Declared in include/datoviz/geom/types.h:310.
Triangulate¶
Functions
dvz_triangulate_polygon()¶
Triangulate a polygon with optional holes into indexed XY mesh geometry.
DvzGeometry * dvz_triangulate_polygon(
const DvzPolygonDesc * polygon,
const DvzTriangulationDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzGeometry * |
new owned geometry, or NULL on invalid input or triangulation failure; destroy with dvz_geometry_destroy() |
polygon |
const DvzPolygonDesc * |
borrowed polygon descriptor; must not be NULL and its arrays must remain valid for the duration of the call |
desc |
const DvzTriangulationDesc * |
optional borrowed triangulation descriptor, or NULL for defaults |
Declared in include/datoviz/geom.h:441.
Triangulation¶
Functions
dvz_triangulation_desc()¶
Return a default triangulation descriptor.
DvzTriangulationDesc dvz_triangulation_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzTriangulationDesc |
initialized triangulation descriptor |
Declared in include/datoviz/geom.h:420.
Types
DvzTriangulationBackend · enum
enum DvzTriangulationBackend {
DVZ_TRIANGULATION_BACKEND_DEFAULT = 0,
DVZ_TRIANGULATION_BACKEND_EARCUT = 1,
};
Declared in include/datoviz/geom/enums.h:57.
DvzTriangulationDesc · record
struct DvzTriangulationDesc {
uint32_t struct_size;
uint32_t flags;
DvzTriangulationBackend backend;
};
Declared in include/datoviz/geom/types.h:291.
Vector¶
Functions
dvz_vector()¶
Create a vector visual.
Straight vector items accept dense position (vec3 tail/anchor), vector (vec3 displacement),
color (RGBA8), and stroke_width_px (float pixels). The first native lowering renders each item
through the scene segment stroke pipeline with source item identity preserved.
Curved mode omits vector; position, color, and stroke_width_px are then interpreted as
path points, optionally grouped by dvz_vector_set_subpaths().
DvzVisual * dvz_vector(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:2861.
dvz_vector_set_style()¶
Configure vector styling.
v0.4 supports visual-wide scale, anchor, endpoint caps, and path join settings. Passing NULL restores the defaults.
DvzResult dvz_vector_set_style(
DvzVisual * visual,
const DvzVectorStyle * style
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the vector visual |
style |
const DvzVectorStyle * |
style descriptor, or NULL for defaults |
Declared in include/datoviz/scene.h:2874.
dvz_vector_set_subpaths()¶
Set explicit curved-vector subpath lengths for a vector visual.
When unset in curved mode, all points belong to one open vector path. Lengths are consumed in order and must sum to the vector visual's path-point count at emission time.
DvzResult dvz_vector_set_subpaths(
DvzVisual * visual,
uint32_t subpath_count,
const uint32_t * lengths
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the vector visual |
subpath_count |
uint32_t |
number of subpaths |
lengths |
const uint32_t * |
point count for each subpath |
Declared in include/datoviz/scene.h:2888.
dvz_vector_style()¶
Return default vector styling.
The default style renders a tail-anchored vector with a triangular end cap. scale multiplies
each dense vector attribute before endpoint derivation.
DvzVectorStyle dvz_vector_style(void);
| Field | Type | Description |
|---|---|---|
| return | DvzVectorStyle |
default vector style descriptor |
Declared in include/datoviz/scene.h:2844.
Types
DvzVectorAnchor · enum
enum DvzVectorAnchor {
DVZ_VECTOR_ANCHOR_TAIL = 0,
DVZ_VECTOR_ANCHOR_CENTER = 1,
DVZ_VECTOR_ANCHOR_HEAD = 2,
};
Declared in include/datoviz/scene/enums.h:274.
DvzVectorStyle · record
struct DvzVectorStyle {
uint32_t struct_size;
uint32_t flags;
float scale;
DvzVectorAnchor anchor;
DvzSegmentCap start_cap;
DvzSegmentCap end_cap;
DvzPathJoin join;
float miter_limit;
};
Declared in include/datoviz/scene/types.h:919.
Visual¶
Functions
dvz_visual_alpha_mode()¶
Return the visual alpha handling mode.
DvzAlphaMode dvz_visual_alpha_mode(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzAlphaMode |
the alpha handling mode |
visual |
const DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1870.
dvz_visual_attach_desc()¶
Return the default visual attachment descriptor.
DvzVisualAttachDesc dvz_visual_attach_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzVisualAttachDesc |
default visual attachment descriptor |
Declared in include/datoviz/scene.h:1089.
dvz_visual_attr_count()¶
Return the number of public attributes accepted by a visual family.
uint32_t dvz_visual_attr_count(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | uint32_t |
the number of supported public attributes, or 0 when visual is NULL |
visual |
const DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1721.
dvz_visual_attr_format()¶
Return the effective storage format for a visual attribute.
Missing attributes return the family default format.
DvzVisualAttrFormat dvz_visual_attr_format(
const DvzVisual * visual,
const char * attr_name
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisualAttrFormat |
the effective attribute storage format |
visual |
const DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
Declared in include/datoviz/scene.h:2029.
dvz_visual_attr_info()¶
Copy public metadata for one visual attribute.
The returned name pointer is owned by Datoviz and remains valid for the process lifetime.
source_mask uses (1u << DvzVisualAttrSource) bits.
DvzResult dvz_visual_attr_info(
const DvzVisual * visual,
uint32_t index,
DvzVisualAttrInfo * out
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on invalid arguments |
visual |
const DvzVisual * |
the visual |
index |
uint32_t |
attribute index in [0, dvz_visual_attr_count()) |
out |
DvzVisualAttrInfo * |
output attribute metadata |
Declared in include/datoviz/scene.h:1736.
dvz_visual_attr_mutability()¶
Return the expected update frequency for a visual attribute.
Missing attributes default to DVZ_VISUAL_ATTR_MUTABILITY_DYNAMIC.
DvzVisualAttrMutability dvz_visual_attr_mutability(
const DvzVisual * visual,
const char * attr_name
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisualAttrMutability |
the mutability hint |
visual |
const DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
Declared in include/datoviz/scene.h:1997.
dvz_visual_attr_source()¶
Return the semantic source for a visual attribute.
Missing attributes default to DVZ_VISUAL_ATTR_SOURCE_PER_ITEM.
DvzVisualAttrSource dvz_visual_attr_source(
const DvzVisual * visual,
const char * attr_name
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisualAttrSource |
the semantic attribute source |
visual |
const DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
Declared in include/datoviz/scene.h:1969.
dvz_visual_attr_supported()¶
Return whether a visual accepts one public attribute name.
_Bool dvz_visual_attr_supported(
const DvzVisual * visual,
const char * attr_name
);
| Field | Type | Description |
|---|---|---|
| return | _Bool |
whether the attribute is accepted by the visual family |
visual |
const DvzVisual * |
the visual |
attr_name |
const char * |
public attribute name |
Declared in include/datoviz/scene.h:1746.
dvz_visual_blend_mode()¶
Return the visual blend mode.
DvzBlendMode dvz_visual_blend_mode(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzBlendMode |
the visual blend mode |
visual |
const DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1831.
dvz_visual_bounds()¶
Return the retained visual-space bounding box of one visual.
The box is computed from CPU-retained dense visual attributes and family-specific geometry state. It does not require an emitted frame or a live graphics backend. Buffer-backed attributes do not expose CPU-side bounds in the current v0.4 path.
DvzResult dvz_visual_bounds(
const DvzVisual * visual,
DvzBounds * out
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 when bounds are available, -1 otherwise |
visual |
const DvzVisual * |
the visual |
out |
DvzBounds * |
output bounding box |
Declared in include/datoviz/scene.h:2134.
dvz_visual_clear_item_range()¶
Clear the active logical item range and restore full visual participation.
DvzResult dvz_visual_clear_item_range(
DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK if the item range was cleared, DVZ_ERROR otherwise |
visual |
DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:2107.
dvz_visual_clear_transform()¶
Clear the retained visual-local transform back to identity.
DvzResult dvz_visual_clear_transform(
DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1940.
dvz_visual_data()¶
Return a read-only view of retained dense visual attribute data.
Attribute aliases are resolved with the same storage-name rules as dvz_visual_set_data(). Buffer-backed, field-backed, metadata-only, and missing attributes do not expose dense data through this dense-data view.
DvzResult dvz_visual_data(
const DvzVisual * visual,
const char * attr_name,
DvzVisualDataView * out
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 when dense data is available, -1 otherwise |
visual |
const DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
out |
DvzVisualDataView * |
output data view |
Declared in include/datoviz/scene.h:2080.
dvz_visual_depth_test()¶
Return whether depth testing is enabled for the visual.
_Bool dvz_visual_depth_test(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | _Bool |
whether depth testing is enabled |
visual |
const DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1792.
dvz_visual_destroy()¶
Destroy a visual.
void dvz_visual_destroy(
DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
visual |
DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1685.
dvz_visual_family()¶
Return the family of a visual.
DvzSceneVisualFamily dvz_visual_family(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzSceneVisualFamily |
the visual family, or DVZ_SCENE_VISUAL_FAMILY_NONE when visual is NULL |
visual |
const DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1703.
dvz_visual_family_name()¶
Return the stable public name of a visual family.
const char * dvz_visual_family_name(
DvzSceneVisualFamily family
);
| Field | Type | Description |
|---|---|---|
| return | const char * |
the family name, or "none" for unknown/none |
family |
DvzSceneVisualFamily |
the visual family |
Declared in include/datoviz/scene.h:1712.
dvz_visual_get_item_range()¶
Return the effective logical item range for a retained visual.
When no explicit range is active, this returns the full effective range. This first API does not distinguish an explicitly full active range from a cleared range.
_Bool dvz_visual_get_item_range(
const DvzVisual * visual,
DvzItemRange * out
);
| Field | Type | Description |
|---|---|---|
| return | _Bool |
true on success, false on invalid input or unsupported visual state |
visual |
const DvzVisual * |
the visual |
out |
DvzItemRange * |
output item range |
Declared in include/datoviz/scene.h:2120.
dvz_visual_get_transform()¶
Copy the retained visual-local transform.
When no transform is retained, this writes identity to out.
DvzResult dvz_visual_get_transform(
const DvzVisual * visual,
mat4 out
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
const DvzVisual * |
the visual |
out |
mat4 |
output local model transform |
Declared in include/datoviz/scene.h:1931.
dvz_visual_has_transform()¶
Return whether a visual has a retained local transform.
_Bool dvz_visual_has_transform(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | _Bool |
whether a non-default local transform is retained |
visual |
const DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1919.
dvz_visual_id()¶
Return the scene-local identity of a visual.
DvzId dvz_visual_id(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzId |
the scene-local identity, or DVZ_ID_NONE when visual is NULL |
visual |
const DvzVisual * |
the visual |
Declared in include/datoviz/scene.h:1694.
dvz_visual_set_alpha_mode()¶
Set the visual alpha handling mode.
This controls which transparency path the scene planner should use for the visual. Use DVZ_ALPHA_BLENDED for ordinary source-over alpha blending, DVZ_ALPHA_WBOIT for weighted blended order-independent transparency, and DVZ_ALPHA_DEPTH_PEEL for the depth-peeling order-independent transparency path.
DvzResult dvz_visual_set_alpha_mode(
DvzVisual * visual,
DvzAlphaMode mode
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
mode |
DvzAlphaMode |
the alpha handling mode |
Declared in include/datoviz/scene.h:1807.
dvz_visual_set_attr_buffer()¶
Bind a scene-owned buffer to a per-item visual attribute.
This is the C-level groundwork for externally produced GPU attributes. v0.4 currently supports
planar vertex attributes only: the scene buffer stride must match the attribute item size, and
the attribute source must remain DVZ_VISUAL_ATTR_SOURCE_PER_ITEM.
If the bound scene buffer has CPU data, the scene emits normal buffer upload commands. If it has no CPU data, the scene registers the resource label for a live runtime to satisfy separately and emits no CPU upload for that attribute.
DvzResult dvz_visual_set_attr_buffer(
DvzVisual * visual,
const char * attr_name,
DvzSceneBuffer * buffer,
uint64_t byte_offset,
uint32_t item_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on error |
visual |
DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
buffer |
DvzSceneBuffer * |
the scene buffer, or NULL to clear the binding |
byte_offset |
uint64_t |
byte offset into the buffer |
item_count |
uint32_t |
number of attribute items |
Declared in include/datoviz/scene.h:2431.
dvz_visual_set_attr_format()¶
Declare the storage format for a visual attribute.
The format changes the payload type accepted by dvz_visual_set_data() for that attribute.
It must be set before dense data or an external buffer is attached. Missing attributes use the
family default format; point and pixel "color" default to DVZ_VISUAL_ATTR_FORMAT_RGBA_U8.
DVZ_VISUAL_ATTR_FORMAT_SCALAR_F32 is currently defined for point and pixel "color" and
requires a continuous scale bound to the semantic "color" slot.
DvzResult dvz_visual_set_attr_format(
DvzVisual * visual,
const char * attr_name,
DvzVisualAttrFormat format
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
format |
DvzVisualAttrFormat |
requested attribute storage format |
Declared in include/datoviz/scene.h:2015.
dvz_visual_set_attr_mutability()¶
Declare the expected update frequency for a visual attribute.
The hint is advisory and does not change ownership. It should be set before attaching data when callers know that an attribute is static or updated every frame.
DvzResult dvz_visual_set_attr_mutability(
DvzVisual * visual,
const char * attr_name,
DvzVisualAttrMutability mutability
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
mutability |
DvzVisualAttrMutability |
the expected update frequency |
Declared in include/datoviz/scene.h:1983.
dvz_visual_set_attr_source()¶
Declare the semantic source for a visual attribute.
This metadata is used by scene planning and future external-buffer lowering. The active dense
data path remains DVZ_VISUAL_ATTR_SOURCE_PER_ITEM; non-per-item sources may be declared only
before dense data is attached to the attribute.
DvzResult dvz_visual_set_attr_source(
DvzVisual * visual,
const char * attr_name,
DvzVisualAttrSource source
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
attr_name |
const char * |
attribute name |
source |
DvzVisualAttrSource |
the semantic attribute source |
Declared in include/datoviz/scene.h:1955.
dvz_visual_set_blend_mode()¶
Set how an ordinarily blended visual is composited with the current color target.
Blend mode is independent from alpha mode. DVZ_BLEND_SOURCE_OVER is the default and uses
ordinary source-over composition. DVZ_BLEND_ADDITIVE accumulates source RGB using source alpha
while preserving source-over alpha coverage. Additive composition requires
DVZ_ALPHA_BLENDED; it is invalid with WBOIT or depth peeling.
DvzResult dvz_visual_set_blend_mode(
DvzVisual * visual,
DvzBlendMode mode
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
mode |
DvzBlendMode |
the visual blend mode |
Declared in include/datoviz/scene.h:1822.
dvz_visual_set_buffer()¶
Bind a scene-owned buffer to a named visual slot.
v0.4 primitive and mesh visuals accept the "index" slot. The bound scene buffer must advertise
DVZ_SCENE_BUFFER_USAGE_INDEX.
DvzResult dvz_visual_set_buffer(
DvzVisual * visual,
const char * slot_name,
DvzSceneBuffer * buffer
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on error |
visual |
DvzVisual * |
the visual |
slot_name |
const char * |
the semantic slot name |
buffer |
DvzSceneBuffer * |
the buffer, or NULL to clear the binding |
Declared in include/datoviz/scene.h:2394.
dvz_visual_set_data()¶
Write attribute data to a visual.
v0.4 visual families currently accept:
| Visual family | Attributes |
|---|---|
| point | "position" (vec3f), "color" (RGBA8 or scalar float with a color scale), "diameter_px" (float pixels), optional "item_state" (uint32_t DvzItemStateKind bitfield) |
| splat | "position" (vec3f), "color" (RGBA8), "sigma" (vec2f pixels), "angle" (float radians) |
| pixel | "position" (vec3f), "color" (RGBA8 or scalar float with a color scale), "pixel_size_px" (float pixels), optional "item_state" (uint32_t DvzItemStateKind bitfield) |
| marker | "position" (vec3f), "color" (RGBA8), "diameter_px" (float pixels), "angle" (float radians), "shape" (uint32_t DvzMarkerShape), optional "item_state" (uint32_t DvzItemStateKind bitfield) |
| sphere | "position" (vec3f), "color" (RGBA8), "radius" (float scene units) |
| segment | "position_start" (vec3f), "position_end" (vec3f), "color" (RGBA8), "stroke_width_px" (float pixels) |
| primitive | "position" (vec3f), "color" (RGBA8), primitive-only "normal" (vec3f) |
| path | "position" (vec3f), "color" (RGBA8), optional "stroke_width_px" (float pixels) |
| mesh | "position" (vec3f), optional "color" (RGBA8), optional "normal" (vec3f), optional "texcoords" (vec2f), optional "instance_transform" (mat4f, one per instance) |
| image | corner-vertex "position" (vec3f) + "texcoords" (vec2f), or per-item "position" (vec3f) + "extent" (vec2f) with optional "tex_rect" (vec4f) and "anchor" (vec2f) |
| text | string attribute "text" plus per-string "position" (vec3f pixels), optional "anchor" (vec2f), "size" (float pixels), "color" (RGBA8), "angle" (float radians, positive counter-clockwise in rendered y-up coordinates) |
| glyph | "position" (vec3f anchor), "bounds" (vec4f local pixel bounds), "texcoords" (vec4f atlas UV bounds), "color" (RGBA8), "angle" (float radians, positive counter-clockwise in rendered y-up coordinates) |
All configured attributes on one visual must use the same item_count. Retained mutation is legal after frame artifact creation; changes are reflected only in later artifacts.
DvzResult dvz_visual_set_data(
DvzVisual * visual,
const char * attr_name,
const void * data,
uint32_t item_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
attr_name |
const char * |
attribute name (family-specific, e.g. "position", "color") The payload is copied before this function returns. The caller keeps ownership of data and may release or reuse it immediately after a successful or failed call. |
data |
const void * |
packed data array borrowed for the duration of the call |
item_count |
uint32_t |
number of items |
Related: dvz_visual_set_data_many(), dvz_visual_set_data_range().
Declared in include/datoviz/scene.h:2064.
dvz_visual_set_data_many()¶
Atomically replace several dense visual attribute payloads.
This is the preferred API when changing the item count of a visual with several per-item attributes, such as point position/color/size. All updates are validated before any existing attribute payload is replaced. Every update in the batch must use the same item_count, and any existing dense per-item attribute with a different item_count must also be included in the batch. Retained mutation is legal after frame artifact creation; changes are reflected only in later artifacts.
DvzResult dvz_visual_set_data_many(
DvzVisual * visual,
const DvzVisualDataUpdate * updates,
uint32_t update_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual Every payload referenced by updates is copied before this function returns. The caller keeps ownership of update descriptors and payload pointers and may release or reuse them immediately after a successful or failed call. |
updates |
const DvzVisualDataUpdate * |
attribute update descriptors borrowed for the duration of the call |
update_count |
uint32_t |
number of update descriptors |
Related: dvz_visual_set_data().
Declared in include/datoviz/scene.h:2200.
dvz_visual_set_data_range()¶
Write a contiguous sub-range of attribute data to a visual.
The attribute must already be fully allocated by a prior dvz_visual_set_data() call. Only the items in [first_item, first_item + item_count) are uploaded on the next emit. Retained mutation is legal after frame artifact creation; changes are reflected only in later artifacts.
DvzResult dvz_visual_set_data_range(
DvzVisual * visual,
const char * attr_name,
uint32_t first_item,
const void * data,
uint32_t item_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
attr_name |
const char * |
attribute name The payload is copied before this function returns. The caller keeps ownership of data and may release or reuse it immediately after a successful or failed call. |
first_item |
uint32_t |
index of the first item to update |
data |
const void * |
packed array of item_count items borrowed for the duration of the call |
item_count |
uint32_t |
number of items to update |
Related: dvz_visual_set_data().
Declared in include/datoviz/scene.h:2222.
dvz_visual_set_depth_test()¶
Enable or disable depth testing for the visual.
Depth-tested opaque visuals write and test against scene depth. Transparent visuals use depth testing to decide whether transparent fragments are occluded by previously rendered opaque geometry. Disabling it is primarily useful for diagnostics and overlays.
DvzResult dvz_visual_set_depth_test(
DvzVisual * visual,
_Bool enabled
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
enabled |
_Bool |
true to depth-test, false to ignore scene depth |
Declared in include/datoviz/scene.h:1783.
dvz_visual_set_field()¶
Bind a scene-owned sampled field to a named visual slot.
Image, glyph, and labels visuals accept the "field" slot and require a 2D field. Mesh visuals
accept the "texture" slot for a v0.4 RGBA8 2D texture. Volume visuals accept the "field" slot
and require a 3D field. Labels visuals additionally require
DVZ_FIELD_SEMANTIC_LABEL.
DvzResult dvz_visual_set_field(
DvzVisual * visual,
const char * slot_name,
const DvzSampledField * field
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK on success, DVZ_ERROR on error |
visual |
DvzVisual * |
the visual |
slot_name |
const char * |
the semantic slot name |
field |
const DvzSampledField * |
the field, or NULL to clear the binding |
Declared in include/datoviz/scene/field.h:307.
dvz_visual_set_index_data()¶
Replace a visual's index buffer with copied 32-bit index data.
This convenience path creates a scene-owned index buffer, copies the index payload into it, and
binds it to the visual's "index" slot. Use dvz_scene_buffer() plus
dvz_visual_set_buffer() instead when the index buffer must be shared across several visuals.
DvzResult dvz_visual_set_index_data(
DvzVisual * visual,
const DvzIndex * indices,
uint32_t index_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the primitive or mesh visual |
indices |
const DvzIndex * |
index array |
index_count |
uint32_t |
number of indices |
Declared in include/datoviz/scene.h:2410.
dvz_visual_set_item_range()¶
Set the active logical item range for a retained visual.
The active range is expressed in logical item units: [first_item, first_item + item_count). Changing it affects draw/query/export contribution planning only; it does not upload or rewrite attribute buffers. The point visual is the first supported family for this v0.4 slice.
DvzResult dvz_visual_set_item_range(
DvzVisual * visual,
uint32_t first_item,
uint32_t item_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
first_item |
uint32_t |
first logical item in the active range |
item_count |
uint32_t |
number of logical items in the active range; zero is valid |
Declared in include/datoviz/scene.h:2098.
dvz_visual_set_link_keys()¶
Bind per-item link keys for a visual on one link channel.
link_keys must contain item_count entries and must not be NULL unless item_count is zero.
The keys are copied before return. Passing zero entries clears the binding for this channel.
DvzResult dvz_visual_set_link_keys(
DvzVisual * visual,
DvzLinkChannel * channel,
const uint64_t * link_keys,
uint32_t item_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
channel |
DvzLinkChannel * |
the link channel |
link_keys |
const uint64_t * |
array of link keys |
item_count |
uint32_t |
number of keys |
Declared in include/datoviz/scene/interaction.h:133.
dvz_visual_set_query_capabilities()¶
Declare the query capabilities exposed by a visual.
DvzResult dvz_visual_set_query_capabilities(
DvzVisual * visual,
uint32_t capabilities
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK when the capabilities were accepted, DVZ_ERROR on error |
visual |
DvzVisual * |
the visual |
capabilities |
uint32_t |
bitwise OR of DvzQueryCapabilityFlag values |
Declared in include/datoviz/scene/interaction.h:118.
dvz_visual_set_scale()¶
Bind a scene-owned scale to a named visual slot.
Visual scale slots are semantic attribute names. Point and pixel visuals accept the "color"
slot with a continuous scale when their "color" attribute format is
DVZ_VISUAL_ATTR_FORMAT_SCALAR_F32. Image and volume visuals use "color" for continuous
sampled fields. Labels visuals and label-volume render modes use "labels" with a categorical
scale.
DvzResult dvz_visual_set_scale(
DvzVisual * visual,
const char * slot_name,
const DvzScale * scale
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
slot_name |
const char * |
the semantic slot name |
scale |
const DvzScale * |
the scale, or NULL to clear the binding |
Declared in include/datoviz/scene/scale.h:732.
dvz_visual_set_shader_desc()¶
Set the visual shader descriptor.
v0.4 accepts only NULL or DVZ_VISUAL_SHADER_NONE. Custom visual families and built-in shader
replacement are reserved for future releases and return -1.
DvzResult dvz_visual_set_shader_desc(
DvzVisual * visual,
const DvzVisualShaderDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation error or unsupported shader kind |
visual |
DvzVisual * |
the visual |
desc |
const DvzVisualShaderDesc * |
shader descriptor, or NULL to clear the future shader slot |
Declared in include/datoviz/scene.h:1897.
dvz_visual_set_strings()¶
Write variable-length string data to a visual.
Text visuals accept the "text" string attribute. The item count must match any configured
per-item dense attributes.
DvzResult dvz_visual_set_strings(
DvzVisual * visual,
const char * attr_name,
const char *const * strings,
uint32_t item_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
attr_name |
const char * |
string attribute name |
strings |
const char *const * |
string array |
item_count |
uint32_t |
number of strings |
Declared in include/datoviz/scene.h:2177.
dvz_visual_set_transform()¶
Set the retained visual-local transform.
The transform is stored on the visual and applies to every panel attachment before panel controller/view transforms.
DvzResult dvz_visual_set_transform(
DvzVisual * visual,
mat4 transform
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the visual |
transform |
mat4 |
local model transform |
Declared in include/datoviz/scene.h:1910.
dvz_visual_set_transform_desc()¶
Set the future scene-managed visual transform descriptor.
v0.4 accepts only NULL or DVZ_VISUAL_TRANSFORM_NONE. Scene-managed nonlinear/custom transforms
are reserved for future releases and return -1.
DvzResult dvz_visual_set_transform_desc(
DvzVisual * visual,
const DvzVisualTransformDesc * desc
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on validation error or unsupported transform kind |
visual |
DvzVisual * |
the visual |
desc |
const DvzVisualTransformDesc * |
transform descriptor, or NULL to clear the future transform slot |
Related: dvz_visual_set_transform().
Declared in include/datoviz/scene.h:1884.
dvz_visual_set_visible()¶
Set visual visibility.
DvzResult dvz_visual_set_visible(
DvzVisual * visual,
_Bool visible
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
DVZ_OK if visibility was updated, DVZ_ERROR otherwise |
visual |
DvzVisual * |
the visual |
visible |
_Bool |
true to show, false to hide |
Declared in include/datoviz/scene.h:1769.
dvz_visual_shader_desc()¶
Return the default visual shader descriptor.
v0.4 accepts only DVZ_VISUAL_SHADER_NONE; custom visual families and built-in shader
replacement are reserved for future releases.
DvzVisualShaderDesc dvz_visual_shader_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzVisualShaderDesc |
default visual shader descriptor |
Declared in include/datoviz/scene.h:1111.
dvz_visual_transform_desc()¶
Return the default future visual transform descriptor.
v0.4 accepts only DVZ_VISUAL_TRANSFORM_NONE through the descriptor path. Use
dvz_visual_set_transform() for the supported affine visual-local transform.
DvzVisualTransformDesc dvz_visual_transform_desc(void);
| Field | Type | Description |
|---|---|---|
| return | DvzVisualTransformDesc |
default visual transform descriptor |
Declared in include/datoviz/scene.h:1100.
dvz_visual_validate()¶
Validate retained visual-local state.
This checks that stored attributes are supported by the visual family and that retained attribute metadata is internally consistent.
_Bool dvz_visual_validate(
const DvzVisual * visual,
DvzDiagnosticReport * report
);
| Field | Type | Description |
|---|---|---|
| return | _Bool |
whether the retained visual state is valid |
visual |
const DvzVisual * |
the visual |
report |
DvzDiagnosticReport * |
output diagnostic report (nullable) |
Declared in include/datoviz/scene.h:1759.
Types
DvzAlphaMode · enum
enum DvzAlphaMode {
DVZ_ALPHA_OPAQUE = 0,
DVZ_ALPHA_BLENDED = 1,
DVZ_ALPHA_WBOIT = 2,
DVZ_ALPHA_DEPTH_PEEL = 3,
DVZ_ALPHA_MASK = 4,
};
Declared in include/datoviz/scene/enums.h:223.
DvzSceneVisualFamily · enum
enum DvzSceneVisualFamily {
DVZ_SCENE_VISUAL_FAMILY_NONE = 0,
DVZ_SCENE_VISUAL_FAMILY_POINT = 1,
DVZ_SCENE_VISUAL_FAMILY_PIXEL = 2,
DVZ_SCENE_VISUAL_FAMILY_MARKER = 3,
DVZ_SCENE_VISUAL_FAMILY_SEGMENT = 4,
DVZ_SCENE_VISUAL_FAMILY_VECTOR = 5,
DVZ_SCENE_VISUAL_FAMILY_PATH = 6,
DVZ_SCENE_VISUAL_FAMILY_IMAGE = 7,
DVZ_SCENE_VISUAL_FAMILY_MESH = 8,
DVZ_SCENE_VISUAL_FAMILY_VOLUME = 9,
DVZ_SCENE_VISUAL_FAMILY_PRIMITIVE = 10,
DVZ_SCENE_VISUAL_FAMILY_SPHERE = 11,
DVZ_SCENE_VISUAL_FAMILY_GLYPH = 12,
DVZ_SCENE_VISUAL_FAMILY_TEXT = 13,
DVZ_SCENE_VISUAL_FAMILY_LABELS = 14,
DVZ_SCENE_VISUAL_FAMILY_SPLAT = 15,
};
Declared in include/datoviz/scene/enums.h:444.
DvzShapeAspect · enum
enum DvzShapeAspect {
DVZ_SHAPE_ASPECT_FILLED = 0,
DVZ_SHAPE_ASPECT_STROKE = 1,
DVZ_SHAPE_ASPECT_OUTLINE = 2,
};
Declared in include/datoviz/scene/enums.h:360.
DvzVisual · typedef
typedef struct DvzVisual DvzVisual;
Declared in include/datoviz/scene/types.h:63.
DvzVisualAttachDesc · record
struct DvzVisualAttachDesc {
uint32_t struct_size;
uint32_t flags;
int32_t z_layer;
DvzControllerMode controller_mode;
DvzVisualCoordSpace coord_space;
DvzVisualClipRect clip_rect;
DvzVisualViewportRect viewport_rect;
};
Declared in include/datoviz/scene/types.h:1158.
DvzVisualAttrFormat · enum
enum DvzVisualAttrFormat {
DVZ_VISUAL_ATTR_FORMAT_DEFAULT = 0,
DVZ_VISUAL_ATTR_FORMAT_RGBA_U8 = 1,
DVZ_VISUAL_ATTR_FORMAT_SCALAR_F32 = 2,
};
Declared in include/datoviz/scene/enums.h:545.
DvzVisualAttrInfo · record
struct DvzVisualAttrInfo {
const char * name;
uint32_t item_size;
uint32_t source_mask;
DvzVisualAttrFormat default_format;
_Bool instance;
};
Declared in include/datoviz/scene/types.h:1192.
DvzVisualAttrMutability · enum
enum DvzVisualAttrMutability {
DVZ_VISUAL_ATTR_MUTABILITY_DYNAMIC = 0,
DVZ_VISUAL_ATTR_MUTABILITY_STATIC = 1,
DVZ_VISUAL_ATTR_MUTABILITY_STREAMING = 2,
};
Declared in include/datoviz/scene/enums.h:107.
DvzVisualAttrSource · enum
enum DvzVisualAttrSource {
DVZ_VISUAL_ATTR_SOURCE_PER_ITEM = 0,
DVZ_VISUAL_ATTR_SOURCE_CONSTANT = 1,
DVZ_VISUAL_ATTR_SOURCE_PER_SPAN = 2,
DVZ_VISUAL_ATTR_SOURCE_PER_GROUP = 3,
};
Declared in include/datoviz/scene/enums.h:97.
DvzVisualClipRect · enum
enum DvzVisualClipRect {
DVZ_VISUAL_CLIP_AUTO = 0,
DVZ_VISUAL_CLIP_PANEL = 1,
DVZ_VISUAL_CLIP_PLOT = 2,
};
Declared in include/datoviz/scene/enums.h:143.
DvzVisualCoordSpace · enum
enum DvzVisualCoordSpace {
DVZ_VISUAL_COORD_VIEW = 0,
DVZ_VISUAL_COORD_DATA = 1,
DVZ_VISUAL_COORD_PANEL = 2,
DVZ_VISUAL_COORD_PANEL_PIXEL = 3,
};
Declared in include/datoviz/scene/enums.h:133.
DvzVisualDataUpdate · record
struct DvzVisualDataUpdate {
const char * attr_name;
const void * data;
uint32_t item_count;
};
Declared in include/datoviz/scene/types.h:1171.
DvzVisualDataView · record
struct DvzVisualDataView {
const void * data;
uint64_t item_count;
uint32_t item_size;
DvzVisualAttrSource source;
DvzVisualAttrMutability mutability;
uint64_t version;
};
Declared in include/datoviz/scene/types.h:1180.
DvzVisualShaderDesc · record
struct DvzVisualShaderDesc {
uint32_t struct_size;
uint32_t flags;
DvzVisualShaderKind kind;
DvzVisualShaderSource vertex_source;
DvzVisualShaderSource fragment_source;
uint64_t shader_id;
const char * family;
const char * variant;
const char * label;
const void * vertex_code;
uint64_t vertex_code_size;
const void * fragment_code;
uint64_t fragment_code_size;
};
Declared in include/datoviz/scene/types.h:305.
DvzVisualShaderKind · enum
enum DvzVisualShaderKind {
DVZ_VISUAL_SHADER_NONE = 0,
DVZ_VISUAL_SHADER_CUSTOM_FAMILY = 1,
DVZ_VISUAL_SHADER_BUILTIN_REPLACEMENT = 2,
};
Declared in include/datoviz/scene/enums.h:173.
DvzVisualShaderSource · enum
enum DvzVisualShaderSource {
DVZ_VISUAL_SHADER_SOURCE_NONE = 0,
DVZ_VISUAL_SHADER_SOURCE_GLSL = 1,
DVZ_VISUAL_SHADER_SOURCE_WGSL = 2,
DVZ_VISUAL_SHADER_SOURCE_SPIRV = 3,
};
Declared in include/datoviz/scene/enums.h:181.
DvzVisualTransformDesc · record
struct DvzVisualTransformDesc {
uint32_t struct_size;
uint32_t flags;
DvzVisualTransformKind kind;
DvzVisualTransformSpace input_space;
DvzVisualTransformSpace output_space;
uint64_t transform_id;
const char * label;
mat4 matrix;
};
Declared in include/datoviz/scene/types.h:292.
DvzVisualTransformKind · enum
enum DvzVisualTransformKind {
DVZ_VISUAL_TRANSFORM_NONE = 0,
DVZ_VISUAL_TRANSFORM_LINEAR = 1,
DVZ_VISUAL_TRANSFORM_NONLINEAR = 2,
DVZ_VISUAL_TRANSFORM_CUSTOM = 3,
};
Declared in include/datoviz/scene/enums.h:115.
DvzVisualTransformSpace · enum
enum DvzVisualTransformSpace {
DVZ_VISUAL_TRANSFORM_SPACE_DATA = 0,
DVZ_VISUAL_TRANSFORM_SPACE_VISUAL = 1,
DVZ_VISUAL_TRANSFORM_SPACE_PANEL = 2,
};
Declared in include/datoviz/scene/enums.h:124.
DvzVisualViewportRect · enum
enum DvzVisualViewportRect {
DVZ_VISUAL_VIEWPORT_AUTO = 0,
DVZ_VISUAL_VIEWPORT_PANEL = 1,
DVZ_VISUAL_VIEWPORT_PLOT = 2,
DVZ_VISUAL_VIEWPORT_TARGET = 3,
};
Declared in include/datoviz/scene/enums.h:152.
Volume¶
Functions
dvz_volume()¶
Create a volume visual.
Volume visuals retain a 3D sampled field bound through
dvz_visual_set_field(volume, "field", field). The native runtime renders a box proxy and
supports full-volume composite rendering by default, plus slice and MIP modes.
DvzVisual * dvz_volume(
DvzScene * scene,
uint32_t flags
);
| Field | Type | Description |
|---|---|---|
| return | DvzVisual * |
the visual |
scene |
DvzScene * |
the scene |
flags |
uint32_t |
variant flags |
Declared in include/datoviz/scene.h:3795.
dvz_volume_clear_clipping()¶
Disable all clipping on a volume visual.
DvzResult dvz_volume_clear_clipping(
DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
Declared in include/datoviz/scene.h:3956.
dvz_volume_clear_clipping_plane()¶
Disable arbitrary plane clipping on a volume visual.
DvzResult dvz_volume_clear_clipping_plane(
DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
Declared in include/datoviz/scene.h:3947.
dvz_volume_set_alpha_stops()¶
Set piecewise-linear opacity stops for scalar volume transfer.
DvzResult dvz_volume_set_alpha_stops(
DvzVisual * visual,
const DvzVolumeAlphaStop * stops,
uint32_t count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
stops |
const DvzVolumeAlphaStop * |
alpha stops sorted or unsorted by position |
count |
uint32_t |
number of stops, at most 8 |
Declared in include/datoviz/scene.h:3909.
dvz_volume_set_axis_mapping()¶
Set the mapping from normalized volume coordinates to texture UVW coordinates.
axis_order[i] selects the normalized volume coordinate used for texture axis i.
axis_flip[i] flips texture axis i after reordering. Pass NULL for axis_flip to disable
all flips.
DvzResult dvz_volume_set_axis_mapping(
DvzVisual * visual,
const uint32_t[3] axis_order,
const _Bool[3] axis_flip
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
axis_order |
const uint32_t[3] |
texture-axis source order, a permutation of 0, 1, 2 |
axis_flip |
const _Bool[3] |
optional per-texture-axis flips |
Declared in include/datoviz/scene.h:3886.
dvz_volume_set_bounds()¶
Set the object-space volume proxy bounds.
The bounds control the rendered box geometry while preserving normalized UVW texture sampling. They are useful for displaying anisotropic volumes in their physical aspect ratio.
DvzResult dvz_volume_set_bounds(
DvzVisual * visual,
const double[3] bounds_min,
const double[3] bounds_max
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
bounds_min |
const double[3] |
minimum object-space coordinate |
bounds_max |
const double[3] |
maximum object-space coordinate |
Declared in include/datoviz/scene.h:3871.
dvz_volume_set_clipping_box()¶
Enable axis-aligned clipping on a volume visual.
DvzResult dvz_volume_set_clipping_box(
DvzVisual * visual,
const double[3] clip_min,
const double[3] clip_max
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
clip_min |
const double[3] |
minimum normalized clip coordinate |
clip_max |
const double[3] |
maximum normalized clip coordinate |
Declared in include/datoviz/scene.h:3922.
dvz_volume_set_clipping_plane()¶
Enable arbitrary plane clipping on a volume visual.
The plane is defined in normalized volume coordinates. Voxels for which
dot(normal, uvw - point) has the selected sign are kept.
DvzResult dvz_volume_set_clipping_plane(
DvzVisual * visual,
const double[3] point,
const double[3] normal,
_Bool keep_positive
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
point |
const double[3] |
point on the clipping plane, in normalized volume coordinates |
normal |
const double[3] |
non-zero clipping plane normal |
keep_positive |
_Bool |
whether to keep the positive side of the plane |
Declared in include/datoviz/scene.h:3937.
dvz_volume_set_opacity()¶
Set the global opacity multiplier on a volume visual.
DvzResult dvz_volume_set_opacity(
DvzVisual * visual,
float opacity
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
opacity |
float |
opacity multiplier in [0, 1] |
Declared in include/datoviz/scene.h:3805.
dvz_volume_set_render_mode()¶
Set the volume render mode.
DvzResult dvz_volume_set_render_mode(
DvzVisual * visual,
DvzVolumeRenderMode mode
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
mode |
DvzVolumeRenderMode |
the render mode |
Declared in include/datoviz/scene.h:3826.
dvz_volume_set_sampling()¶
Set the texture sampling mode on a volume visual.
DvzResult dvz_volume_set_sampling(
DvzVisual * visual,
DvzVolumeSamplingMode sampling
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
sampling |
DvzVolumeSamplingMode |
the sampling mode |
Declared in include/datoviz/scene.h:3816.
dvz_volume_set_slice_axis()¶
Set the volume slice axis.
DvzResult dvz_volume_set_slice_axis(
DvzVisual * visual,
DvzVolumeAxis axis
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
axis |
DvzVolumeAxis |
axis normal for slicing planes (X/Y/Z) |
Declared in include/datoviz/scene.h:3836.
dvz_volume_set_slice_position()¶
Set the normalized volume slice position.
DvzResult dvz_volume_set_slice_position(
DvzVisual * visual,
double position
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
position |
double |
slice position in [0, 1], where 0 is the minimum axis coordinate |
Declared in include/datoviz/scene.h:3846.
dvz_volume_set_step_count()¶
Set the volume raymarch step count used by MIP and composite rendering.
DvzResult dvz_volume_set_step_count(
DvzVisual * visual,
uint32_t step_count
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
step_count |
uint32_t |
number of raymarch samples |
Declared in include/datoviz/scene.h:3856.
dvz_volume_set_value_range()¶
Set the scalar value range used before transfer texture lookup.
DvzResult dvz_volume_set_value_range(
DvzVisual * visual,
double min,
double max
);
| Field | Type | Description |
|---|---|---|
| return | DvzResult |
0 on success, -1 on error |
visual |
DvzVisual * |
the volume visual |
min |
double |
minimum scalar value mapped to 0 |
max |
double |
maximum scalar value mapped to 1 |
Declared in include/datoviz/scene.h:3898.
dvz_volume_state()¶
Return the retained volume state for inspection.
const DvzVolumeState * dvz_volume_state(
const DvzVisual * visual
);
| Field | Type | Description |
|---|---|---|
| return | const DvzVolumeState * |
the volume state, or NULL on error |
visual |
const DvzVisual * |
the volume visual |
Declared in include/datoviz/scene.h:3965.
Types
DvzVolumeAlphaStop · record
struct DvzVolumeAlphaStop {
double position;
float alpha;
};
Declared in include/datoviz/scene/types.h:1090.
DvzVolumeAxis · enum
enum DvzVolumeAxis {
DVZ_VOLUME_AXIS_X = 0,
DVZ_VOLUME_AXIS_Y = 1,
DVZ_VOLUME_AXIS_Z = 2,
};
Declared in include/datoviz/scene/enums.h:415.
DvzVolumeRenderMode · enum
enum DvzVolumeRenderMode {
DVZ_VOLUME_RENDER_SLICE = 0,
DVZ_VOLUME_RENDER_MIP = 1,
DVZ_VOLUME_RENDER_COMPOSITE = 2,
};
Declared in include/datoviz/scene/enums.h:406.
DvzVolumeSamplingMode · enum
enum DvzVolumeSamplingMode {
DVZ_VOLUME_SAMPLING_LINEAR = 0,
DVZ_VOLUME_SAMPLING_NEAREST = 1,
};
Declared in include/datoviz/scene/enums.h:399.
DvzVolumeState · record
struct DvzVolumeState {
float opacity;
DvzVolumeSamplingMode sampling;
DvzVolumeRenderMode render_mode;
DvzVolumeAxis slice_axis;
double slice_position;
_Bool clipping_enabled;
double[3] clip_min;
double[3] clip_max;
_Bool clip_plane_enabled;
_Bool clip_plane_keep_positive;
double[3] clip_plane_point;
double[3] clip_plane_normal;
double[3] bounds_min;
double[3] bounds_max;
uint32_t[3] axis_order;
_Bool[3] axis_flip;
double value_min;
double value_max;
DvzVolumeAlphaStop[8] alpha_stops;
uint32_t alpha_stop_count;
uint32_t step_count;
uint64_t version;
};
Declared in include/datoviz/scene/types.h:1098.