Tatooine
Public Member Functions | Private Attributes | List of all members
tatooine::flowexplorer::ui::base::node Struct Referenceabstract

#include <node.h>

Inheritance diagram for tatooine::flowexplorer::ui::base::node:
[legend]
Collaboration diagram for tatooine::flowexplorer::ui::base::node:
[legend]

Public Member Functions

 node (flowexplorer::scene &s)
 
 node (std::string const &title, flowexplorer::scene &s)
 
template<typename T >
 node (flowexplorer::scene &s, T &ref)
 
template<typename T >
 node (std::string const &title, flowexplorer::scene &s, T &ref)
 
virtual ~node ()=default
 
template<typename... Ts>
auto insert_input_pin (std::string const &title, icon_type const t=icon_type::flow) -> auto &
 
template<typename Prop >
auto insert_input_pin_property_link (input_pin &pin, Prop &prop) -> auto &
 
template<typename T >
auto insert_output_pin (std::string const &title, T &ref, icon_type const t=icon_type::flow) -> auto &
 
auto title () const -> auto const &
 
auto title () -> auto &
 
auto scene () const -> auto const &
 
auto scene () -> auto &
 
auto set_title (std::string const &title)
 
auto has_self_pin () const -> bool
 
auto self_pin () const -> auto const &
 
auto self_pin () -> auto &
 
auto input_pins () const -> auto const &
 
auto input_pins () -> auto &
 
auto output_pins () const -> auto const &
 
auto output_pins () -> auto &
 
auto draw_node () -> void
 
auto node_position () const -> ImVec2
 
auto notify_property_changed (bool const notify_self=true) -> void
 
auto update_property_links () -> void
 
virtual auto draw_properties () -> bool=0
 
virtual auto on_property_changed () -> void
 
virtual auto on_title_changed (std::string const &) -> void
 
virtual auto on_pin_connected (input_pin &, output_pin &) -> void
 
virtual auto on_pin_connected (output_pin &, input_pin &) -> void
 
virtual auto on_pin_disconnected (input_pin &) -> void
 
virtual auto on_pin_disconnected (output_pin &) -> void
 
virtual auto type_name () const -> std::string_view=0
 
virtual auto update (std::chrono::duration< double > const &) -> void
 
virtual auto on_path_selected (std::string const &) -> void
 
- Public Member Functions inherited from tatooine::flowexplorer::uuid_holder< ax::NodeEditor::NodeId >
 uuid_holder (size_t const id)
 
 uuid_holder (ax::NodeEditor::NodeId const &id)
 
 uuid_holder ()
 
auto get_id () const -> const auto &
 
auto get_id () -> auto &
 
auto get_id_number () const
 
auto set_id (size_t const new_id)
 
constexpr auto operator== (uuid_holder< ax::NodeEditor::NodeId > const &other) const -> bool
 
constexpr auto operator== (ax::NodeEditor::NodeId const &id) const -> bool
 
constexpr auto operator== (size_t const id) const -> bool
 
constexpr auto equals ()
 
- Public Member Functions inherited from tatooine::flowexplorer::serializable
virtual auto serialize () const -> toml::table=0
 
virtual void deserialize (toml::table const &)=0
 
- Public Member Functions inherited from tatooine::flowexplorer::toggleable
constexpr toggleable (bool active=true)
 
constexpr toggleable (toggleable const &)=default
 
constexpr toggleable (toggleable &&)=default
 
constexpr auto operator= (toggleable const &) -> toggleable &=default
 
constexpr auto operator= (toggleable &&) -> toggleable &=default
 
 ~toggleable ()=default
 
virtual constexpr auto set_active (bool active=true) -> void
 
constexpr auto activate () -> void
 
constexpr auto deactivate () -> void
 
constexpr auto toggle () -> void
 
constexpr auto is_active () const -> bool const &
 
constexpr auto is_active () -> bool &
 

Private Attributes

std::string m_title
 
flowexplorer::scenem_scene
 
std::vector< std::unique_ptr< input_pin > > m_input_pins
 
std::vector< std::unique_ptr< output_pin > > m_output_pins
 
std::vector< std::unique_ptr< input_pin_property_link > > m_property_links
 
std::unique_ptr< output_pinm_self_pin = nullptr
 

Constructor & Destructor Documentation

◆ node() [1/4]

◆ node() [2/4]

tatooine::flowexplorer::ui::base::node::node ( std::string const &  title,
flowexplorer::scene s 
)

◆ node() [3/4]

template<typename T >
tatooine::flowexplorer::ui::base::node::node ( flowexplorer::scene s,
T &  ref 
)
inline

◆ node() [4/4]

template<typename T >
tatooine::flowexplorer::ui::base::node::node ( std::string const &  title,
flowexplorer::scene s,
T &  ref 
)
inline

◆ ~node()

virtual tatooine::flowexplorer::ui::base::node::~node ( )
virtualdefault

Member Function Documentation

◆ draw_node()

auto tatooine::flowexplorer::ui::base::node::draw_node ( ) -> void

◆ draw_properties()

virtual auto tatooine::flowexplorer::ui::base::node::draw_properties ( ) -> bool
pure virtual

Implemented in tatooine::flowexplorer::nodes::autonomous_particle, tatooine::flowexplorer::nodes::autonomous_particles_flowmap, tatooine::flowexplorer::nodes::autonomous_particles_flowmap_evaluator, tatooine::flowexplorer::nodes::binary_operation, tatooine::flowexplorer::nodes::distance_measure, tatooine::flowexplorer::nodes::field_from_file< Real, N, is_time_dependent, TensorDims >, tatooine::flowexplorer::nodes::lic, tatooine::flowexplorer::nodes::parallel_vectors, tatooine::flowexplorer::nodes::pathline, tatooine::flowexplorer::nodes::position< N >, tatooine::flowexplorer::nodes::position< 2 >, tatooine::flowexplorer::nodes::random_pathlines< N >, tatooine::flowexplorer::nodes::rectilinear_grid< N >, tatooine::flowexplorer::nodes::scalar, tatooine::flowexplorer::nodes::unary_scalar_operation, tatooine::flowexplorer::nodes::vtk_line_reader, tatooine::flowexplorer::renderable< Child >, tatooine::flowexplorer::renderable< autonomous_particle >, tatooine::flowexplorer::renderable< autonomous_particles_flowmap >, tatooine::flowexplorer::renderable< autonomous_particles_flowmap_evaluator >, tatooine::flowexplorer::renderable< axis_aligned_bounding_box< N > >, tatooine::flowexplorer::renderable< lic >, tatooine::flowexplorer::renderable< parallel_vectors >, tatooine::flowexplorer::renderable< pathline >, tatooine::flowexplorer::renderable< position< N > >, tatooine::flowexplorer::renderable< random_pathlines< N > >, tatooine::flowexplorer::renderable< random_points >, tatooine::flowexplorer::renderable< rectilinear_grid< N > >, tatooine::flowexplorer::renderable< rectilinear_grid_vertex_property_renderer >, tatooine::flowexplorer::renderable< vtk_line_reader >, tatooine::flowexplorer::ui::node< Child >, tatooine::flowexplorer::ui::node< abcflow >, tatooine::flowexplorer::ui::node< binary_operation >, tatooine::flowexplorer::ui::node< distance_measure >, tatooine::flowexplorer::ui::node< doublegyre >, tatooine::flowexplorer::ui::node< doublegyre3d >, tatooine::flowexplorer::ui::node< duffing_oscillator >, tatooine::flowexplorer::ui::node< field_from_file< Real, N, is_time_dependent, TensorDims... > >, tatooine::flowexplorer::ui::node< jacobian< N > >, tatooine::flowexplorer::ui::node< linspace >, tatooine::flowexplorer::ui::node< rayleigh_benard_convection >, tatooine::flowexplorer::ui::node< saddle >, tatooine::flowexplorer::ui::node< sample_to_grid >, tatooine::flowexplorer::ui::node< scalar >, tatooine::flowexplorer::ui::node< spacetime_splitted_vectorfield >, tatooine::flowexplorer::ui::node< spacetime_vectorfield >, tatooine::flowexplorer::ui::node< test_node >, tatooine::flowexplorer::ui::node< unary_scalar_operation >, and tatooine::flowexplorer::ui::node< vectorfield_to_gpu >.

◆ has_self_pin()

auto tatooine::flowexplorer::ui::base::node::has_self_pin ( ) const -> bool
inline

◆ input_pins() [1/2]

auto tatooine::flowexplorer::ui::base::node::input_pins ( ) -> auto&
inline

◆ input_pins() [2/2]

auto tatooine::flowexplorer::ui::base::node::input_pins ( ) const -> auto const&
inline

◆ insert_input_pin()

template<typename... Ts>
auto tatooine::flowexplorer::ui::base::node::insert_input_pin ( std::string const &  title,
icon_type const  t = icon_type::flow 
) -> auto&
inline

◆ insert_input_pin_property_link()

template<typename Prop >
auto tatooine::flowexplorer::ui::base::node::insert_input_pin_property_link ( input_pin pin,
Prop &  prop 
) -> auto&
inline

◆ insert_output_pin()

template<typename T >
auto tatooine::flowexplorer::ui::base::node::insert_output_pin ( std::string const &  title,
T &  ref,
icon_type const  t = icon_type::flow 
) -> auto&
inline

◆ node_position()

auto tatooine::flowexplorer::ui::base::node::node_position ( ) const -> ImVec2

◆ notify_property_changed()

auto tatooine::flowexplorer::ui::base::node::notify_property_changed ( bool const  notify_self = true) -> void

◆ on_path_selected()

virtual auto tatooine::flowexplorer::ui::base::node::on_path_selected ( std::string const &  ) -> void
inlinevirtual

◆ on_pin_connected() [1/2]

virtual auto tatooine::flowexplorer::ui::base::node::on_pin_connected ( input_pin ,
output_pin  
) -> void
inlinevirtual

◆ on_pin_connected() [2/2]

virtual auto tatooine::flowexplorer::ui::base::node::on_pin_connected ( output_pin ,
input_pin  
) -> void
inlinevirtual

◆ on_pin_disconnected() [1/2]

virtual auto tatooine::flowexplorer::ui::base::node::on_pin_disconnected ( input_pin ) -> void
inlinevirtual

◆ on_pin_disconnected() [2/2]

virtual auto tatooine::flowexplorer::ui::base::node::on_pin_disconnected ( output_pin ) -> void
inlinevirtual

◆ on_property_changed()

virtual auto tatooine::flowexplorer::ui::base::node::on_property_changed ( ) -> void
inlinevirtual

◆ on_title_changed()

virtual auto tatooine::flowexplorer::ui::base::node::on_title_changed ( std::string const &  ) -> void
inlinevirtual

◆ output_pins() [1/2]

auto tatooine::flowexplorer::ui::base::node::output_pins ( ) -> auto&
inline

◆ output_pins() [2/2]

auto tatooine::flowexplorer::ui::base::node::output_pins ( ) const -> auto const&
inline

◆ scene() [1/2]

◆ scene() [2/2]

auto tatooine::flowexplorer::ui::base::node::scene ( ) const -> auto const&
inline

◆ self_pin() [1/2]

auto tatooine::flowexplorer::ui::base::node::self_pin ( ) -> auto&
inline

◆ self_pin() [2/2]

auto tatooine::flowexplorer::ui::base::node::self_pin ( ) const -> auto const&
inline

◆ set_title()

auto tatooine::flowexplorer::ui::base::node::set_title ( std::string const &  title)
inline

◆ title() [1/2]

auto tatooine::flowexplorer::ui::base::node::title ( ) -> auto&
inline

◆ title() [2/2]

auto tatooine::flowexplorer::ui::base::node::title ( ) const -> auto const&
inline

◆ type_name()

virtual auto tatooine::flowexplorer::ui::base::node::type_name ( ) const -> std::string_view
pure virtual

Implemented in tatooine::flowexplorer::renderable< Child >, tatooine::flowexplorer::renderable< autonomous_particle >, tatooine::flowexplorer::renderable< autonomous_particles_flowmap >, tatooine::flowexplorer::renderable< autonomous_particles_flowmap_evaluator >, tatooine::flowexplorer::renderable< axis_aligned_bounding_box< N > >, tatooine::flowexplorer::renderable< lic >, tatooine::flowexplorer::renderable< parallel_vectors >, tatooine::flowexplorer::renderable< pathline >, tatooine::flowexplorer::renderable< position< N > >, tatooine::flowexplorer::renderable< random_pathlines< N > >, tatooine::flowexplorer::renderable< random_points >, tatooine::flowexplorer::renderable< rectilinear_grid< N > >, tatooine::flowexplorer::renderable< rectilinear_grid_vertex_property_renderer >, tatooine::flowexplorer::renderable< vtk_line_reader >, tatooine::flowexplorer::ui::node< Child >, tatooine::flowexplorer::ui::node< abcflow >, tatooine::flowexplorer::ui::node< binary_operation >, tatooine::flowexplorer::ui::node< distance_measure >, tatooine::flowexplorer::ui::node< doublegyre >, tatooine::flowexplorer::ui::node< doublegyre3d >, tatooine::flowexplorer::ui::node< duffing_oscillator >, tatooine::flowexplorer::ui::node< field_from_file< Real, N, is_time_dependent, TensorDims... > >, tatooine::flowexplorer::ui::node< jacobian< N > >, tatooine::flowexplorer::ui::node< linspace >, tatooine::flowexplorer::ui::node< rayleigh_benard_convection >, tatooine::flowexplorer::ui::node< saddle >, tatooine::flowexplorer::ui::node< sample_to_grid >, tatooine::flowexplorer::ui::node< scalar >, tatooine::flowexplorer::ui::node< spacetime_splitted_vectorfield >, tatooine::flowexplorer::ui::node< spacetime_vectorfield >, tatooine::flowexplorer::ui::node< test_node >, tatooine::flowexplorer::ui::node< unary_scalar_operation >, and tatooine::flowexplorer::ui::node< vectorfield_to_gpu >.

◆ update()

virtual auto tatooine::flowexplorer::ui::base::node::update ( std::chrono::duration< double > const &  ) -> void
inlinevirtual

◆ update_property_links()

auto tatooine::flowexplorer::ui::base::node::update_property_links ( ) -> void
inline

Member Data Documentation

◆ m_input_pins

std::vector<std::unique_ptr<input_pin> > tatooine::flowexplorer::ui::base::node::m_input_pins
private

◆ m_output_pins

std::vector<std::unique_ptr<output_pin> > tatooine::flowexplorer::ui::base::node::m_output_pins
private

◆ m_property_links

std::vector<std::unique_ptr<input_pin_property_link> > tatooine::flowexplorer::ui::base::node::m_property_links
private

◆ m_scene

flowexplorer::scene* tatooine::flowexplorer::ui::base::node::m_scene
private

◆ m_self_pin

std::unique_ptr<output_pin> tatooine::flowexplorer::ui::base::node::m_self_pin = nullptr
private

◆ m_title

std::string tatooine::flowexplorer::ui::base::node::m_title
private

The documentation for this struct was generated from the following file: