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

◆ wire() [2/3]

Wiring MayaFlux::Nexus::Fabric::wire ( std::shared_ptr< Emitter emitter)

Begin wiring an Emitter into the Fabric.

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

Definition at line 39 of file Fabric.cpp.

40{
41 Member m = emitter;
42 uint32_t id = assign_id(m);
43 Registration reg { .member = std::move(m) };
44 if (emitter->m_position.has_value()) {
45 reg.spatial_id = m_index->insert(*emitter->m_position);
46 }
47 m_registrations.try_emplace(id, std::move(reg));
48 return Wiring { *this, id };
49}
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.

Referenced by MayaFlux::Nexus::StateDecoder::reconstruct().

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