Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::defaults Struct Reference

Provides default initialization and creation functions for various entities and assets. More...

#include <defaults.h>

Public Member Functions

template<>
void create_default_3d_scene_for_asset_preview (rtti::context &ctx, scene &scn, const asset_handle< material > &asset, const usize32_t &size)
 
template<>
void create_default_3d_scene_for_asset_preview (rtti::context &ctx, scene &scn, const asset_handle< prefab > &asset, const usize32_t &size)
 
template<>
void create_default_3d_scene_for_asset_preview (rtti::context &ctx, scene &scn, const asset_handle< mesh > &asset, const usize32_t &size)
 

Static Public Member Functions

static auto init (rtti::context &ctx) -> bool
 Initializes default settings and assets.
 
static auto deinit (rtti::context &ctx) -> bool
 Deinitializes default settings and assets.
 
static auto init_assets (rtti::context &ctx) -> bool
 Initializes default assets.
 
static auto create_embedded_mesh_entity (rtti::context &ctx, scene &scn, const std::string &name) -> entt::handle
 Creates an embedded mesh entity.
 
static auto create_prefab_at (rtti::context &ctx, scene &scn, const std::string &key, const camera &cam, math::vec2 pos) -> entt::handle
 Creates a prefab entity at a specified position.
 
static auto create_prefab_at (rtti::context &ctx, scene &scn, const std::string &key, math::vec3 pos) -> entt::handle
 Creates a prefab entity at a specified position.
 
static auto create_prefab_at (rtti::context &ctx, scene &scn, const std::string &key) -> entt::handle
 Creates a prefab entity.
 
static auto create_mesh_entity_at (rtti::context &ctx, scene &scn, const std::string &key, const camera &cam, math::vec2 pos) -> entt::handle
 Creates a mesh entity at a specified position.
 
static auto create_mesh_entity_at (rtti::context &ctx, scene &scn, const std::string &key, math::vec3 pos={0.0f, 0.0f, 0.0f}) -> entt::handle
 Creates a mesh entity at a specified position.
 
static auto create_light_entity (rtti::context &ctx, scene &scn, light_type type, const std::string &name) -> entt::handle
 Creates a light entity.
 
static auto create_reflection_probe_entity (rtti::context &ctx, scene &scn, probe_type type, const std::string &name) -> entt::handle
 Creates a reflection probe entity.
 
static auto create_camera_entity (rtti::context &ctx, scene &scn, const std::string &name) -> entt::handle
 Creates a camera entity.
 
static auto create_ui_document_entity (rtti::context &ctx, scene &scn, const std::string &name) -> entt::handle
 Creates a UI document entity.
 
static auto create_text_entity (rtti::context &ctx, scene &scn, const std::string &name) -> entt::handle
 Creates a text entity.
 
static void create_default_3d_scene (rtti::context &ctx, scene &scn)
 Creates a default 3D scene.
 
static void focus_camera_on_entities (entt::handle camera, const std::vector< entt::handle > &entities)
 Focuses a camera on a specified entity.
 
static void focus_camera_on_entities (entt::handle camera, const std::vector< entt::handle > &entities, float duration)
 Focuses a camera on a specified entity with a timed transition.
 
static void focus_camera_on_bounds (entt::handle camera, const math::bsphere &bounds, float duration)
 Focuses a camera on bounds with a timed transition.
 
static void focus_camera_on_bounds (entt::handle camera, const math::bbox &bounds, float duration)
 Focuses a camera on bounds with a timed transition.
 
template<typename T >
static void create_default_3d_scene_for_asset_preview (rtti::context &ctx, scene &scn, const asset_handle< T > &asset, const usize32_t &size)
 Creates a default 3D scene for asset preview.
 
static void create_default_3d_scene_for_editing (rtti::context &ctx, scene &scn)
 Creates a default 3D scene for editing.
 
static auto calc_bounds_global (entt::handle entity, int depth=-1) -> math::bbox
 Calculates the bounding box of an entity.
 
static auto calc_bounds_sphere_global (entt::handle entity, bool use_bbox_diagonal=true) -> math::bsphere
 Calculates the bounding sphere of an entity.
 

Detailed Description

Provides default initialization and creation functions for various entities and assets.

Definition at line 22 of file defaults.h.

Member Function Documentation

◆ calc_bounds_global()

auto unravel::defaults::calc_bounds_global ( entt::handle entity,
int depth = -1 ) -> math::bbox
static

Calculates the bounding box of an entity.

Parameters
entityThe entity to calculate the bounds for.
Returns
The bounding box of the entity.

Definition at line 837 of file defaults.cpp.

◆ calc_bounds_sphere_global()

auto unravel::defaults::calc_bounds_sphere_global ( entt::handle entity,
bool use_bbox_diagonal = true ) -> math::bsphere
static

Calculates the bounding sphere of an entity.

Parameters
entityThe entity to calculate the bounds for.
Returns
The bounding sphere of the entity.

Definition at line 854 of file defaults.cpp.

◆ create_camera_entity()

auto unravel::defaults::create_camera_entity ( rtti::context & ctx,
scene & scn,
const std::string & name ) -> entt::handle
static

Creates a camera entity.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
nameThe name of the camera entity.
Returns
A handle to the created entity.

Definition at line 581 of file defaults.cpp.

◆ create_default_3d_scene()

void unravel::defaults::create_default_3d_scene ( rtti::context & ctx,
scene & scn )
static

Creates a default 3D scene.

Parameters
ctxThe context for creation.
scnThe scene to create.

Definition at line 615 of file defaults.cpp.

◆ create_default_3d_scene_for_asset_preview() [1/4]

template<>
void unravel::defaults::create_default_3d_scene_for_asset_preview ( rtti::context & ctx,
scene & scn,
const asset_handle< material > & asset,
const usize32_t & size )

Definition at line 703 of file defaults.cpp.

◆ create_default_3d_scene_for_asset_preview() [2/4]

template<>
void unravel::defaults::create_default_3d_scene_for_asset_preview ( rtti::context & ctx,
scene & scn,
const asset_handle< mesh > & asset,
const usize32_t & size )

Definition at line 755 of file defaults.cpp.

◆ create_default_3d_scene_for_asset_preview() [3/4]

template<>
void unravel::defaults::create_default_3d_scene_for_asset_preview ( rtti::context & ctx,
scene & scn,
const asset_handle< prefab > & asset,
const usize32_t & size )

Definition at line 724 of file defaults.cpp.

◆ create_default_3d_scene_for_asset_preview() [4/4]

template<typename T >
static void unravel::defaults::create_default_3d_scene_for_asset_preview ( rtti::context & ctx,
scene & scn,
const asset_handle< T > & asset,
const usize32_t & size )
static

Creates a default 3D scene for asset preview.

Template Parameters
TThe type of the asset.
Parameters
ctxThe context for creation.
scnThe scene to create.
assetThe asset to preview.
sizeThe size of the preview.

◆ create_default_3d_scene_for_editing()

void unravel::defaults::create_default_3d_scene_for_editing ( rtti::context & ctx,
scene & scn )
static

Creates a default 3D scene for editing.

Parameters
ctxThe context for creation.
scnThe scene to create.

Definition at line 635 of file defaults.cpp.

◆ create_embedded_mesh_entity()

auto unravel::defaults::create_embedded_mesh_entity ( rtti::context & ctx,
scene & scn,
const std::string & name ) -> entt::handle
static

Creates an embedded mesh entity.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
nameThe name of the entity.
Returns
A handle to the created entity.

Definition at line 422 of file defaults.cpp.

◆ create_light_entity()

auto unravel::defaults::create_light_entity ( rtti::context & ctx,
scene & scn,
light_type type,
const std::string & name ) -> entt::handle
static

Creates a light entity.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
typeThe type of light to create.
nameThe name of the light entity.
Returns
A handle to the created entity.

Definition at line 527 of file defaults.cpp.

◆ create_mesh_entity_at() [1/2]

auto unravel::defaults::create_mesh_entity_at ( rtti::context & ctx,
scene & scn,
const std::string & key,
const camera & cam,
math::vec2 pos ) -> entt::handle
static

Creates a mesh entity at a specified position.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
keyThe key of the mesh.
camThe camera to use for positioning.
posThe 2D position to place the mesh.
Returns
A handle to the created entity.

Definition at line 512 of file defaults.cpp.

◆ create_mesh_entity_at() [2/2]

auto unravel::defaults::create_mesh_entity_at ( rtti::context & ctx,
scene & scn,
const std::string & key,
math::vec3 pos = {0.0f, 0.0f, 0.0f} ) -> entt::handle
static

Creates a mesh entity at a specified position.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
keyThe key of the mesh.
posThe 3D position to place the mesh.
Returns
A handle to the created entity.

Definition at line 483 of file defaults.cpp.

◆ create_prefab_at() [1/3]

auto unravel::defaults::create_prefab_at ( rtti::context & ctx,
scene & scn,
const std::string & key ) -> entt::handle
static

Creates a prefab entity.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
keyThe key of the prefab.
Returns
A handle to the created entity.

Definition at line 446 of file defaults.cpp.

◆ create_prefab_at() [2/3]

auto unravel::defaults::create_prefab_at ( rtti::context & ctx,
scene & scn,
const std::string & key,
const camera & cam,
math::vec2 pos ) -> entt::handle
static

Creates a prefab entity at a specified position.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
keyThe key of the prefab.
camThe camera to use for positioning.
posThe 2D position to place the prefab.
Returns
A handle to the created entity.

Definition at line 468 of file defaults.cpp.

◆ create_prefab_at() [3/3]

auto unravel::defaults::create_prefab_at ( rtti::context & ctx,
scene & scn,
const std::string & key,
math::vec3 pos ) -> entt::handle
static

Creates a prefab entity at a specified position.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
keyThe key of the prefab.
posThe 3D position to place the prefab.
Returns
A handle to the created entity.

Definition at line 455 of file defaults.cpp.

◆ create_reflection_probe_entity()

auto unravel::defaults::create_reflection_probe_entity ( rtti::context & ctx,
scene & scn,
probe_type type,
const std::string & name ) -> entt::handle
static

Creates a reflection probe entity.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
typeThe type of reflection probe to create.
nameThe name of the reflection probe entity.
Returns
A handle to the created entity.

Definition at line 559 of file defaults.cpp.

◆ create_text_entity()

auto unravel::defaults::create_text_entity ( rtti::context & ctx,
scene & scn,
const std::string & name ) -> entt::handle
static

Creates a text entity.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
nameThe name of the text entity.
Returns
A handle to the created entity.

Definition at line 604 of file defaults.cpp.

◆ create_ui_document_entity()

auto unravel::defaults::create_ui_document_entity ( rtti::context & ctx,
scene & scn,
const std::string & name ) -> entt::handle
static

Creates a UI document entity.

Parameters
ctxThe context for creation.
scnThe scene to create the entity in.
nameThe name of the UI document entity.
Returns
A handle to the created entity.

Definition at line 597 of file defaults.cpp.

◆ deinit()

auto unravel::defaults::deinit ( rtti::context & ctx) -> bool
static

Deinitializes default settings and assets.

Parameters
ctxThe context for deinitialization.
Returns
True if deinitialization was successful, false otherwise.

Definition at line 261 of file defaults.cpp.

◆ focus_camera_on_bounds() [1/2]

static void unravel::defaults::focus_camera_on_bounds ( entt::handle camera,
const math::bbox & bounds,
float duration )
static

Focuses a camera on bounds with a timed transition.

Parameters
cameraThe camera to focus.
boundsThe bounding box to focus on.
durationThe duration of the transition in seconds.
ease_funcThe easing function to apply (default is smooth_start_stop).

◆ focus_camera_on_bounds() [2/2]

static void unravel::defaults::focus_camera_on_bounds ( entt::handle camera,
const math::bsphere & bounds,
float duration )
static

Focuses a camera on bounds with a timed transition.

Parameters
cameraThe camera to focus.
boundsThe bounding sphere to focus on.
durationThe duration of the transition in seconds.
ease_funcThe easing function to apply (default is smooth_start_stop).

◆ focus_camera_on_entities() [1/2]

void unravel::defaults::focus_camera_on_entities ( entt::handle camera,
const std::vector< entt::handle > & entities )
static

Focuses a camera on a specified entity.

Parameters
cameraThe camera to focus.
entityThe entity to focus on.

Definition at line 783 of file defaults.cpp.

◆ focus_camera_on_entities() [2/2]

void unravel::defaults::focus_camera_on_entities ( entt::handle camera,
const std::vector< entt::handle > & entities,
float duration )
static

Focuses a camera on a specified entity with a timed transition.

Parameters
cameraThe camera to focus.
entitiesThe entities to focus on.
durationThe duration of the transition in seconds.

Definition at line 809 of file defaults.cpp.

◆ init()

auto unravel::defaults::init ( rtti::context & ctx) -> bool
static

Initializes default settings and assets.

Parameters
ctxThe context for initialization.
Returns
True if initialization was successful, false otherwise.

Definition at line 254 of file defaults.cpp.

◆ init_assets()

auto unravel::defaults::init_assets ( rtti::context & ctx) -> bool
static

Initializes default assets.

Parameters
ctxThe context for initialization.
Returns
True if initialization was successful, false otherwise.

Definition at line 290 of file defaults.cpp.


The documentation for this struct was generated from the following files: