Tatooine
Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::flowexplorer::nodes::lic Struct Reference

#include <lic.h>

Inheritance diagram for tatooine::flowexplorer::nodes::lic:
[legend]
Collaboration diagram for tatooine::flowexplorer::nodes::lic:
[legend]

Public Types

using vectorfield_t = vectorfield_to_gpu
 
using bb_t = flowexplorer::nodes::axis_aligned_bounding_box< 2 >
 
- Public Types inherited from tatooine::flowexplorer::renderable< lic >
using serializer_t = ui::node_serializer< lic >
 

Public Member Functions

 lic (flowexplorer::scene &s)
 
auto init () -> void
 
auto write_png () -> void
 
auto setup_pins () -> void
 
auto setup_quad () -> void
 
auto render (mat4f const &projection_matrix, mat4f const &view_matrix) -> void override
 
auto on_property_changed () -> void override
 
auto calculate_lic () -> void
 
auto update_shader (mat4f const &projection_matrix, mat4f const &view_matrix) -> void
 
void on_pin_connected (ui::input_pin &this_pin, ui::output_pin &other_pin) override
 
void on_pin_disconnected (ui::input_pin &this_pin) override
 
auto is_transparent () const -> bool override
 
auto lic_res () -> auto &
 
auto lic_res () const -> auto const &
 
auto num_samples () -> auto &
 
auto num_samples () const
 
auto stepsize () -> auto &
 
auto stepsize () const
 
auto alpha () -> auto &
 
auto alpha () const
 
auto seed () -> auto &
 
auto seed () const -> auto const &
 
auto update (std::chrono::duration< double > const &) -> void override
 
auto draw_properties () -> bool override
 
- Public Member Functions inherited from tatooine::flowexplorer::renderable< lic >
auto serialize () const -> toml::table override
 
auto deserialize (toml::table const &serialization) -> void override
 
auto draw_properties () -> bool override
 
auto type_name () const -> std::string_view override
 
- Public Member Functions inherited from tatooine::flowexplorer::base::renderable
 renderable (std::string const &title, flowexplorer::scene &s)
 
template<typename T >
 renderable (std::string const &title, flowexplorer::scene &s, T &ref)
 
 renderable (renderable const &w)=delete
 
 renderable (renderable &&w) noexcept=delete
 
auto operator= (renderable const &w) -> renderable &=delete
 
auto operator= (renderable &&w) noexcept -> renderable &=delete
 
virtual ~renderable ()=default
 
virtual auto render (mat4f const &projection_matrix, mat4f const &view_matrix) -> void=0
 
virtual auto is_transparent () const -> bool
 
virtual auto on_mouse_drag (int, int) -> bool
 
auto on_mouse_clicked () -> void
 
auto on_mouse_released () -> void
 
auto is_picked () -> bool
 
virtual auto check_intersection (ray< float, 3 > const &) const -> std::optional< intersection< double, 3 > >
 
- Public Member Functions inherited from tatooine::flowexplorer::ui::base::node
 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 ()
 
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 &
 
- Public Member Functions inherited from tatooine::flowexplorer::ui::node_serializer< T >
auto serialize (T const &t) const -> toml::table
 
auto deserialize (T &t, toml::table const &serialized_node) -> void
 
auto draw_properties (T &t) -> bool
 
constexpr auto type_name () const -> std::string_view
 

Private Attributes

vectorfield_tm_v = nullptr
 
bb_tm_bb = nullptr
 
bool m_calculating = false
 
bool m_needs_another_update = false
 
std::unique_ptr< gpu::texture_shader > m_shader
 
std::unique_ptr< gl::tex2rgba< float > > m_lic_tex
 
gl::indexeddata< vec< float, 2 >, vec< float, 2 >, float > m_quad
 
std::mutex m_mutex
 
vec< int, 2 > m_lic_res
 
int m_num_samples
 
double m_stepsize
 
float m_alpha
 
std::string m_seed_str
 

Additional Inherited Members

- Public Attributes inherited from tatooine::flowexplorer::base::renderable
bool m_picked = false
 

Member Typedef Documentation

◆ bb_t

◆ vectorfield_t

Constructor & Destructor Documentation

◆ lic()

Member Function Documentation

◆ alpha() [1/2]

auto tatooine::flowexplorer::nodes::lic::alpha ( ) -> auto&
inline

◆ alpha() [2/2]

auto tatooine::flowexplorer::nodes::lic::alpha ( ) const
inline

◆ calculate_lic()

auto tatooine::flowexplorer::nodes::lic::calculate_lic ( ) -> void

◆ draw_properties()

auto tatooine::flowexplorer::nodes::lic::draw_properties ( ) -> bool
inlineoverridevirtual

◆ init()

auto tatooine::flowexplorer::nodes::lic::init ( ) -> void

◆ is_transparent()

auto tatooine::flowexplorer::nodes::lic::is_transparent ( ) const -> bool
overridevirtual

◆ lic_res() [1/2]

auto tatooine::flowexplorer::nodes::lic::lic_res ( ) -> auto&
inline

◆ lic_res() [2/2]

auto tatooine::flowexplorer::nodes::lic::lic_res ( ) const -> auto const&
inline

◆ num_samples() [1/2]

auto tatooine::flowexplorer::nodes::lic::num_samples ( ) -> auto&
inline

◆ num_samples() [2/2]

auto tatooine::flowexplorer::nodes::lic::num_samples ( ) const
inline

◆ on_pin_connected()

void tatooine::flowexplorer::nodes::lic::on_pin_connected ( ui::input_pin this_pin,
ui::output_pin other_pin 
)
overridevirtual

◆ on_pin_disconnected()

void tatooine::flowexplorer::nodes::lic::on_pin_disconnected ( ui::input_pin this_pin)
overridevirtual

◆ on_property_changed()

auto tatooine::flowexplorer::nodes::lic::on_property_changed ( ) -> void
overridevirtual

◆ render()

auto tatooine::flowexplorer::nodes::lic::render ( mat4f const &  projection_matrix,
mat4f const &  view_matrix 
) -> void
overridevirtual

◆ seed() [1/2]

auto tatooine::flowexplorer::nodes::lic::seed ( ) -> auto&
inline

◆ seed() [2/2]

auto tatooine::flowexplorer::nodes::lic::seed ( ) const -> auto const&
inline

◆ setup_pins()

auto tatooine::flowexplorer::nodes::lic::setup_pins ( ) -> void

◆ setup_quad()

auto tatooine::flowexplorer::nodes::lic::setup_quad ( ) -> void

◆ stepsize() [1/2]

auto tatooine::flowexplorer::nodes::lic::stepsize ( ) -> auto&
inline

◆ stepsize() [2/2]

auto tatooine::flowexplorer::nodes::lic::stepsize ( ) const
inline

◆ update()

auto tatooine::flowexplorer::nodes::lic::update ( std::chrono::duration< double > const &  ) -> void
overridevirtual

◆ update_shader()

auto tatooine::flowexplorer::nodes::lic::update_shader ( mat4f const &  projection_matrix,
mat4f const &  view_matrix 
) -> void

◆ write_png()

auto tatooine::flowexplorer::nodes::lic::write_png ( ) -> void

Member Data Documentation

◆ m_alpha

float tatooine::flowexplorer::nodes::lic::m_alpha
private

◆ m_bb

bb_t* tatooine::flowexplorer::nodes::lic::m_bb = nullptr
private

◆ m_calculating

bool tatooine::flowexplorer::nodes::lic::m_calculating = false
private

◆ m_lic_res

vec<int, 2> tatooine::flowexplorer::nodes::lic::m_lic_res
private

◆ m_lic_tex

std::unique_ptr<gl::tex2rgba<float> > tatooine::flowexplorer::nodes::lic::m_lic_tex
private

◆ m_mutex

std::mutex tatooine::flowexplorer::nodes::lic::m_mutex
private

◆ m_needs_another_update

bool tatooine::flowexplorer::nodes::lic::m_needs_another_update = false
private

◆ m_num_samples

int tatooine::flowexplorer::nodes::lic::m_num_samples
private

◆ m_quad

gl::indexeddata<vec<float, 2>, vec<float, 2>, float> tatooine::flowexplorer::nodes::lic::m_quad
private

◆ m_seed_str

std::string tatooine::flowexplorer::nodes::lic::m_seed_str
private

◆ m_shader

std::unique_ptr<gpu::texture_shader> tatooine::flowexplorer::nodes::lic::m_shader
private

◆ m_stepsize

double tatooine::flowexplorer::nodes::lic::m_stepsize
private

◆ m_v

vectorfield_t* tatooine::flowexplorer::nodes::lic::m_v = nullptr
private

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