MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Nodes::Network::MeshOperator Class Referenceabstract

Abstract base for operators that process MeshNetwork slots. More...

#include <MeshOperator.hpp>

+ Inheritance diagram for MayaFlux::Nodes::Network::MeshOperator:
+ Collaboration diagram for MayaFlux::Nodes::Network::MeshOperator:

Public Member Functions

void process (float dt) override
 Iterate slots in topological order and call process_slot() on each.
 
virtual void process_slot (MeshSlot &slot, float dt)=0
 Process a single slot.
 
std::optional< double > query_state (std::string_view) const override
 Query operator internal state.
 
void set_parameter (std::string_view, double) override
 Set operator parameter.
 
void set_slots (std::vector< MeshSlot > &slots, const std::vector< uint32_t > &order)
 Supply the slot list and processing order for the coming cycle.
 
 ~MeshOperator () override=default
 
- Public Member Functions inherited from MayaFlux::Nodes::Network::NetworkOperator
virtual void apply_one_to_one (std::string_view param, const std::shared_ptr< NodeNetwork > &source)
 Apply ONE_TO_ONE parameter mapping (per-point control)
 
virtual std::string_view get_type_name () const =0
 Type name for introspection.
 
virtual ~NetworkOperator ()=default
 

Protected Attributes

const std::vector< uint32_t > * m_order { nullptr }
 
std::vector< MeshSlot > * m_slots { nullptr }
 

Detailed Description

Abstract base for operators that process MeshNetwork slots.

Sits between NetworkOperator and the concrete mesh operators. Concrete subclasses implement process_slot() for per-slot logic; the base process() iterates m_slots in the caller-supplied topological order and delegates to process_slot() for each entry.

Slots are supplied once per cycle by MeshNetwork::process_batch() via set_slots(). The operator does not own the slot storage.

Topological order (parents before children) is enforced by MeshNetwork before it calls process(); operators receive slots in that order and must not re-order them.

Definition at line 24 of file MeshOperator.hpp.


The documentation for this class was generated from the following file: