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

◆ wire() [3/3]

Wiring MayaFlux::Nexus::Fabric::wire ( std::shared_ptr< Sensor sensor)

Begin wiring a Sensor into the Fabric.

Parameters
sensorObject to register.
Returns
Wiring builder. Call Wiring::finalise() to apply.

Definition at line 51 of file Fabric.cpp.

52{
53 Member m = sensor;
54 uint32_t id = assign_id(m);
55 Registration reg { .member = std::move(m) };
56 if (sensor->m_position.has_value()) {
57 reg.spatial_id = m_index->insert(*sensor->m_position);
58 }
59 m_registrations.try_emplace(id, std::move(reg));
60 return Wiring { *this, id };
61}
std::unique_ptr< Kinesis::SpatialIndex3D > m_index
Definition Fabric.hpp:224
std::variant< std::shared_ptr< Emitter >, std::shared_ptr< Sensor >, std::shared_ptr< Agent > > Member
Definition Fabric.hpp:206
friend class Wiring
Definition Fabric.hpp:199
uint32_t assign_id(Member &m)
Definition Fabric.cpp:225
std::unordered_map< uint32_t, Registration > m_registrations
Definition Fabric.hpp:225

References assign_id(), m_index, m_registrations, and MayaFlux::Nexus::Fabric::Registration::member.

+ Here is the call graph for this function: