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

◆ get_metadata()

std::unordered_map< std::string, std::string > MayaFlux::Nodes::Network::ParticleNetwork::get_metadata ( ) const
overridevirtual

Get network metadata for debugging/visualization.

Returns
Map of property names to string representations

Subclasses can override to expose internal state:

  • Particle count, average velocity
  • Modal frequencies, decay times
  • Waveguide delay lengths etc.

Reimplemented from MayaFlux::Nodes::Network::NodeNetwork.

Definition at line 165 of file ParticleNetwork.cpp.

166{
168
169 metadata["point_count"] = std::to_string(get_node_count());
170 metadata["operator"] = std::string(m_operator ? m_operator->get_type_name() : "none");
171 metadata["timestep"] = std::to_string(get_timestep());
172 metadata["bounds_min"] = std::format("({:.2f}, {:.2f}, {:.2f})",
174 metadata["bounds_max"] = std::format("({:.2f}, {:.2f}, {:.2f})",
176
177 if (m_operator) {
178 if (auto* physics = dynamic_cast<PhysicsOperator*>(m_operator.get())) {
179 metadata["gravity"] = std::format("({:.2f}, {:.2f}, {:.2f})",
180 physics->get_gravity().x,
181 physics->get_gravity().y,
182 physics->get_gravity().z);
183 metadata["drag"] = std::to_string(physics->get_drag());
184
185 auto avg_vel = physics->query_state("avg_velocity");
186 if (avg_vel) {
187 metadata["avg_velocity"] = std::to_string(*avg_vel);
188 }
189 }
190 }
191
192 return metadata;
193}
std::unordered_map< std::string, std::string > metadata
float get_timestep() const
Seconds one visual frame advances this network.
virtual std::unordered_map< std::string, std::string > get_metadata() const
Get network metadata for debugging/visualization.
std::unique_ptr< NetworkOperator > m_operator
size_t get_node_count() const override
Get number of particles in network.

References MayaFlux::Nodes::Network::NodeNetwork::get_metadata(), get_node_count(), MayaFlux::Nodes::Network::NodeNetwork::get_timestep(), m_bounds, m_operator, MayaFlux::Kinesis::SamplerBounds::max, metadata, and MayaFlux::Kinesis::SamplerBounds::min.

+ Here is the call graph for this function: