Blender V4.3
sculpt_detail.cc File Reference
#include "sculpt_dyntopo.hh"
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math_matrix.h"
#include "BLI_math_rotation.h"
#include "BLI_math_vector.hh"
#include "BLI_time.h"
#include "BLT_translation.hh"
#include "DNA_brush_types.h"
#include "DNA_mesh_types.h"
#include "BKE_brush.hh"
#include "BKE_context.hh"
#include "BKE_layer.hh"
#include "BKE_object.hh"
#include "BKE_paint.hh"
#include "BKE_pbvh_api.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 <cmath>
#include <cstdlib>

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 int 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 int 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 int 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 int blender::ed::sculpt_paint::dyntopo::sample_detail (bContext *C, const int event_xy[2], const SampleDetailModeType mode)
 
static int blender::ed::sculpt_paint::dyntopo::sculpt_sample_detail_size_exec (bContext *C, wmOperator *op)
 
static int blender::ed::sculpt_paint::dyntopo::sculpt_sample_detail_size_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static int 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