|
MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
|
#include <PathOperator.hpp>
Inheritance diagram for MayaFlux::Nodes::Network::PathOperator:
Collaboration diagram for MayaFlux::Nodes::Network::PathOperator:Public Member Functions | |
| PathOperator (Kinesis::InterpolationMode mode=Kinesis::InterpolationMode::CATMULL_ROM, Eigen::Index samples_per_segment=32) | |
| 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. | |
| void | add_path (const std::vector< LineVertex > &control_vertices, Kinesis::InterpolationMode mode) |
| Add a new path with given control points and properties. | |
| 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< LineVertex > | extract_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_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). | |
| void | set_global_thickness (float thickness) |
| Set the global thickness for all paths. | |
| void | set_global_color (const glm::vec3 &color) |
| Set the global color tint for all paths. | |
| size_t | get_path_count () const |
| Get the number of paths currently managed by this operator. | |
| 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::PathGeneratorNode > > | m_paths |
| std::vector< uint8_t > | m_vertex_data_aggregate |
| Kinesis::InterpolationMode | m_default_mode |
| Eigen::Index | m_default_samples_per_segment |
| float | m_default_thickness { 2.0F } |
Definition at line 7 of file PathOperator.hpp.