MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Nodes::Network::TopologyOperator Class Reference

#include <TopologyOperator.hpp>

+ Inheritance diagram for MayaFlux::Nodes::Network::TopologyOperator:
+ Collaboration diagram for MayaFlux::Nodes::Network::TopologyOperator:

Public Member Functions

 TopologyOperator (Kinesis::ProximityMode mode=Kinesis::ProximityMode::K_NEAREST)
 
void initialize (const std::vector< LineVertex > &vertices)
 Initialize a single topology with single set of vertices.
 
void initialize_topologies (const std::vector< std::vector< LineVertex > > &topologies, Kinesis::ProximityMode mode)
 Initialize multiple topologies with given positions and properties.
 
void add_topology (const std::vector< LineVertex > &vertices, Kinesis::ProximityMode mode)
 Add a single topology with full per-vertex control.
 
void process (float dt) override
 Process for one batch cycle.
 
std::span< const uint8_t > get_vertex_data () const override
 Get vertex data for GPU upload.
 
std::span< const uint8_t > get_vertex_data_for_collection (uint32_t idx) const override
 Get vertex data for specific collection (if multiple)
 
Kakshya::VertexLayout get_vertex_layout () const override
 Get vertex layout describing vertex structure.
 
size_t get_vertex_count () const override
 Get number of vertices (may differ from point count for topology/path)
 
bool is_vertex_data_dirty () const override
 Check if geometry changed this frame.
 
void mark_vertex_data_clean () override
 Clear dirty flag after GPU upload.
 
std::vector< LineVertexextract_vertices () const
 Extract current vertex data as LineVertex array.
 
void set_parameter (std::string_view param, double value) override
 Set operator parameter.
 
std::optional< double > query_state (std::string_view query) const override
 Query operator internal state.
 
std::string_view get_type_name () const override
 Type name for introspection.
 
size_t get_point_count () const override
 Get source point count (before topology expansion)
 
void set_connection_radius (float radius)
 Set the connection radius for topology generation.
 
void set_global_line_thickness (float thickness)
 Set the number of neighbors (k) for K-Nearest topology mode.
 
void set_global_line_color (const glm::vec3 &color)
 Set the line color for all topologies.
 
size_t get_topology_count () const
 Get number of topologies currently stored.
 
const char * get_vertex_type_name () const override
 Get human-readable vertex type name (for validation/debugging)
 
- Public Member Functions inherited from MayaFlux::Nodes::Network::GraphicsOperator
void apply_one_to_one (std::string_view param, const std::shared_ptr< NodeNetwork > &source) override
 Apply ONE_TO_ONE parameter mapping.
 
- Public Member Functions inherited from MayaFlux::Nodes::Network::NetworkOperator
virtual ~NetworkOperator ()=default
 

Protected Member Functions

void * get_data_at (size_t global_index) override
 Get mutable access to point at global index.
 

Private Attributes

std::vector< std::shared_ptr< GpuSync::TopologyGeneratorNode > > m_topologies
 
std::vector< uint8_t > m_vertex_data_aggregate
 
Kinesis::ProximityMode m_default_mode
 
float m_default_thickness { 2.0F }
 

Detailed Description

Definition at line 7 of file TopologyOperator.hpp.


The documentation for this class was generated from the following files: