Unravel Engine C++ Reference
Loading...
Searching...
No Matches
gizmo_physics_component.cpp
Go to the documentation of this file.
1
#include "
gizmo_physics_component.h
"
2
#include <
engine/ecs/components/transform_component.h
>
3
#include <
engine/physics/gizmos/gizmos.h
>
4
namespace
unravel
5
{
6
7
void
gizmo_physics_component::draw
(
rtti::context
& ctx, entt::meta_any& var,
const
camera
& cam,
gfx::dd_raii
& dd,
dd_2d_raii
& dd_2d)
8
{
9
entt::as_derived
(var);
10
auto
& data = var.cast<
physics_component
&>();
11
12
auto
owner
= data.
get_owner
();
13
const
auto
& transform =
owner
.get<
transform_component
>();
14
const
auto
&
shape
= data.get_shapes();
15
const
auto
& world_transform = transform.get_transform_global();
16
17
DebugDrawEncoderScopePush
scope(dd.
encoder
);
18
uint32_t
color
= 0x8800ff00;
19
20
if
(!data.is_autoscaled())
21
{
22
auto
trans = world_transform;
23
trans.reset_scale();
24
dd.
encoder
.
pushTransform
((
const
float
*)trans);
25
26
}
27
else
28
{
29
dd.
encoder
.
pushTransform
((
const
float
*)world_transform);
30
31
}
32
33
dd.
encoder
.
setColor
(
color
);
34
dd.
encoder
.
setWireframe
(
true
);
35
::unravel::draw
(dd.
encoder
,
shape
);
36
dd.
encoder
.
popTransform
();
37
}
38
39
void
gizmo_physics_component::draw_billboard
(
rtti::context
& ctx,
40
entt::meta_any& var,
41
const
camera
& cam,
42
gfx::dd_raii
& dd)
43
{
44
}
45
}
// namespace unravel
DebugDrawEncoderScopePush
Definition
debugdraw.h:234
unravel::camera
Class representing a camera. Contains functionality for manipulating and updating a camera....
Definition
camera.h:62
unravel::owned_component::get_owner
auto get_owner() const noexcept -> entt::const_handle
Gets the owner of the component.
Definition
basic_component.h:64
unravel::physics_component
Component that handles physics properties and behaviors.
Definition
physics_component.h:169
unravel::transform_component
Component that handles transformations (position, rotation, scale, etc.) in the ACE framework.
Definition
transform_component.h:56
gizmos.h
gizmo_physics_component.h
entt::as_derived
auto as_derived(meta_any &obj) -> bool
Definition
reflection.cpp:53
unravel
Definition
crash.cpp:21
unravel::draw
void draw(DebugDrawEncoder &dde, const physics_sphere_shape &sh)
Definition
gizmos.cpp:17
unravel::character_controller_property::shape
@ shape
color
std::vector< math::color > color
Definition
particle_system_soa.cpp:375
DebugDrawEncoder::setColor
void setColor(uint32_t _abgr)
Definition
debugdraw.cpp:2363
DebugDrawEncoder::setWireframe
void setWireframe(bool _wireframe)
Definition
debugdraw.cpp:2373
DebugDrawEncoder::popTransform
void popTransform()
Definition
debugdraw.cpp:2403
DebugDrawEncoder::pushTransform
void pushTransform(const void *_mtx)
Definition
debugdraw.cpp:2398
gfx::dd_raii
Definition
debugdraw.h:10
gfx::dd_raii::encoder
DebugDrawEncoder encoder
Definition
debugdraw.h:15
rtti::context
Definition
context.hpp:14
unravel::dd_2d_raii
Definition
gizmo.h:15
unravel::gizmo_physics_component::draw
void draw(rtti::context &ctx, entt::meta_any &var, const camera &cam, gfx::dd_raii &dd, dd_2d_raii &dd_2d) override
Definition
gizmo_physics_component.cpp:7
unravel::gizmo_physics_component::draw_billboard
void draw_billboard(rtti::context &ctx, entt::meta_any &var, const camera &cam, gfx::dd_raii &dd) override
Definition
gizmo_physics_component.cpp:39
transform_component.h
owner
std::string owner
Definition
version_manager.cpp:254
editor
editor
hub
panels
scene_panel
gizmos
gizmos
gizmo_physics_component.cpp
Generated by
1.12.0