|
| void | add_topology (const std::vector< LineVertex > &vertices, Kinesis::ProximityMode mode) |
| | Add a single topology with full per-vertex control.
|
| |
| std::vector< uint32_t > | build_cluster_ids () const override |
| | Overrides GraphicsOperator::build_cluster_ids() for real multi-topology scenes.
|
| |
| std::optional< Portal::Graphics::PrimitiveTopology > | declared_topology () const override |
| | Forwards to the first topology's own get_primitive_topology().
|
| |
| std::vector< DirtyVertexRange > | dirty_vertex_ranges () const override |
| | One DirtyVertexRange per topology whose TopologyGeneratorNode needs a GPU update, so add_topology() or a point edit on one graph re-uploads only that graph's expanded line vertices.
|
| |
| std::vector< LineVertex > | extract_vertices () const |
| | Extract current vertex data as LineVertex array.
|
| |
| size_t | get_point_count () const override |
| | Get source point count (before topology expansion)
|
| |
| std::shared_ptr< GpuSync::TopologyGeneratorNode > | get_topology (size_t i) const |
| | Access a specific topology node directly.
|
| |
| size_t | get_topology_count () const |
| | Get number of topologies currently stored.
|
| |
| std::string_view | get_type_name () const override |
| | Type name for introspection.
|
| |
| size_t | get_vertex_count () const override |
| | Get number of vertices (may differ from point count for topology/path)
|
| |
| 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.
|
| |
| const char * | get_vertex_type_name () const override |
| | Get human-readable vertex type name (for validation/debugging)
|
| |
| 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.
|
| |
| 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.
|
| |
| void | process (float dt) override |
| | Process for one batch cycle.
|
| |
| std::optional< double > | query_state (std::string_view query) const override |
| | Query operator internal state.
|
| |
| void | set_connection_radius (float radius) |
| | Set the connection radius for topology generation.
|
| |
| void | set_global_line_color (const glm::vec3 &color) |
| | Set the line color for all topologies.
|
| |
| void | set_global_line_thickness (float thickness) |
| | Set the number of neighbors (k) for K-Nearest topology mode.
|
| |
| void | set_parameter (std::string_view param, double value) override |
| | Set operator parameter.
|
| |
| void | set_samples_per_segment (size_t samples) |
| | Set number of samples per segment for interpolation for all topologies.
|
| |
| void | set_vertices (const std::vector< LineVertex > &vertices) |
| | Replace every point, in extract_vertices() order, keeping the topologies.
|
| |
| bool | supports_incremental_upload () const override |
| | True: point edits, add_topology() and every proximity-parameter change route through a TopologyGeneratorNode dirty flag, so per-graph ranges are complete.
|
| |
| std::vector< DrawRun > | topology_runs () const override |
| | Coalesces adjacent topology graphs sharing a concatenable topology into one run.
|
| |
| | TopologyOperator (Kinesis::ProximityMode mode=Kinesis::ProximityMode::K_NEAREST) |
| |
| | ~TopologyOperator () override |
| |
| void | apply_one_to_one (std::string_view param, const std::shared_ptr< NodeNetwork > &source) override |
| | Apply ONE_TO_ONE parameter mapping.
|
| |
| bool | consumes_upstream () const |
| | Whether this operator requests upstream vertex state before process().
|
| |
| virtual std::vector< std::pair< std::string, Kakshya::DataVariant > > | extract_vertex_attributes () const |
| | Extra named, per-vertex attributes beyond position/color/size, for an external cache/export consumer.
|
| |
| virtual std::vector< glm::vec3 > | extract_vertex_velocities () const |
| | Per-vertex velocity, for a consumer that wants to write it as a native channel (e.g.
|
| |
| bool | participates_in_rendering () const |
| | Whether this operator contributes a vertex slice to rendering.
|
| |
| virtual void | seed_from_upstream (const GraphicsOperator *upstream) |
| | Receive upstream vertex state before process() is called.
|
| |
| void | set_consumes_upstream (bool value) |
| |
| void | set_force_internal_dt (bool value) |
| | Override the dt passed by the caller with a fixed internal value.
|
| |
| void | set_participates_in_rendering (bool value) |
| |
| bool | uses_force_internal_dt () const |
| |
| virtual bool | demands_full_vertex_restore () const |
| | Whether a downstream compute pass writes the network's vertex buffer in place each cycle, so the geometry producer must keep restoring the CPU-authoritative vertex data every frame.
|
| |
| virtual | ~NetworkOperator ()=default |
| |
Definition at line 7 of file TopologyOperator.hpp.