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

◆ invoke_perception()

void MayaFlux::Nexus::Presence::invoke_perception ( const PerceptionContext ctx)
overridevirtual

Invoke the perception function with the supplied context.

Parameters
ctxPopulated context for this commit.

Reimplemented from MayaFlux::Nexus::Agent.

Definition at line 58 of file Presence.cpp.

59{
61
62 m_neighbors.clear();
63
64 const float fr = falloff_radius();
65 const float fr_sq = fr * fr;
66
67 for (const auto& result : ctx.spatial_results) {
68 if (result.distance_sq > fr_sq) {
69 continue;
70 }
71 const float t = fr > 0.0F
72 ? std::sqrt(result.distance_sq) / fr
73 : 0.0F;
74 const float weight = m_falloff ? m_falloff(t) : linear_falloff(t);
75 m_neighbors.emplace_back(result.id, weight);
76 }
77}
double weight
virtual void invoke_perception(const PerceptionContext &ctx)
Invoke the perception function with the supplied context.
Definition Agent.hpp:266
std::vector< std::pair< uint32_t, float > > m_neighbors
Definition Presence.hpp:167
float falloff_radius() const
Current falloff radius, or the query radius if none was set.
Definition Presence.hpp:112

References falloff_radius(), MayaFlux::Nexus::Agent::invoke_perception(), m_falloff, m_neighbors, MayaFlux::Nexus::PerceptionContext::spatial_results, and weight.

+ Here is the call graph for this function: