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

◆ apply_forces()

void MayaFlux::Nodes::Network::PhysicsOperator::apply_forces ( )
private

Definition at line 433 of file PhysicsOperator.cpp.

434{
435 for (auto& group : m_collections) {
436 for (auto& state : group.physics_state) {
437 state.force = m_gravity * state.mass;
438 }
439 }
440
443 }
444
445 if (m_turbulence_strength > 0.001F) {
447 }
448
451 }
452
453 if (!m_force_fields.empty()) {
454 for (auto& group : m_collections) {
455 auto& points = group.collection->get_points();
456
457 for (size_t i = 0; i < points.size(); ++i) {
458 for (const auto& field : m_force_fields) {
459 group.physics_state[i].force += field(points[i].position);
460 }
461 }
462 }
463 }
464}
std::vector< glm::vec2 > * points
std::vector< CollectionGroup > m_collections
std::vector< Kinesis::VectorField > m_force_fields

References apply_attraction_forces(), apply_spatial_interactions(), apply_turbulence(), m_collections, m_force_fields, m_gravity, m_has_attraction_point, m_interaction_radius, m_spatial_interactions_enabled, m_turbulence_strength, and points.

Referenced by process().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: