sandbox
Loading...
Searching...
No Matches
sbx::scenes::scene_graph Class Reference

Public Types

using registry_type = ecs::basic_registry< scenes::node >
 

Public Member Functions

auto root () const -> scenes::node
 
auto node_count () const -> std::size_t
 
auto is_valid (const scenes::node node) const -> bool
 
auto find_node (const scenes::id &id) -> scenes::node
 
auto create_node (const std::string &tag="Node", const scenes::transform &transform=scenes::transform{}) -> scenes::node
 
auto create_child_node (const scenes::node parent, const std::string &tag="Node", const scenes::transform &transform=scenes::transform{}) -> scenes::node
 
auto destroy_node (const scenes::node node) -> void
 
auto make_child_of (const scenes::node node, const scenes::node parent) -> void
 
auto reassign_node_id (const scenes::node node, const math::uuid new_id) -> void
 
template<typename Type , typename... Other, typename... Exclude>
auto query (ecs::exclude_t< Exclude... >=ecs::exclude_t{}) -> decltype(auto)
 
template<typename Type , typename... Other, typename... Exclude>
auto query (ecs::exclude_t< Exclude... >=ecs::exclude_t{}) const -> decltype(auto)
 
template<typename Type , typename Compare , typename Sort = utility::std_sort, typename... Args>
auto sort (Compare compare, Sort sort=Sort{}, Args &&... args) -> void
 
template<typename Component >
auto has_component (const scenes::node node) const -> bool
 
template<typename Component , typename... Args>
auto add_component (const scenes::node node, Args &&... args) -> decltype(auto)
 
template<typename Component , typename... Args>
auto add_or_update_component (const scenes::node node, Args &&... args) -> decltype(auto)
 
template<typename Component >
auto get_component (const scenes::node node) const -> const Component &
 
template<typename Component >
auto get_component (const scenes::node node) -> Component &
 
template<typename Component , typename... Args>
auto get_or_add_component (const scenes::node node, Args &&... args) -> Component &
 
template<typename Component >
auto try_get_component (const scenes::node node) -> memory::observer_ptr< Component >
 
auto registry () -> registry_type &
 
auto registry () const -> const registry_type &
 
auto world_transform (const scenes::node node) -> math::matrix4x4
 
auto world_normal (const scenes::node node) -> math::matrix4x4
 
auto parent_transform (const scenes::node node) -> math::matrix4x4
 
auto world_position (const scenes::node node) -> math::vector3
 
auto world_rotation (const scenes::node node) -> math::quaternion
 
auto world_scale (const scenes::node node) -> math::vector3
 

Static Public Attributes

template<typename... Exclude>
static constexpr auto query_filter = ecs::exclude<Exclude...>
 

The documentation for this class was generated from the following file: