Tatooine
pathline.h
Go to the documentation of this file.
1#ifndef TATOOINE_FLOWEXPLORER_NODES_PATHLINE_H
2#define TATOOINE_FLOWEXPLORER_NODES_PATHLINE_H
3//==============================================================================
8
9#include <mutex>
10//==============================================================================
12//==============================================================================
13struct pathline : renderable<pathline> {
14 //----------------------------------------------------------------------------
15 // typedefs
16 //----------------------------------------------------------------------------
21 //----------------------------------------------------------------------------
35
38 std::array<GLfloat, 4> m_line_color{0.0f, 0.0f, 0.0f, 1.0f};
39 int m_line_width = 1;
41 //============================================================================
43 //============================================================================
44 auto render(mat4f const& projection_matrix, mat4f const& view_matrix)
45 -> void override;
46 //----------------------------------------------------------------------------
47 auto draw_properties() -> bool override;
48 //----------------------------------------------------------------------------
49 auto integrate_lines() -> void;
50 //----------------------------------------------------------------------------
52 ui::output_pin& other_pin) -> void override;
53 //----------------------------------------------------------------------------
54 auto on_pin_disconnected(ui::input_pin& this_pin) -> void override;
55 //----------------------------------------------------------------------------
56 auto on_property_changed() -> void override;
57 //----------------------------------------------------------------------------
58 auto all_pins_linked() const -> bool;
59 //----------------------------------------------------------------------------
60 auto link_configuration_is_valid() const -> bool;
61 //----------------------------------------------------------------------------
62 auto num_dimensions() const -> size_t;
63 //----------------------------------------------------------------------------
64 auto is_transparent() const -> bool override;
65};
66//==============================================================================
67} // namespace tatooine::flowexplorer::nodes
68//==============================================================================
70 tatooine::flowexplorer::nodes::pathline,
71 TATOOINE_REFLECTION_INSERT_METHOD(t0, m_t0),
72 TATOOINE_REFLECTION_INSERT_METHOD(backward_tau, m_btau),
73 TATOOINE_REFLECTION_INSERT_METHOD(forward_tau, m_ftau),
74 TATOOINE_REFLECTION_INSERT_METHOD(line_width, m_line_width),
75 TATOOINE_REFLECTION_INSERT_METHOD(line_color, m_line_color))
76#endif
Definition: indexeddata.h:13
TATOOINE_FLOWEXPLORER_REGISTER_RENDERABLE(tatooine::flowexplorer::nodes::aabb2d, TATOOINE_REFLECTION_INSERT_GETTER(min), TATOOINE_REFLECTION_INSERT_GETTER(max), TATOOINE_REFLECTION_INSERT_GETTER(line_width), TATOOINE_REFLECTION_INSERT_GETTER(line_color))
Definition: abcflow.h:7
Definition: algorithm.h:6
line< real_type, 3 > m_cpu_data
Definition: pathline.h:33
auto draw_properties() -> bool override
ui::output_pin & m_neg2_pin
Definition: pathline.h:27
auto on_pin_disconnected(ui::input_pin &this_pin) -> void override
auto num_dimensions() const -> size_t
ui::input_pin & m_v_pin
Definition: pathline.h:25
vec2 m_x_neg2
Definition: pathline.h:31
auto on_pin_connected(ui::input_pin &this_pin, ui::output_pin &other_pin) -> void override
ui::output_pin & m_pos3_pin
Definition: pathline.h:30
real_type m_t0
Definition: pathline.h:36
real_type m_btau
Definition: pathline.h:37
int m_line_width
Definition: pathline.h:39
ui::input_pin & m_t0_pin
Definition: pathline.h:22
real_type m_ftau
Definition: pathline.h:37
vec3 m_x_neg3
Definition: pathline.h:32
std::array< GLfloat, 4 > m_line_color
Definition: pathline.h:38
ui::output_pin & m_neg3_pin
Definition: pathline.h:29
vec3 m_x_pos3
Definition: pathline.h:32
bool m_integration_going_on
Definition: pathline.h:40
auto on_property_changed() -> void override
auto link_configuration_is_valid() const -> bool
ui::input_pin & m_forward_tau_pin
Definition: pathline.h:24
ui::input_pin & m_x0_pin
Definition: pathline.h:26
ui::output_pin & m_pos2_pin
Definition: pathline.h:28
auto render(mat4f const &projection_matrix, mat4f const &view_matrix) -> void override
auto is_transparent() const -> bool override
gl::indexeddata< vec3f, vec3f, float > m_gpu_data
Definition: pathline.h:34
ui::input_pin & m_backward_tau_pin
Definition: pathline.h:23
vec2 m_x_pos2
Definition: pathline.h:31
Definition: renderable.h:42
Definition: scene.h:17
Definition: line.h:35
Definition: mat.h:14
Definition: rungekuttafehlberg78.h:28
Definition: field.h:13
Definition: vec.h:12