Tatooine
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
tatooine::flowexplorer::scene Struct Reference

#include <scene.h>

Collaboration diagram for tatooine::flowexplorer::scene:
[legend]

Public Member Functions

 scene (rendering::camera_controller< float > &ctrl, flowexplorer::window *w)
 
 scene (rendering::camera_controller< float > &ctrl, flowexplorer::window *w, filesystem::path const &path)
 
 ~scene ()
 
auto links () const -> auto const &
 
auto links () -> auto &
 
auto new_link () const -> bool
 
auto nodes () const -> auto const &
 
auto nodes () -> auto &
 
auto renderables () const -> auto const &
 
auto renderables () -> auto &
 
auto camera () const -> auto const &
 
auto camera () -> auto &
 
auto window () const -> auto const &
 
auto window () -> auto &
 
auto camera_controller () const -> auto const &
 
auto camera_controller () -> auto &
 
auto remove_link (ui::link const &link_to_remove) -> void
 
auto render (std::chrono::duration< double > const &dt) -> void
 
auto find_node (ax::NodeEditor::NodeId const &id) -> ui::base::node *
 
auto find_input_pin (ax::NodeEditor::PinId const &id) -> ui::input_pin *
 
auto find_output_pin (ax::NodeEditor::PinId const &id) -> ui::output_pin *
 
auto node_creators (size_t const width) -> void
 
auto draw_nodes () -> void
 
auto draw_links () -> void
 
auto link (ui::input_pin &in, ui::output_pin &out) -> ui::link &
 
auto can_create_link (ui::input_pin const &, ui::input_pin const &) -> bool
 
auto can_create_link (ui::output_pin const &, ui::output_pin const &) -> bool
 
auto can_create_link (ui::input_pin const &, ui::output_pin const &) -> bool
 
auto can_create_link (ui::output_pin const &, ui::input_pin const &) -> bool
 
auto can_create_new_link (ui::input_pin const &) -> bool
 
auto can_create_new_link (ui::output_pin const &) -> bool
 
auto query_link_creation () -> void
 
auto query_link_and_node_deletions () -> void
 
auto draw_node_editor (size_t const pos_x, size_t const pos_y, size_t const width, size_t const height, bool &show) -> void
 
auto write (filesystem::path const &filepath) const -> void
 
auto read (filesystem::path const &filepath) -> void
 
auto open_file (filesystem::path const &filepath) -> void
 
template<typename F >
auto do_in_context (F &&f) const -> decltype(auto)
 
auto clear () -> void
 

Private Attributes

std::list< std::unique_ptr< ui::base::node > > m_nodes
 
std::list< std::unique_ptr< base::renderable > > m_renderables
 
std::list< std::unique_ptr< ui::link > > m_links
 
ax::NodeEditor::EditorContext * m_node_editor_context = nullptr
 
rendering::camera_controller< float > * m_cam
 
flowexplorer::windowm_window
 
bool m_new_link = false
 
ui::input_pinm_new_link_start_input = nullptr
 
ui::output_pinm_new_link_start_output = nullptr
 

Static Private Attributes

static std::set< std::string_view > items
 
static bool items_created
 

Constructor & Destructor Documentation

◆ scene() [1/2]

◆ scene() [2/2]

tatooine::flowexplorer::scene::scene ( rendering::camera_controller< float > &  ctrl,
flowexplorer::window w,
filesystem::path const &  path 
)

◆ ~scene()

tatooine::flowexplorer::scene::~scene ( )

Member Function Documentation

◆ camera() [1/2]

auto tatooine::flowexplorer::scene::camera ( ) -> auto&
inline

◆ camera() [2/2]

auto tatooine::flowexplorer::scene::camera ( ) const -> auto const&
inline

◆ camera_controller() [1/2]

◆ camera_controller() [2/2]

auto tatooine::flowexplorer::scene::camera_controller ( ) const -> auto const&
inline

◆ can_create_link() [1/4]

auto tatooine::flowexplorer::scene::can_create_link ( ui::input_pin const &  ,
ui::input_pin const &   
) -> bool

◆ can_create_link() [2/4]

auto tatooine::flowexplorer::scene::can_create_link ( ui::input_pin const &  ,
ui::output_pin const &   
) -> bool

◆ can_create_link() [3/4]

auto tatooine::flowexplorer::scene::can_create_link ( ui::output_pin const &  ,
ui::input_pin const &   
) -> bool

◆ can_create_link() [4/4]

auto tatooine::flowexplorer::scene::can_create_link ( ui::output_pin const &  ,
ui::output_pin const &   
) -> bool

◆ can_create_new_link() [1/2]

auto tatooine::flowexplorer::scene::can_create_new_link ( ui::input_pin const &  ) -> bool

◆ can_create_new_link() [2/2]

auto tatooine::flowexplorer::scene::can_create_new_link ( ui::output_pin const &  ) -> bool

◆ clear()

auto tatooine::flowexplorer::scene::clear ( ) -> void

◆ do_in_context()

template<typename F >
auto tatooine::flowexplorer::scene::do_in_context ( F &&  f) const -> decltype(auto)
inline

◆ draw_links()

auto tatooine::flowexplorer::scene::draw_links ( ) -> void

◆ draw_node_editor()

auto tatooine::flowexplorer::scene::draw_node_editor ( size_t const  pos_x,
size_t const  pos_y,
size_t const  width,
size_t const  height,
bool show 
) -> void

◆ draw_nodes()

auto tatooine::flowexplorer::scene::draw_nodes ( ) -> void

◆ find_input_pin()

auto tatooine::flowexplorer::scene::find_input_pin ( ax::NodeEditor::PinId const &  id) -> ui::input_pin *

◆ find_node()

auto tatooine::flowexplorer::scene::find_node ( ax::NodeEditor::NodeId const &  id) -> ui::base::node *

◆ find_output_pin()

auto tatooine::flowexplorer::scene::find_output_pin ( ax::NodeEditor::PinId const &  id) -> ui::output_pin *

◆ link()

◆ links() [1/2]

auto tatooine::flowexplorer::scene::links ( ) -> auto&
inline

◆ links() [2/2]

auto tatooine::flowexplorer::scene::links ( ) const -> auto const&
inline

◆ new_link()

auto tatooine::flowexplorer::scene::new_link ( ) const -> bool
inline

◆ node_creators()

auto tatooine::flowexplorer::scene::node_creators ( size_t const  width) -> void

◆ nodes() [1/2]

auto tatooine::flowexplorer::scene::nodes ( ) -> auto&
inline

◆ nodes() [2/2]

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

◆ open_file()

auto tatooine::flowexplorer::scene::open_file ( filesystem::path const &  filepath) -> void

◆ query_link_and_node_deletions()

auto tatooine::flowexplorer::scene::query_link_and_node_deletions ( ) -> void

◆ query_link_creation()

auto tatooine::flowexplorer::scene::query_link_creation ( ) -> void

◆ read()

auto tatooine::flowexplorer::scene::read ( filesystem::path const &  filepath) -> void

◆ remove_link()

auto tatooine::flowexplorer::scene::remove_link ( ui::link const &  link_to_remove) -> void

◆ render()

auto tatooine::flowexplorer::scene::render ( std::chrono::duration< double > const &  dt) -> void

◆ renderables() [1/2]

auto tatooine::flowexplorer::scene::renderables ( ) -> auto&
inline

◆ renderables() [2/2]

auto tatooine::flowexplorer::scene::renderables ( ) const -> auto const&
inline

◆ window() [1/2]

auto tatooine::flowexplorer::scene::window ( ) -> auto&
inline

◆ window() [2/2]

auto tatooine::flowexplorer::scene::window ( ) const -> auto const&
inline

◆ write()

auto tatooine::flowexplorer::scene::write ( filesystem::path const &  filepath) const -> void

Member Data Documentation

◆ items

std::set<std::string_view> tatooine::flowexplorer::scene::items
staticprivate

◆ items_created

bool tatooine::flowexplorer::scene::items_created
staticprivate

◆ m_cam

rendering::camera_controller<float>* tatooine::flowexplorer::scene::m_cam
private

◆ m_links

std::list<std::unique_ptr<ui::link> > tatooine::flowexplorer::scene::m_links
private

◆ m_new_link

bool tatooine::flowexplorer::scene::m_new_link = false
private

◆ m_new_link_start_input

ui::input_pin* tatooine::flowexplorer::scene::m_new_link_start_input = nullptr
private

◆ m_new_link_start_output

ui::output_pin* tatooine::flowexplorer::scene::m_new_link_start_output = nullptr
private

◆ m_node_editor_context

ax::NodeEditor::EditorContext* tatooine::flowexplorer::scene::m_node_editor_context = nullptr
private

◆ m_nodes

std::list<std::unique_ptr<ui::base::node> > tatooine::flowexplorer::scene::m_nodes
private

◆ m_renderables

std::list<std::unique_ptr<base::renderable> > tatooine::flowexplorer::scene::m_renderables
private

◆ m_window

flowexplorer::window* tatooine::flowexplorer::scene::m_window
private

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