MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
PlotSpec.hpp File Reference
+ Include dependency graph for PlotSpec.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Portal::Forma::Plot::LabelSpec
 Construction-free text label description. More...
 
struct  MayaFlux::Portal::Forma::Plot::LegendEntry
 One legend row. More...
 
struct  MayaFlux::Portal::Forma::Plot::LegendLayout
 Expanded construction-free legend layout. More...
 
struct  MayaFlux::Portal::Forma::Plot::LegendSpec
 Construction-free vertical legend configuration. More...
 
struct  MayaFlux::Portal::Forma::Plot::RectSpec
 Lightweight filled rectangle description. More...
 
struct  MayaFlux::Portal::Forma::Plot::TickLabelsSpec
 Config for generating numeric tick labels on one plot edge. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kakshya
 
namespace  MayaFlux::Portal
 
namespace  MayaFlux::Portal::Forma
 
namespace  MayaFlux::Portal::Forma::Plot
 

Enumerations

enum class  MayaFlux::Portal::Forma::Plot::TickEdge : uint8_t { MayaFlux::Portal::Forma::Plot::Bottom , MayaFlux::Portal::Forma::Plot::Top , MayaFlux::Portal::Forma::Plot::Left , MayaFlux::Portal::Forma::Plot::Right }
 Edge along which tick labels are placed. More...
 

Functions

void MayaFlux::Portal::Forma::Plot::apply_auto_scale (AxisRange &range, const std::vector< std::span< const double > > &series)
 Apply auto-scaling to an AxisRange from a set of series.
 
GeometryFn< float > MayaFlux::Portal::Forma::Plot::background (Kinesis::AABB2D bounds, glm::vec3 color=glm::vec3(1.F), const std::shared_ptr< Core::VKImage > &texture=nullptr)
 TRIANGLE_STRIP background quad for a plot area.
 
std::pair< float, float > MayaFlux::Portal::Forma::Plot::data_range (std::span< const double > series)
 Compute [min, max] over a scalar series.
 
LegendLayout MayaFlux::Portal::Forma::Plot::layout_legend (const LegendSpec &spec)
 Expand a legend spec into swatch rectangle specs and text label specs.
 
glm::vec3 MayaFlux::Portal::Forma::Plot::palette_color (const std::vector< glm::vec3 > &palette, size_t index) noexcept
 Resolve a per-series color from a palette.
 
GeometryFn< float > MayaFlux::Portal::Forma::Plot::plot_cursor (Kinesis::AABB2D bounds, bool vertical=true, glm::vec3 color=glm::vec3(0.75F), float thickness=1.F)
 GeometryFn<float> for a cursor or playhead line within a plot area.
 
std::vector< Kakshya::LineVertexMayaFlux::Portal::Forma::Plot::plot_grid (Kinesis::AABB2D bounds, uint32_t x_divisions, uint32_t y_divisions, glm::vec3 color=glm::vec3(0.12F), float thickness=1.F)
 LINE_LIST grid geometry for a plot area.
 
LabelSpec MayaFlux::Portal::Forma::Plot::plot_label (std::string text, Kinesis::AABB2D bounds, glm::vec4 color={ 0.85F, 0.85F, 0.85F, 1.F }, std::string name={})
 Create a single construction-free label spec.
 
LegendSpec MayaFlux::Portal::Forma::Plot::plot_legend (glm::vec2 origin, std::span< const std::string > labels, std::span< const glm::vec3 > colors, float row_h=0.07F, float swatch_w=0.04F, glm::vec4 text_color={ 0.85F, 0.85F, 0.85F, 1.F })
 Create a construction-free legend spec from labels and colors.
 
std::vector< LabelSpecMayaFlux::Portal::Forma::Plot::plot_tick_labels (const TickLabelsSpec &spec)
 Generate construction-free tick label specs.
 
std::vector< LabelSpecMayaFlux::Portal::Forma::Plot::plot_tick_labels (Kinesis::AABB2D bounds, const AxisRange &range, uint32_t count, TickEdge edge=TickEdge::Bottom, glm::vec4 color={ 0.65F, 0.65F, 0.65F, 1.F }, uint8_t decimal_places=2, float label_h=0.055F, float label_w=0.12F)
 Convenience overload for generating tick label specs directly.
 
std::vector< std::span< const double > > MayaFlux::Portal::Forma::Plot::series_by_role (const Kakshya::PlotContainer &container, Kakshya::DataDimension::Role role)
 Collect all series from processed_data whose DataDimension role matches role.