12 #include "flutter/fml/macros.h"
51 variant<SetTransformEntry, SetAnimationStateEntry, SeekAnimationEntry>;
56 std::optional<std::vector<Entry>> Flush();
59 bool dirty_ IPLR_GUARDED_BY(write_mutex_) =
false;
60 std::vector<Entry> entries_ IPLR_GUARDED_BY(write_mutex_);
66 const fml::Mapping& ipscene_mapping,
74 const std::string&
GetName()
const;
75 void SetName(
const std::string& new_name);
80 const std::string& name,
81 bool exclude_animation_players =
false)
const;
92 bool AddChild(std::shared_ptr<Node> child);
103 const Matrix& parent_transform);
108 void UnpackFromFlatbuffer(
109 const fb::Node& node,
110 const std::vector<std::shared_ptr<Node>>& scene_nodes,
111 const std::vector<std::shared_ptr<Texture>>& textures,
119 bool is_root_ =
false;
120 bool is_joint_ =
false;
121 Node* parent_ =
nullptr;
122 std::vector<std::shared_ptr<Node>> children_;
126 std::vector<std::shared_ptr<Animation>> animations_;
127 mutable std::optional<AnimationPlayer> animation_player_;
129 std::unique_ptr<Skin> skin_;
131 FML_DISALLOW_COPY_AND_ASSIGN(
Node);