94 static auto is_parent_of(entt::handle parent_to_test, entt::handle child) -> bool;
177 float epsilon) noexcept ->
bool;
499 auto
is_dirty() const noexcept ->
bool;
506 void set_dirty(uint8_t
id,
bool dirty) noexcept;
513 auto
is_dirty(uint8_t
id) const noexcept ->
bool;
538 void apply_transform(const
math::transform& tr) noexcept;
545 auto inverse_parent_transform(const
entt::
handle& parent) noexcept ->
math::transform;
551 void on_dirty_transform(
bool dirty) noexcept;
552 void on_dirty_flags(
bool dirty) noexcept;
553 void on_flags_changed(
flags_t flags);
554 auto get_flags_global() const noexcept ->
flags_t;
559 auto resolve_global_value_transform() const noexcept ->
math::transform;
560 auto resolve_global_value_flags() const noexcept ->
flags_t;
580 std::vector<entt::handle> children_{};
588 void (Owner::*on_dirty)(bool),
589 T (Owner::*resolve_global_value)()
const,
591 struct local_global_property
599 auto set_value(Owner*
owner,
const T& val)
noexcept ->
bool
613 auto get_value(
const Owner*
owner)
const noexcept ->
const T&
623 auto value(Owner*
owner)
noexcept -> T&
655 auto get_global_value(
const Owner*
owner,
bool force)
const noexcept ->
const T&
657 if(
force || auto_resolve && dirty)
668 auto has_auto_resolve() const noexcept ->
bool
678 mutable bool dirty{
true};
687 &transform_component::on_dirty_transform,
688 &transform_component::resolve_global_value_transform,
691 using property_flags = local_global_property<
flags_t,
693 &transform_component::on_dirty_flags,
694 &transform_component::resolve_global_value_flags,
704 property_transform transform_{};
706 property_flags flags_{};
708 std::bitset<32> transform_dirty_{};
transform_t< float > transform
Hash specialization for batch_key to enable use in std::unordered_map.
auto is_roots_order_changed() -> bool
void reset_roots_order_changed()
std::vector< float > scale
std::vector< math::quat > rotation
CRTP (Curiously Recurring Template Pattern) base structure for components.
Root component structure for the ACE framework, serves as the base component.
static void on_update_component(entt::registry &r, entt::entity e)
Called when the component is updated.
static void on_create_component(entt::registry &r, entt::entity e)
Called when the component is created.
static void on_destroy_component(entt::registry &r, entt::entity e)
Called when the component is destroyed.
static constexpr bool in_place_delete