Tatooine
Public Types | Public Member Functions | Public Attributes | List of all members
tatooine::flowexplorer::nodes::position< N > Struct Template Reference

#include <position.h>

Inheritance diagram for tatooine::flowexplorer::nodes::position< N >:
[legend]
Collaboration diagram for tatooine::flowexplorer::nodes::position< N >:
[legend]

Public Types

using this_type = position< N >
 
using parent_type = tatooine::vec< real_type, N >
 
using gpu_vec = vec< GLfloat, 3 >
 
- Public Types inherited from tatooine::vec< real_type, N >
using this_type = vec< ValueType, N >
 
using parent_type = tensor< ValueType, N >
 
using iterator = typename parent_type::array_parent_type::container_type::iterator
 
using const_iterator = typename parent_type::array_parent_type::container_type::const_iterator
 
- Public Types inherited from tatooine::tensor< ValueType, N >
using this_type = tensor< ValueType, Dims... >
 
using tensor_parent_type = base_tensor< this_type, ValueType, Dims... >
 
using value_type = typename tensor_parent_type::value_type
 
using array_parent_type = static_multidim_array< ValueType, x_fastest, stack, Dims... >
 
- Public Types inherited from tatooine::static_multidim_array< ValueType, x_fastest, stack, Dims... >
using size_type = static_multidim_size< IndexOrder, Resolution... >
 
using value_type = ValueType
 
using this_type = static_multidim_array< ValueType, IndexOrder, MemLoc, Resolution... >
 
using container_type = std::conditional_t< std::is_same< MemLoc, stack >::value, std::array< ValueType, num_components()>, std::vector< ValueType > >
 
- Public Types inherited from tatooine::base_tensor< tensor< ValueType, Dims... >, ValueType, Dims... >
using value_type = ValueType
 
using tensor_type = tensor< ValueType, Dims... >
 
using this_type = base_tensor< tensor< ValueType, Dims... >, ValueType, Dims... >
 
using parent_type = crtp< tensor< ValueType, Dims... > >
 
using multidim_size_t = static_multidim_size< x_fastest, Dims... >
 
using const_indexed_type = einstein_notation::indexed_static_tensor< tensor< ValueType, Dims... > const &, Is... >
 
using indexed_type = einstein_notation::indexed_static_tensor< tensor< ValueType, Dims... > &, Is... >
 
- Public Types inherited from tatooine::crtp< Derived >
using derived_type = Derived
 
- Public Types inherited from tatooine::flowexplorer::renderable< position< N > >
using serializer_t = ui::node_serializer< position< N > >
 

Public Member Functions

auto pos () -> vec< real_type, N > &
 
auto pos () const -> vec< real_type, N > const &
 
auto point_size () -> auto &
 
auto point_size () const -> auto const &
 
auto color () -> auto &
 
auto color () const -> auto const &
 
constexpr position (position const &)=default
 
constexpr position (position &&) noexcept=default
 
constexpr auto operator= (position const &) -> position &=default
 
constexpr auto operator= (position &&) noexcept -> position &=default
 
constexpr position (flowexplorer::scene &s)
 
auto render (mat4f const &P, mat4f const &V) -> void override
 
void set_vbo_data ()
 
auto create_indexed_data () -> void
 
auto is_transparent () const -> bool override
 
auto on_mouse_drag (int offset_x, int offset_y) -> bool override
 
auto draw_properties () -> bool override
 
auto check_intersection (ray< float, 3 > const &r) const -> std::optional< intersection< double, 3 > > override
 
- Public Member Functions inherited from tatooine::vec< real_type, N >
constexpr vec ()=default
 
constexpr vec (vec const &)=default
 
constexpr vec (vec &&other) noexcept=default
 
constexpr vec (convertible_to< ValueType > auto &&... ts)
 
constexpr vec (base_tensor< OtherTensor, OtherReal, N > const &other)
 
constexpr vec (tag::fill< FillReal > const f)
 
constexpr vec (tag::ones_t const ones)
 
constexpr vec (tag::zeros_t const zeros)
 
constexpr vec (random::uniform< RandomReal, Engine > &&rand)
 
constexpr vec (random::uniform< RandomReal, Engine > &rand)
 
constexpr vec (random::normal< RandomReal, Engine > &&rand)
 
constexpr vec (random::normal< RandomReal, Engine > &rand)
 
auto constexpr operator= (vec const &) -> vec &=default
 
auto constexpr operator= (vec &&other) noexcept -> vec &=default
 
auto constexpr operator= (Other &&other) -> vec &
 
 ~vec ()=default
 
auto begin () const
 
auto begin ()
 
auto end () const
 
auto end ()
 
auto size () const
 
auto constexpr x () const -> auto const &requires(N >=1)
 
auto constexpr x () -> auto &requires(N >=1)
 
auto constexpr y () const -> auto const &requires(N >=2)
 
auto constexpr y () -> auto &requires(N >=2)
 
auto constexpr xy () const
 
auto constexpr yx () const
 
auto constexpr xyz () const
 
auto constexpr z () const -> auto const &requires(N >=3)
 
auto constexpr z () -> auto &requires(N >=3)
 
auto constexpr xyzw () const
 
auto constexpr w () const -> auto const &requires(N >=4)
 
auto constexpr w () -> auto &requires(N >=4)
 
- Public Member Functions inherited from tatooine::tensor< ValueType, N >
constexpr tensor ()=default
 
constexpr tensor (tensor const &)=default
 
constexpr tensor (tensor &&other) noexcept=default
 
constexpr tensor (Ts const &... ts)
 
constexpr tensor (tag::zeros_t zeros)
 
constexpr tensor (tag::ones_t ones)
 
constexpr tensor (tag::fill< FillReal > f)
 
constexpr tensor (random::uniform< RandomReal, Engine > &&rand)
 
constexpr tensor (random::uniform< RandomReal, Engine > &rand)
 
constexpr tensor (random::normal< RandomReal, Engine > &&rand)
 
constexpr tensor (random::normal< RandomReal, Engine > &rand)
 
constexpr tensor (OtherTensor &&other)
 
constexpr auto operator= (tensor const &) -> tensor &=default
 
constexpr auto operator= (tensor &&other) noexcept -> tensor &=default
 
constexpr auto operator= (OtherTensor &&other) -> tensor &
 
 ~tensor ()=default
 
auto constexpr at (integral auto const ... is) -> decltype(auto)
 
auto constexpr at (integral auto const ... is) const -> decltype(auto)
 
auto constexpr at (einstein_notation::index auto const ... is) -> decltype(auto)
 
auto constexpr at (einstein_notation::index auto const ... is) const -> decltype(auto)
 
constexpr auto at (integral_range auto const &indices) const -> auto const &
 
constexpr auto at (integral_range auto const &indices) -> auto &
 
auto constexpr operator() (Is const ... is) -> decltype(auto)
 
auto constexpr operator() (Is const ... is) const -> decltype(auto)
 
constexpr auto operator() (integral_range auto const &indices) const -> const auto &
 
constexpr auto operator() (integral_range auto const &indices) -> auto &
 
auto operator< (tensor< OtherT, Dims... > const &other) const
 
auto unary_operation (F &&f) -> auto &
 
auto binary_operation (F &&f, base_tensor< OtherTensor, OtherT, Dims... > const &other) -> decltype(auto)
 
- Public Member Functions inherited from tatooine::static_multidim_array< ValueType, x_fastest, stack, Dims... >
constexpr static_multidim_array (static_multidim_array const &other)=default
 
constexpr static_multidim_array (static_multidim_array &&other) noexcept=default
 
constexpr static_multidim_array (static_multidim_array< OtherT, OtherIndexing, OtherMemLoc, Resolution... > const &other)
 
constexpr static_multidim_array (convertible_to< ValueType > auto &&... ts)
 
constexpr static_multidim_array ()
 
constexpr static_multidim_array (tag::fill< S > const &f)
 
constexpr static_multidim_array (tag::zeros_t)
 
constexpr static_multidim_array (tag::ones_t)
 
 static_multidim_array (std::vector< ValueType > const &data)
 
constexpr static_multidim_array (std::array< ValueType, num_components()> const &data)
 
constexpr static_multidim_array (std::array< ValueType, num_components()> &&data)
 
constexpr static_multidim_array (std::vector< ValueType > &&data)
 
constexpr static_multidim_array (random::uniform< RandomReal, Engine > &rand)
 
constexpr static_multidim_array (random::uniform< RandomReal, Engine > &&rand)
 
constexpr static_multidim_array (random::normal< RandomReal, Engine > &&rand)
 
constexpr static_multidim_array (random::normal< RandomReal, Engine > &rand)
 
constexpr auto operator= (static_multidim_array const &other) -> static_multidim_array &=default
 
constexpr auto operator= (static_multidim_array &&other) noexcept -> static_multidim_array &=default
 
constexpr auto operator= (static_multidim_array< OtherT, OtherIndexing, OtherMemLoc, Resolution... > const &other) -> static_multidim_array &
 
 ~static_multidim_array ()=default
 
constexpr auto at (integral auto const ... is) const -> const auto &requires(sizeof...(is)==num_dimensions())
 
constexpr auto at (integral auto const ... is) -> auto &requires(sizeof...(is)==num_dimensions())
 
constexpr auto at (integral_range auto const &indices) const -> auto const &
 
constexpr auto at (integral_range auto const &indices) -> auto &
 
constexpr auto operator() (integral auto const ... is) const -> auto const &requires(sizeof...(is)==num_dimensions())
 
constexpr auto operator() (integral auto const ... is) -> auto &
 
constexpr auto operator() (integral_range auto const &indices) const -> const auto &
 
constexpr auto operator() (integral_range auto const &indices) -> auto &
 
constexpr auto operator[] (std::size_t i) -> auto &
 
constexpr auto operator[] (std::size_t i) const -> auto const &
 
constexpr auto internal_container () -> auto &
 
constexpr auto internal_container () const -> auto const &
 
constexpr auto data () -> ValueType *
 
constexpr auto data () const -> ValueType const *
 
constexpr void unary_operation (F &&f)
 
constexpr void binary_operation (F &&f, static_multidim_array< OtherT, OtherIndexing, OtherMemLoc, Resolution... > const &other)
 
- Public Member Functions inherited from tatooine::base_tensor< tensor< ValueType, Dims... >, ValueType, Dims... >
constexpr base_tensor ()=default
 
constexpr base_tensor (Other &&other)
 
auto constexpr operator= (Other &&other) -> base_tensor &
 
auto constexpr assign (Other &&other) -> void
 
auto constexpr at (Is const ...)
 
auto constexpr at (Is const ...) const
 
auto constexpr at (integral auto const ... is) const -> decltype(auto) requires(sizeof...(is)==rank())
 
auto constexpr at (integral auto const ... is) -> decltype(auto) requires(sizeof...(is)==rank())
 
auto constexpr at (integral_range auto const &is) -> decltype(auto)
 
auto constexpr at (integral_range auto const &is) const -> decltype(auto)
 
auto constexpr operator() (Is const ... is) const
 
auto constexpr operator() (Is const ... is)
 
auto constexpr operator() (integral auto const ... is) const -> decltype(auto) requires(sizeof...(is)==rank())
 
auto constexpr operator() (integral auto const ... is) -> decltype(auto) requires(sizeof...(is)==rank())
 
auto constexpr slice (std::size_t fixed_index, std::index_sequence< Is... >) -> decltype(auto)
 
auto constexpr slice (std::size_t fixed_index) -> decltype(auto)
 
auto constexpr slice (std::size_t fixed_index, std::index_sequence< Is... >) const
 
auto constexpr slice (std::size_t fixed_index) const
 
auto operator+= (base_tensor< OtherTensor, OtherValueType, Dims... > const &other) -> auto &
 
auto operator+= (convertible_to< ValueType > auto const &other) -> auto &
 
auto operator-= (base_tensor< OtherTensor, OtherValueType, Dims... > const &other) -> auto &
 
auto operator-= (convertible_to< ValueType > auto const &other) -> auto &
 
auto operator*= (convertible_to< ValueType > auto const &other) -> auto &
 
auto operator/= (convertible_to< ValueType > auto const &other) -> auto &
 
auto isnan () const
 
auto isinf () const
 
- Public Member Functions inherited from tatooine::crtp< Derived >
constexpr auto as_derived () -> derived_type &
 returns casted as_derived data More...
 
constexpr auto as_derived () const -> derived_type const &
 returns casted as_derived data More...
 
- Public Member Functions inherited from tatooine::flowexplorer::renderable< position< N > >
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
 

Public Attributes

gl::indexeddata< gpu_vecm_gpu_data
 
int m_pointsize = 1
 
std::array< GLfloat, 4 > m_color {0.0f, 0.0f, 0.0f, 1.0f}
 
std::array< ui::input_pin *, N > m_input_pins
 
- Public Attributes inherited from tatooine::flowexplorer::base::renderable
bool m_picked = false
 

Additional Inherited Members

- Static Public Member Functions inherited from tatooine::vec< real_type, N >
static auto constexpr zeros ()
 
static auto constexpr ones ()
 
static auto constexpr fill (ValueType const &t)
 
static auto constexpr randu (ValueType min=0, ValueType max=1, RandEng &&eng=RandEng{std::random_device{}()})
 
static auto constexpr randn (ValueType mean=0, ValueType stddev=1, RandEng &&eng=RandEng{std::random_device{}()})
 
- Static Public Member Functions inherited from tatooine::tensor< ValueType, N >
static constexpr auto zeros ()
 
static constexpr auto ones ()
 
static constexpr auto fill (ValueType const &t)
 
static constexpr auto randu (ValueType min=0, ValueType max=1, RandEng &&eng=RandEng{std::random_device{}()})
 
static constexpr auto randn (ValueType mean=0, ValueType stddev=1, RandEng &&eng=RandEng{std::random_device{}()})
 
static auto constexpr dimension (std::size_t const i)
 
static auto constexpr num_components ()
 
static auto constexpr rank ()
 
- Static Public Member Functions inherited from tatooine::static_multidim_array< ValueType, x_fastest, stack, Dims... >
static std::size_t constexpr num_components ()
 
static std::size_t constexpr num_dimensions ()
 
static auto constexpr size ()
 
static auto constexpr plain_index (integral auto const ... indices)
 
static auto plain_index (integral_range auto const &indices)
 
static auto constexpr in_range (integral auto const ... indices)
 
static constexpr auto zeros ()
 
static constexpr auto ones ()
 
static constexpr auto fill (S &&s)
 
static auto randu (ValueType min=0, ValueType max=1, RandEng &&eng=RandEng{std::random_device{}()})
 
static auto randn (ValueType mean=0, ValueType stddev=1, RandEng &&eng=RandEng{std::random_device{}()})
 
- Static Public Member Functions inherited from tatooine::base_tensor< tensor< ValueType, Dims... >, ValueType, Dims... >
static auto constexpr rank ()
 
static auto constexpr num_components ()
 
static auto constexpr dimensions ()
 
static auto constexpr dimension (std::size_t const i)
 
static auto constexpr is_static () -> bool
 
static auto constexpr is_tensor () -> bool
 
static auto constexpr indices ()
 
static auto constexpr for_indices (invocable< decltype(Dims)... > auto &&f)
 
static auto constexpr array_index (integral auto const ... is)
 

Member Typedef Documentation

◆ gpu_vec

template<size_t N>
using tatooine::flowexplorer::nodes::position< N >::gpu_vec = vec<GLfloat, 3>

◆ parent_type

template<size_t N>
using tatooine::flowexplorer::nodes::position< N >::parent_type = tatooine::vec<real_type, N>

◆ this_type

template<size_t N>
using tatooine::flowexplorer::nodes::position< N >::this_type = position<N>

Constructor & Destructor Documentation

◆ position() [1/3]

template<size_t N>
constexpr tatooine::flowexplorer::nodes::position< N >::position ( position< N > const &  )
constexprdefault

◆ position() [2/3]

template<size_t N>
constexpr tatooine::flowexplorer::nodes::position< N >::position ( position< N > &&  )
constexprdefaultnoexcept

◆ position() [3/3]

template<size_t N>
constexpr tatooine::flowexplorer::nodes::position< N >::position ( flowexplorer::scene s)
inlineconstexpr

Member Function Documentation

◆ check_intersection()

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::check_intersection ( ray< float, 3 > const &  r) const -> std::optional<intersection<double, 3>>
inlineoverridevirtual

◆ color() [1/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::color ( ) -> auto&
inline

◆ color() [2/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::color ( ) const -> auto const&
inline

◆ create_indexed_data()

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::create_indexed_data ( ) -> void
inline

◆ draw_properties()

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::draw_properties ( ) -> bool
inlineoverridevirtual

◆ is_transparent()

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::is_transparent ( ) const -> bool
inlineoverridevirtual

◆ on_mouse_drag()

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::on_mouse_drag ( int  offset_x,
int  offset_y 
) -> bool
inlineoverridevirtual

◆ operator=() [1/2]

template<size_t N>
constexpr auto tatooine::flowexplorer::nodes::position< N >::operator= ( position< N > &&  ) -> position &=default
constexprdefaultnoexcept

◆ operator=() [2/2]

template<size_t N>
constexpr auto tatooine::flowexplorer::nodes::position< N >::operator= ( position< N > const &  ) -> position &=default
constexprdefault

◆ point_size() [1/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::point_size ( ) -> auto&
inline

◆ point_size() [2/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::point_size ( ) const -> auto const&
inline

◆ pos() [1/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::pos ( ) -> vec<real_type, N>&
inline

◆ pos() [2/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::pos ( ) const -> vec<real_type, N> const&
inline

◆ render()

template<size_t N>
auto tatooine::flowexplorer::nodes::position< N >::render ( mat4f const &  P,
mat4f const &  V 
) -> void
inlineoverridevirtual

◆ set_vbo_data()

template<size_t N>
void tatooine::flowexplorer::nodes::position< N >::set_vbo_data ( )
inline

Member Data Documentation

◆ m_color

template<size_t N>
std::array<GLfloat, 4> tatooine::flowexplorer::nodes::position< N >::m_color {0.0f, 0.0f, 0.0f, 1.0f}

◆ m_gpu_data

template<size_t N>
gl::indexeddata<gpu_vec> tatooine::flowexplorer::nodes::position< N >::m_gpu_data

◆ m_input_pins

template<size_t N>
std::array<ui::input_pin*, N> tatooine::flowexplorer::nodes::position< N >::m_input_pins

◆ m_pointsize

template<size_t N>
int tatooine::flowexplorer::nodes::position< N >::m_pointsize = 1

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