MayaFlux 1.0.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 52 of file Fabric.cpp.

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

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

+ Here is the call graph for this function: