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

#include <axis_aligned_bounding_box.h>

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

Public Types

using this_type = axis_aligned_bounding_box< N >
 
using parent_type = tatooine::axis_aligned_bounding_box< double, N >
 
using gpu_vec = vec< float, N >
 
using vbo_t = gl::vertexbuffer< gpu_vec >
 
- Public Types inherited from tatooine::axis_aligned_bounding_box< double, N >
using real_type = double
 
using this_type = axis_aligned_bounding_box< double, NumDimensions >
 
using vec_type = vec< double, NumDimensions >
 
using pos_type = vec_type
 
- Public Types inherited from tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions >
using parent_type = ray_intersectable< Real, NumDimensions >
 
using intersection_type = intersection< real_type, NumDimensions >
 
using optional_intersection_type = std::optional< intersection_type >
 
using ray_type = ray< real_type, NumDimensions >
 
- Public Types inherited from tatooine::ray_intersectable< Real, NumDimensions >
using real_type = Real
 
using intersection_type = intersection< real_type, NumDimensions >
 
using optional_intersection_type = std::optional< intersection_type >
 
using ray_type = ray< real_type, NumDimensions >
 
- Public Types inherited from tatooine::flowexplorer::renderable< axis_aligned_bounding_box< N > >
using serializer_t = ui::node_serializer< axis_aligned_bounding_box< N > >
 

Public Member Functions

 axis_aligned_bounding_box (flowexplorer::scene &s)
 
 axis_aligned_bounding_box (const axis_aligned_bounding_box &)=default
 
 axis_aligned_bounding_box (axis_aligned_bounding_box &&) noexcept=default
 
auto operator= (const axis_aligned_bounding_box &) -> axis_aligned_bounding_box &=default
 
auto operator= (axis_aligned_bounding_box &&) noexcept -> axis_aligned_bounding_box &=default
 
auto render (mat4f const &P, mat4f const &V) -> void override
 
auto set_vbo_data () -> void
 
auto create_indexed_data () -> void
 
auto is_transparent () const -> bool override
 
auto line_width () -> auto &
 
auto line_width () const
 
auto line_color () -> auto &
 
auto line_color () const -> auto const &
 
- Public Member Functions inherited from tatooine::axis_aligned_bounding_box< double, N >
constexpr axis_aligned_bounding_box ()
 
constexpr axis_aligned_bounding_box (axis_aligned_bounding_box const &other)=default
 
constexpr axis_aligned_bounding_box (axis_aligned_bounding_box &&other) noexcept=default
 
constexpr axis_aligned_bounding_box (vec< Real0, NumDimensions > &&min, vec< Real1, NumDimensions > &&max) noexcept
 
constexpr axis_aligned_bounding_box (vec< Real0, NumDimensions > const &min, vec< Real1, NumDimensions > const &max)
 
constexpr axis_aligned_bounding_box (base_tensor< Tensor0, Real0, NumDimensions > const &min, base_tensor< Tensor1, Real1, NumDimensions > const &max)
 
constexpr auto operator= (axis_aligned_bounding_box const &other) -> axis_aligned_bounding_box &=default
 
constexpr auto operator= (axis_aligned_bounding_box &&other) noexcept -> axis_aligned_bounding_box &=default
 
 ~axis_aligned_bounding_box ()=default
 
auto constexpr min () const -> auto const &
 
auto constexpr min () -> auto &
 
auto constexpr min (std::size_t i) const -> auto const &
 
auto constexpr min (std::size_t i) -> auto &
 
auto constexpr max () const -> auto const &
 
auto constexpr max () -> auto &
 
auto constexpr max (std::size_t i) const -> auto const &
 
auto constexpr max (std::size_t i) -> auto &
 
auto constexpr extents () const
 
auto constexpr extent (std::size_t i) const
 
auto constexpr area () const
 
auto constexpr volume () const
 
auto constexpr center () const
 
auto constexpr center (std::size_t const i) const
 
auto constexpr is_inside (pos_type const &p) const
 
constexpr auto is_rectangle_inside (vec< double, 2 > x0, vec< double, 2 > x1, vec< double, 2 > x2, vec< double, 2 > x3) const
 
constexpr auto is_simplex_inside (vec< double, 2 > const &x0, vec< double, 2 > const &x1, vec< double, 2 > const &x2) const
 
constexpr auto is_simplex_inside (vec< double, 3 > x0, vec< double, 3 > x1, vec< double, 3 > x2) const
 
constexpr auto is_simplex_inside (vec< double, 3 > x0, vec< double, 3 > x1, vec< double, 3 > x2, vec< double, 3 > x3) const
 
constexpr auto operator+= (pos_type const &point)
 
constexpr auto reset ()
 
constexpr auto add_dimension (double const min, double const max) const
 
auto random_point (RandomEngine &&random_engine=RandomEngine{ std::random_device{}()}) const
 
auto write_vtk (filesystem::path const &path)
 
- Public Member Functions inherited from tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions >
auto as_aabb () const -> auto const &
 
auto check_intersection (ray_type const &r, Real const =0) const -> optional_intersection_type override
 
- Public Member Functions inherited from tatooine::ray_intersectable< Real, NumDimensions >
virtual ~ray_intersectable ()=default
 
virtual auto check_intersection (ray_type const &r, real_type const min_t) const -> optional_intersection_type=0
 
- Public Member Functions inherited from tatooine::flowexplorer::renderable< axis_aligned_bounding_box< 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< vec< float, N > > m_gpu_data
 
int m_line_width = 1
 
std::array< GLfloat, 4 > m_line_color {0.0f, 0.0f, 0.0f, 1.0f}
 
- Public Attributes inherited from tatooine::flowexplorer::base::renderable
bool m_picked = false
 

Additional Inherited Members

- Static Public Member Functions inherited from tatooine::axis_aligned_bounding_box< double, N >
static constexpr auto num_dimensions () -> std::size_t
 
static constexpr auto infinite ()
 

Member Typedef Documentation

◆ gpu_vec

template<size_t N>
using tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::gpu_vec = vec<float, N>

◆ parent_type

◆ this_type

◆ vbo_t

Constructor & Destructor Documentation

◆ axis_aligned_bounding_box() [1/3]

template<size_t N>
tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::axis_aligned_bounding_box ( flowexplorer::scene s)
inline

◆ axis_aligned_bounding_box() [2/3]

template<size_t N>
tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::axis_aligned_bounding_box ( const axis_aligned_bounding_box< N > &  )
default

◆ axis_aligned_bounding_box() [3/3]

template<size_t N>
tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::axis_aligned_bounding_box ( axis_aligned_bounding_box< N > &&  )
defaultnoexcept

Member Function Documentation

◆ create_indexed_data()

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

◆ is_transparent()

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

◆ line_color() [1/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::line_color ( ) -> auto&
inline

◆ line_color() [2/2]

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

◆ line_width() [1/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::line_width ( ) -> auto&
inline

◆ line_width() [2/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::line_width ( ) const
inline

◆ operator=() [1/2]

template<size_t N>
auto tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::operator= ( axis_aligned_bounding_box< N > &&  ) -> axis_aligned_bounding_box &=default
defaultnoexcept

◆ operator=() [2/2]

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

◆ render()

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

◆ set_vbo_data()

template<size_t N>
auto tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::set_vbo_data ( ) -> void
inline

Member Data Documentation

◆ m_gpu_data

template<size_t N>
gl::indexeddata<vec<float, N> > tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::m_gpu_data

◆ m_line_color

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

◆ m_line_width

template<size_t N>
int tatooine::flowexplorer::nodes::axis_aligned_bounding_box< N >::m_line_width = 1

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