Blender V5.0
sculpt_detail.cc File Reference
#include "sculpt_dyntopo.hh"
#include "MEM_guardedalloc.h"
#include "BLI_index_mask.hh"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.h"
#include "BLI_math_rotation.h"
#include "BLI_math_vector.hh"
#include "BLI_string_utf8.h"
#include "BLI_time.h"
#include "BLT_translation.hh"
#include "DNA_brush_types.h"
#include "DNA_mesh_types.h"
#include "BKE_attribute.hh"
#include "BKE_brush.hh"
#include "BKE_context.hh"
#include "BKE_layer.hh"
#include "BKE_paint.hh"
#include "BKE_paint_bvh.hh"
#include "BKE_screen.hh"
#include "GPU_immediate.hh"
#include "GPU_immediate_util.hh"
#include "GPU_matrix.hh"
#include "GPU_state.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "ED_screen.hh"
#include "ED_space_api.hh"
#include "ED_view3d.hh"
#include "DEG_depsgraph.hh"
#include "sculpt_intern.hh"
#include "sculpt_undo.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_prototypes.hh"
#include "UI_interface.hh"
#include "CLG_log.h"
#include <cstdlib>
#include "bmesh.hh"

Go to the source code of this file.

Classes

struct  blender::ed::sculpt_paint::dyntopo::SculptDetailRaycastData
struct  blender::ed::sculpt_paint::dyntopo::DyntopoDetailSizeEditCustomData

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::sculpt_paint
namespace  blender::ed::sculpt_paint::dyntopo
namespace  blender::ed::sculpt_paint::dyntopo::detail_size

Functions

float blender::ed::sculpt_paint::dyntopo::detail_size::constant_to_detail_size (const float constant_detail, const Object &ob)
float blender::ed::sculpt_paint::dyntopo::detail_size::brush_to_detail_size (const float brush_percent, const float brush_radius)
float blender::ed::sculpt_paint::dyntopo::detail_size::relative_to_detail_size (const float relative_detail, const float brush_radius, const float pixel_radius, const float pixel_size)
float blender::ed::sculpt_paint::dyntopo::detail_size::constant_to_brush_detail (const float constant_detail, const float brush_radius, const Object &ob)
float blender::ed::sculpt_paint::dyntopo::detail_size::constant_to_relative_detail (const float constant_detail, const float brush_radius, const float pixel_radius, const float pixel_size, const Object &ob)
Internal Utilities
static bool blender::ed::sculpt_paint::dyntopo::sculpt_and_constant_or_manual_detail_poll (bContext *C)
static bool blender::ed::sculpt_paint::dyntopo::sculpt_and_dynamic_topology_poll (bContext *C)
Detail Flood Fill
static wmOperatorStatus blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec (bContext *C, wmOperator *op)
void blender::ed::sculpt_paint::dyntopo::SCULPT_OT_detail_flood_fill (wmOperatorType *ot)

Variables

static CLG_LogRef blender::ed::sculpt_paint::dyntopo::LOG = {"sculpt.detail"}

Dyntopo Detail Size Edit Operator

#define DETAIL_SIZE_DELTA_SPEED   0.08f
#define DETAIL_SIZE_DELTA_ACCURATE_SPEED   0.004f
enum  blender::ed::sculpt_paint::dyntopo::eDyntopoDetailingMode { blender::ed::sculpt_paint::dyntopo::DETAILING_MODE_RESOLUTION = 0 , blender::ed::sculpt_paint::dyntopo::DETAILING_MODE_BRUSH_PERCENT = 1 , blender::ed::sculpt_paint::dyntopo::DETAILING_MODE_DETAIL_SIZE = 2 }
static void blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_parallel_lines_draw (uint pos3d, DyntopoDetailSizeEditCustomData *cd, const float start_co[3], const float end_co[3], bool flip, const float angle)
static void blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw (const bContext *, ARegion *, void *arg)
static void blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_cancel (bContext *C, wmOperator *op)
static void blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_bounds (DyntopoDetailSizeEditCustomData *cd)
static void blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_sample_from_surface (Object &ob, DyntopoDetailSizeEditCustomData *cd)
static void blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_update_from_mouse_delta (DyntopoDetailSizeEditCustomData *cd, const wmEvent *event)
static void blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_update_header (bContext *C, const DyntopoDetailSizeEditCustomData *cd)
static wmOperatorStatus blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_modal (bContext *C, wmOperator *op, const wmEvent *event)
static float blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_initial_value (const Sculpt *sd, const eDyntopoDetailingMode mode)
static wmOperatorStatus blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::sculpt_paint::dyntopo::SCULPT_OT_dyntopo_detail_size_edit (wmOperatorType *ot)

Sample Detail Size

enum class  blender::ed::sculpt_paint::dyntopo::SampleDetailModeType { blender::ed::sculpt_paint::dyntopo::Dyntopo = 0 , blender::ed::sculpt_paint::dyntopo::Voxel = 1 }
static EnumPropertyItem blender::ed::sculpt_paint::dyntopo::prop_sculpt_sample_detail_mode_types []
static bool blender::ed::sculpt_paint::dyntopo::sample_detail_voxel (bContext *C, ViewContext *vc, const int mval[2])
static void blender::ed::sculpt_paint::dyntopo::sculpt_raycast_detail_cb (bke::pbvh::BMeshNode &node, SculptDetailRaycastData &srd, float *tmin)
static void blender::ed::sculpt_paint::dyntopo::sample_detail_dyntopo (bContext *C, ViewContext *vc, const int mval[2])
static wmOperatorStatus blender::ed::sculpt_paint::dyntopo::sample_detail (bContext *C, const int event_xy[2], const SampleDetailModeType mode)
static wmOperatorStatus blender::ed::sculpt_paint::dyntopo::sculpt_sample_detail_size_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::sculpt_paint::dyntopo::sculpt_sample_detail_size_invoke (bContext *C, wmOperator *op, const wmEvent *)
static wmOperatorStatus blender::ed::sculpt_paint::dyntopo::sculpt_sample_detail_size_modal (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::sculpt_paint::dyntopo::SCULPT_OT_sample_detail_size (wmOperatorType *ot)

Macro Definition Documentation

◆ DETAIL_SIZE_DELTA_ACCURATE_SPEED

#define DETAIL_SIZE_DELTA_ACCURATE_SPEED   0.004f

◆ DETAIL_SIZE_DELTA_SPEED

#define DETAIL_SIZE_DELTA_SPEED   0.08f