1#ifndef TATOOINE_RENDERING_INTERACTIVE_AXIS_ALIGNED_BOUNDING_BOX2_H
2#define TATOOINE_RENDERING_INTERACTIVE_AXIS_ALIGNED_BOUNDING_BOX2_H
14template <
floating_po
int Real>
19 static auto get() ->
auto& {
20 static auto instance = geometry{};
24 vertexbuffer().resize(4);
26 auto vb_map = vertexbuffer().wmap();
32 indexbuffer().resize(4);
34 auto data = indexbuffer().wmap();
54 ImGui::Text(
"Axis Aligned Bounding Box");
55 ImGui::DragInt(
"Line width", &line_width, 1, 1, 20);
56 ImGui::ColorEdit4(
"Color", color.
data());
70 using CamReal =
typename std::decay_t<
decltype(cam)>
::real_type;
71 static auto constexpr cam_is_float = is_same<GLfloat, CamReal>;
72 if constexpr (cam_is_float) {
79 if constexpr (cam_is_float) {
Definition: indexeddata.h:13
DLL_API void bind() const
constexpr auto data() -> ValueType *
Definition: static_multidim_array.h:260
DLL_API auto line_width(GLfloat width) -> void
Definition: interactive.h:15
Definition: algorithm.h:6
typename get_impl< Container, I >::type get
Definition: get.h:11
Definition: axis_aligned_bounding_box.h:103
auto constexpr max() const -> auto const &
Definition: axis_aligned_bounding_box.h:156
auto constexpr min() const -> auto const &
Definition: axis_aligned_bounding_box.h:151
geometry()
Definition: axis_aligned_bounding_box2.h:23
static auto get() -> auto &
Definition: axis_aligned_bounding_box2.h:19
renderer(renderable_type const &)
Definition: axis_aligned_bounding_box2.h:51
auto render()
Definition: axis_aligned_bounding_box2.h:59
auto update(auto const, renderable_type const &aabb, camera auto const &cam)
Definition: axis_aligned_bounding_box2.h:68
auto properties(renderable_type const &)
Definition: axis_aligned_bounding_box2.h:53
auto set_color(GLfloat r, GLfloat g, GLfloat b, GLfloat a=1) -> void
Definition: shaders.h:85