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

◆ apply_attraction_force()

void MayaFlux::Nodes::Network::ParticleNetwork::apply_attraction_force ( )
private

Apply attraction point force.

Definition at line 352 of file ParticleNetwork.cpp.

353{
354 for (auto& particle : m_particles) {
355 glm::vec3 to_attractor = m_attraction_point - particle.point->get_position();
356 float distance = glm::length(to_attractor);
357
358 if (distance > 0.001F) {
359 glm::vec3 direction = to_attractor / distance;
360 float force_magnitude = m_attraction_strength / std::max(distance * distance, 0.1F);
361 particle.force += direction * force_magnitude * particle.mass;
362 }
363 }
364}

References m_attraction_point, m_attraction_strength, and m_particles.

Referenced by process_batch().

+ Here is the caller graph for this function: