11#include "webcface/common/webcface-config.h"
18template <
typename Component>
29 std::shared_ptr<internal::DataSetBuffer<TemporalCanvas3DComponent>> sb;
38 using Field::lastName;
39 using Field::lastNameW;
75 return child(std::to_string(index));
97 template <
typename F,
typename std::enable_if_t<std::is_invocable_v<F>,
98 std::
nullptr_t> =
nullptr>
101 [callback = std::move(callback)](
const auto &) { callback(); });
114 std::optional<std::vector<Canvas3DComponent>> tryGet()
const;
119 std::vector<Canvas3DComponent>
get()
const {
120 return tryGet().value_or(std::vector<Canvas3DComponent>{});
162 template <
typename T>
164 *this << std::forward<T>(cc);
172 template <
bool V,
bool C2>
192 template <
typename T,
typename std::enable_if_t<std::is_same_v<T, Canvas3D>,
193 std::
nullptr_t> =
nullptr>
195 return static_cast<Field>(*this) ==
static_cast<Field>(other);
197 template <
typename T,
typename std::enable_if_t<std::is_same_v<T, Canvas3D>,
198 std::
nullptr_t> =
nullptr>
200 return static_cast<Field>(*this) !=
static_cast<Field>(other);
Canvas3Dの送受信データを表すクラス
Definition canvas3d.h:28
Canvas3D child(StringInitializer field) const
「(thisの名前).(追加の名前)」を新しい名前とするField
Definition canvas3d.h:49
Canvas3D(const Field &base, const SharedString &field)
Definition canvas3d.h:34
bool operator==(const T &other) const
Canvas3Dの参照先を比較
Definition canvas3d.h:194
const Canvas3D & onChange(F callback) const
値が変化したときに呼び出されるコールバックを設定
Definition canvas3d.h:99
std::vector< Canvas3DComponent > get() const
Canvasの内容を取得する
Definition canvas3d.h:119
const Canvas3D & add(T &&cc) const
コンポーネントなどを追加
Definition canvas3d.h:163
Canvas3D parent() const
nameの最後のピリオドの前までを新しい名前とするField
Definition canvas3d.h:81
bool operator!=(const T &other) const
Definition canvas3d.h:199
const Canvas3D & operator<<(TemporalComponent< V, C2, true > cc) const
Geometryを追加
Definition canvas3d.h:173
Canvas3D operator[](StringInitializer field) const
Definition canvas3d.h:67
Canvas3D child(int index) const
Definition canvas3d.h:57
Canvas3D operator[](int index) const
Definition canvas3d.h:74
u8stringとstringとwstringをshared_ptrで持ち共有する
Definition encoding.h:170
SharedString のpublicなコンストラクタインタフェース (入力専用)
Definition encoding.h:235
Canvas3Dを構築するときに使う一時的なCanvas3DComponent.
Definition component_canvas3d.h:121
View,Canvasなどで送信用にaddされたデータを管理する
Definition data_buffer.h:17
std::ostream & operator<<(std::ostream &os, const Arg &arg)
Definition func_info.cc:99
ClientDataの参照とメンバ名とデータ名を持つクラス
Definition field.h:68
Field parent() const
nameの最後のピリオドの前までを新しい名前とするField
Definition field.cc:39
Field child(const SharedString &field) const
Definition field.cc:48
Canvas2D, Canvas3D (, View) に要素をaddするときに使うインタフェース
Definition components.h:23
TemporalCanvas3DComponent component_3d
Definition components.h:26
#define WEBCFACE_DLL
Definition webcface-config.h:69
#define WEBCFACE_NS_END
Definition webcface-config.h:113
#define WEBCFACE_NS_BEGIN
Definition webcface-config.h:112
#define WEBCFACE_CALL_FP
Definition webcface-config.h:107