|
| void | add_node (std::shared_ptr< GpuSync::PathGeneratorNode > node) |
| | Add an externally constructed PathGeneratorNode subtype to the operator.
|
| |
| void | add_path (const std::vector< LineVertex > &control_vertices, Kinesis::InterpolationMode mode, uint32_t default_samples_per_segment=32, size_t max_control_points=64, double tension=0.5) |
| | Add a new path with given control points and properties.
|
| |
| std::vector< uint32_t > | build_cluster_ids () const override |
| | Overrides GraphicsOperator::build_cluster_ids() for real multi-path scenes.
|
| |
| std::vector< DirtyVertexRange > | dirty_vertex_ranges () const override |
| | One DirtyVertexRange per path whose PathGeneratorNode needs a GPU update, so add_control_point() on one path re-uploads only that path's vertices.
|
| |
| std::vector< LineVertex > | extract_vertices () const |
| | Extract current vertex data as LineVertex array.
|
| |
| std::shared_ptr< GpuSync::PathGeneratorNode > | get_path (size_t i) const |
| | Access a specific path node directly.
|
| |
| size_t | get_path_count () const |
| | Get the number of paths currently managed by this operator.
|
| |
| size_t | get_point_count () const override |
| | Get source point count (before topology expansion)
|
| |
| 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 path with given control points and properties.
|
| |
| void | initialize_paths (const std::vector< std::vector< LineVertex > > &paths, Kinesis::InterpolationMode mode) |
| | Initialize multiple paths with given control points 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.
|
| |
| | PathOperator (Kinesis::InterpolationMode mode=Kinesis::InterpolationMode::CATMULL_ROM, Eigen::Index samples_per_segment=32) |
| |
| 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_global_color (const glm::vec3 &color) |
| | Set the global color tint for all paths.
|
| |
| void | set_global_thickness (float thickness) |
| | Set the global thickness for all paths.
|
| |
| void | set_parameter (std::string_view param, double value) override |
| | Set operator parameter.
|
| |
| void | set_samples_per_segment (Eigen::Index samples) |
| | Set the number of samples per segment for all paths.
|
| |
| void | set_tension (double tension) |
| | Set the tension parameter for all paths (if supported by mode).
|
| |
| bool | supports_incremental_upload () const override |
| | True: add_control_point()/set_control_points()/clear_path() and every interpolation-parameter change route through a PathGeneratorNode dirty flag, so per-path ranges are complete.
|
| |
| | ~PathOperator () 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().
|
| |
| 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 PathOperator.hpp.