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

◆ random_position_surface()

glm::vec3 MayaFlux::Nodes::Network::ParticleNetwork::random_position_surface ( ) const
private

Random position on bounds surface.

Definition at line 612 of file ParticleNetwork.cpp.

613{
614 int face = rand() % 6;
615 float u = static_cast<float>(rand()) / RAND_MAX;
616 float v = static_cast<float>(rand()) / RAND_MAX;
617
618 switch (face) {
619 case 0:
620 return { m_bounds_min.x, glm::mix(m_bounds_min.y, m_bounds_max.y, u), glm::mix(m_bounds_min.z, m_bounds_max.z, v) };
621 case 1:
622 return { m_bounds_max.x, glm::mix(m_bounds_min.y, m_bounds_max.y, u), glm::mix(m_bounds_min.z, m_bounds_max.z, v) };
623 case 2:
624 return { glm::mix(m_bounds_min.x, m_bounds_max.x, u), m_bounds_min.y, glm::mix(m_bounds_min.z, m_bounds_max.z, v) };
625 case 3:
626 return { glm::mix(m_bounds_min.x, m_bounds_max.x, u), m_bounds_max.y, glm::mix(m_bounds_min.z, m_bounds_max.z, v) };
627 case 4:
628 return { glm::mix(m_bounds_min.x, m_bounds_max.x, u), glm::mix(m_bounds_min.y, m_bounds_max.y, v), m_bounds_min.z };
629 case 5:
630 return { glm::mix(m_bounds_min.x, m_bounds_max.x, u), glm::mix(m_bounds_min.y, m_bounds_max.y, v), m_bounds_max.z };
631 default:
632 return m_bounds_min;
633 }
634}

References m_bounds_max, and m_bounds_min.

Referenced by initialize_particle_positions().

+ Here is the caller graph for this function: