OSSIA
Open Scenario System for Interactive Application
Loading...
Searching...
No Matches
texture_parameter.hpp
1#pragma once
2#include <ossia/gfx/port_index.hpp>
3#include <ossia/network/base/parameter.hpp>
4
5namespace ossia::gfx
6{
7class OSSIA_EXPORT texture_parameter : public ossia::net::parameter_base
8{
9public:
10 explicit texture_parameter(ossia::net::node_base& n)
11 : parameter_base{n}
12 {
13 m_type = parameter_type::TEXTURE;
14 }
15
16 virtual ~texture_parameter();
17
18 // For input
19 virtual void pull_texture(ossia::gfx::port_index idx);
20
21 void pull_value() override;
25 ossia::value value() const override;
26 ossia::value set_value(const ossia::value&) override;
27 ossia::value set_value(ossia::value&&) override;
28 ossia::val_type get_value_type() const noexcept override;
29 ossia::net::parameter_base& set_value_type(ossia::val_type) override;
30 ossia::access_mode get_access() const noexcept override;
31 ossia::net::parameter_base& set_access(ossia::access_mode) override;
32 const ossia::domain& get_domain() const noexcept override;
33 ossia::net::parameter_base& set_domain(const ossia::domain&) override;
34 ossia::bounding_mode get_bounding() const noexcept override;
35 ossia::net::parameter_base& set_bounding(ossia::bounding_mode) override;
36};
37class OSSIA_EXPORT geometry_parameter : public ossia::net::parameter_base
38{
39public:
40 explicit geometry_parameter(ossia::net::node_base& n)
41 : parameter_base{n}
42 {
43 m_type = parameter_type::GEOMETRY;
44 }
45
46 virtual ~geometry_parameter();
47
48 // For input
49 virtual void pull_geometry(ossia::gfx::port_index idx);
50
51 void pull_value() override;
55 ossia::value value() const override;
56 ossia::value set_value(const ossia::value&) override;
57 ossia::value set_value(ossia::value&&) override;
58 ossia::val_type get_value_type() const noexcept override;
59 ossia::net::parameter_base& set_value_type(ossia::val_type) override;
60 ossia::access_mode get_access() const noexcept override;
61 ossia::net::parameter_base& set_access(ossia::access_mode) override;
62 const ossia::domain& get_domain() const noexcept override;
63 ossia::net::parameter_base& set_domain(const ossia::domain&) override;
64 ossia::bounding_mode get_bounding() const noexcept override;
65 ossia::net::parameter_base& set_bounding(ossia::bounding_mode) override;
66};
67}
The node_base class.
Definition node.hpp:48
The parameter_base class.
Definition ossia/network/base/parameter.hpp:48
The value class.
Definition value.hpp:173
Definition git_info.h:7
val_type
Enum to represent the types that a value can take.
Definition parameter_properties.hpp:16
OSSIA_EXPORT void push_value(const ossia::destination &addr, const ossia::value_with_unit &)
Send a value to a given destination.
Definition ossia/network/base/parameter.cpp:151