1#ifndef TATOOINE_RENDERING_INTERACTIVE_EDGESET2_H
2#define TATOOINE_RENDERING_INTERACTIVE_EDGESET2_H
14template <
floating_po
int Real>
30 if (
grid.vertices().size() > 0) {
39 auto data = m_geometry.
wmap();
40 auto k = std::size_t{};
41 for (
auto const v :
grid.vertices()) {
46 auto data = m_lines.
wmap();
47 auto k = std::size_t{};
48 for (
auto const s :
grid.simplices()) {
49 auto const [v0, v1] =
grid[s];
50 data[k++] = v0.index();
51 data[k++] = v1.index();
68 vao.draw_lines(m_lines.
size());
72 ImGui::PushID(
"##__");
73 ImGui::Text(
"Edgeset");
74 ImGui::DragInt(
"Line width", &line_width, 1, 1, 20);
75 ImGui::ColorEdit4(
"Wireframe Color", line_color.
data());
81 using CamReal =
typename std::decay_t<
decltype(cam)>
::real_type;
82 static auto constexpr cam_is_float = is_same<GLfloat, CamReal>;
83 if constexpr (cam_is_float) {
90 if constexpr (cam_is_float) {
98template <
floating_po
int Real>
100 :
renderer<tatooine::unstructured_simplicial_grid<Real, 2, 1>> {
auto size() const
Definition: buffer.h:460
auto resize(GLsizei size) -> void
Definition: buffer.h:640
auto wmap()
Definition: buffer.h:506
auto bind() const -> void
Definition: buffer.h:684
Definition: indexbuffer.h:13
DLL_API void bind() const
Definition: vertexarray.h:15
DLL_API void bind() const
Definition: vertexbuffer.h:22
static constexpr void activate_attributes()
Definition: vertexbuffer.h:76
Definition: grid_edge.h:16
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: edgeset2.h:15
auto update(auto const, renderable_type const &, camera auto const &cam)
Definition: edgeset2.h:79
renderer(renderable_type const &grid)
Definition: edgeset2.h:29
gl::indexbuffer m_lines
Definition: edgeset2.h:25
auto properties(renderable_type const &)
Definition: edgeset2.h:71
auto init_geometry(renderable_type const &grid)
Definition: edgeset2.h:35
auto render()
Definition: edgeset2.h:56
gl::vertexbuffer< Vec2< GLfloat >, GLfloat > m_geometry
Definition: edgeset2.h:24
auto set_color(GLfloat r, GLfloat g, GLfloat b, GLfloat a=1) -> void
Definition: shaders.h:85
Definition: unstructured_simplicial_grid.h:52