Debug Draw 3D (and 2D) 1.3.1
Draw 3D debug graphics and 2D overlays with this add-on.
Loading...
Searching...
No Matches
DebugDraw3DScopeConfig Class Reference

This class is used to override scope parameters for DebugDraw3D. More...

#include <config_scope_3d.h>

Inheritance diagram for DebugDraw3DScopeConfig:

Public Member Functions

Ref< DebugDraw3DScopeConfigset_thickness (real_t value)
 
real_t get_thickness ()
 
Ref< DebugDraw3DScopeConfigset_center_brightness (real_t value)
 
real_t get_center_brightness ()
 
Ref< DebugDraw3DScopeConfigset_hd_sphere (bool value)
 
bool is_hd_sphere ()
 
Ref< DebugDraw3DScopeConfigset_plane_size (real_t value)
 
real_t get_plane_size ()
 

Detailed Description

This class is used to override scope parameters for DebugDraw3D.

Scope means that these overridden parameters will affect the drawn geometry until it exits the current scope.

To create it, use DebugDraw3D.new_scoped_config. Immediately after creation, you can change the values and save the reference in a variable.

Warning
But the main thing is not to save it outside the method or in other objects. After leaving the scope, this object should be deleted.

Warning
Also, you can't use scope config between awaits unless this object is freed before await. So, narrow the scope if you want to use await and DebugDraw3DScopeConfig in the same method.
# Bad example
var _s = DebugDraw3D.new_scoped_config().set_thickness(0.3)
DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE)
await get_tree().process_frame
# your code...
# Good example
if true:
var _s = DebugDraw3D.new_scoped_config().set_thickness(0.3)
DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE)
await get_tree().process_frame
# your code...
void draw_box(const Vector3 &position, const Quaternion &rotation, const Vector3 &size, const Color &color=Colors::empty_color, const bool &is_box_centered=false, const real_t &duration=0) FAKE_FUNC_IMPL
Ref< DebugDraw3DScopeConfig > new_scoped_config()

Examples:

var _s = DebugDraw3D.new_scoped_config().set_thickness(0.025).set_center_brightness(0.7)
DebugDraw3D.draw_grid_xf(%Grid.global_transform, Vector2i(10,10), Color.LIGHT_GRAY)
void draw_grid_xf(const Transform3D &transform, const Vector2i &p_subdivision, const Color &color=Colors::empty_color, const bool &is_centered=true, const real_t &duration=0) FAKE_FUNC_IMPL
using (var s = DebugDraw3D.NewScopedConfig().SetThickness(0))
DebugDraw3D.DrawCameraFrustum(dCamera, Colors.DarkOrange);
Singleton class for calling debugging 3D methods.
Definition debug_draw_3d.h:74

Member Function Documentation

◆ set_thickness()

Ref< DebugDraw3DScopeConfig > DebugDraw3DScopeConfig::set_thickness ( real_t value)

Set the thickness of the volumetric lines. If the value is 0, the standard wireframe rendering will be used.

◆ set_center_brightness()

Ref< DebugDraw3DScopeConfig > DebugDraw3DScopeConfig::set_center_brightness ( real_t value)

Set the brightness of the central part of the volumetric lines.

◆ set_hd_sphere()

Ref< DebugDraw3DScopeConfig > DebugDraw3DScopeConfig::set_hd_sphere ( bool value)

Set the mesh density of the sphere

◆ set_plane_size()

Ref< DebugDraw3DScopeConfig > DebugDraw3DScopeConfig::set_plane_size ( real_t value)

Set the size of the Plane in DebugDraw3D.draw_plane. If set to INF, the Far parameter of the current camera will be used.


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