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

◆ apply_one_to_one()

void MayaFlux::Nodes::Network::PhysicsOperator::apply_one_to_one ( std::string_view  param,
const std::shared_ptr< NodeNetwork > &  source 
)
overridevirtual

Apply ONE_TO_ONE parameter for physics-specific properties.

Supports:

  • "force_x/y/z": Per-particle force application
  • "mass": Per-particle mass
  • "color": Per-particle color (delegated to base)
  • "size": Per-particle size (delegated to base)

Reimplemented from MayaFlux::Nodes::Network::GraphicsOperator.

Definition at line 319 of file PhysicsOperator.cpp.

322{
323 size_t point_count = get_point_count();
324
325 if (source->get_node_count() != point_count) {
327 "ONE_TO_ONE size mismatch: {} particles vs {} source nodes",
328 point_count, source->get_node_count());
329 return;
330 }
331
332 if (param == "force_x" || param == "force_y" || param == "force_z") {
333 apply_per_particle_force(param, source);
334 } else if (param == "mass") {
336 } else {
338 }
339}
#define MF_WARN(comp, ctx,...)
void apply_one_to_one(std::string_view param, const std::shared_ptr< NodeNetwork > &source) override
Apply ONE_TO_ONE parameter mapping.
size_t get_point_count() const override
Get source point count (before topology expansion)
void apply_per_particle_force(std::string_view param, const std::shared_ptr< NodeNetwork > &source)
void apply_per_particle_mass(const std::shared_ptr< NodeNetwork > &source)
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References MayaFlux::Nodes::Network::GraphicsOperator::apply_one_to_one(), apply_per_particle_force(), apply_per_particle_mass(), get_point_count(), MF_WARN, MayaFlux::Journal::NodeProcessing, and MayaFlux::Journal::Nodes.

+ Here is the call graph for this function: