1#ifndef TATOOINE_FLOWEXPLORER_NODES_VECTORFIELD_TO_GPU_H
2#define TATOOINE_FLOWEXPLORER_NODES_VECTORFIELD_TO_GPU_H
33 insert_input_pin<vectorfield_t>(
"2D Vector Field");
34 insert_input_pin<bb_t>(
"2D Bounding Box");
39 *
dynamic_cast<tex_t*
>(
this) = gpu::upload_tex<float>(
58 if (
m_bb !=
nullptr &&
m_v !=
nullptr) {
64 if (
m_v !=
nullptr &&
m_bb !=
nullptr) {
74 TATOOINE_REFLECTION_INSERT_GETTER(resolution),
75 TATOOINE_REFLECTION_INSERT_GETTER(time));
tex2rg< GLfloat > tex2rg32f
Definition: texture.h:939
auto begin(Range &&range)
Definition: iterator_facade.h:318
auto end(Range &&range)
Definition: iterator_facade.h:322
detail::rectilinear_grid::creator_t< linspace< Real >, N > uniform_rectilinear_grid
Definition: rectilinear_grid.h:1904
auto sample_to_vector(polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain, arithmetic auto const t)
Definition: discretize_field.h:73
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
Definition: axis_aligned_bounding_box.h:15
Definition: vectorfield_to_gpu.h:11
auto time() const
Definition: vectorfield_to_gpu.h:26
vectorfield_t * m_v
Definition: vectorfield_to_gpu.h:16
vec< int, 2 > m_res
Definition: vectorfield_to_gpu.h:18
bb_t * m_bb
Definition: vectorfield_to_gpu.h:17
auto bounding_box() const
Definition: vectorfield_to_gpu.h:21
auto on_property_changed() -> void override
Definition: vectorfield_to_gpu.h:63
vectorfield_to_gpu(flowexplorer::scene &s)
Definition: vectorfield_to_gpu.h:29
auto resolution() -> auto &
Definition: vectorfield_to_gpu.h:24
void on_pin_connected(ui::input_pin &this_pin, ui::output_pin &other_pin) override
Definition: vectorfield_to_gpu.h:49
auto upload()
Definition: vectorfield_to_gpu.h:38
auto resolution() const -> auto const &
Definition: vectorfield_to_gpu.h:23
real_type m_t
Definition: vectorfield_to_gpu.h:19
virtual ~vectorfield_to_gpu()=default
auto time() -> auto &
Definition: vectorfield_to_gpu.h:27
node(flowexplorer::scene &s)
auto node() const -> auto const &
Definition: pin.h:29
auto constexpr at(integral auto const ... is) -> decltype(auto)
Definition: tensor.h:38
TATOOINE_FLOWEXPLORER_REGISTER_NODE(tatooine::flowexplorer::nodes::vectorfield_to_gpu, TATOOINE_REFLECTION_INSERT_GETTER(resolution), TATOOINE_REFLECTION_INSERT_GETTER(time))