Blender  V3.3
Classes | Macros | Functions
sculpt_automasking.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_hash.h"
#include "BLI_index_range.hh"
#include "BLI_math.h"
#include "BLI_task.h"
#include "DNA_brush_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "BKE_brush.h"
#include "BKE_context.h"
#include "BKE_mesh.h"
#include "BKE_mesh_mapping.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_pbvh.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "WM_api.h"
#include "WM_message.h"
#include "WM_toolsystem.h"
#include "WM_types.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_sculpt.h"
#include "paint_intern.h"
#include "sculpt_intern.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "bmesh.h"
#include <cmath>
#include <cstdlib>

Go to the source code of this file.

Classes

struct  AutomaskFloodFillData
 

Macros

#define EDGE_DISTANCE_INF   -1
 

Functions

AutomaskingCacheSCULPT_automasking_active_cache_get (SculptSession *ss)
 
bool SCULPT_is_automasking_mode_enabled (const Sculpt *sd, const Brush *br, const eAutomasking_flag mode)
 
bool SCULPT_is_automasking_enabled (const Sculpt *sd, const SculptSession *ss, const Brush *br)
 
static int sculpt_automasking_mode_effective_bits (const Sculpt *sculpt, const Brush *brush)
 
static bool SCULPT_automasking_needs_factors_cache (const Sculpt *sd, const Brush *brush)
 
float SCULPT_automasking_factor_get (AutomaskingCache *automasking, SculptSession *ss, int vert)
 
void SCULPT_automasking_cache_free (AutomaskingCache *automasking)
 
static bool sculpt_automasking_is_constrained_by_radius (Brush *br)
 
static bool automask_floodfill_cb (SculptSession *ss, int from_v, int to_v, bool UNUSED(is_duplicate), void *userdata)
 
static floatSCULPT_topology_automasking_init (Sculpt *sd, Object *ob, float *automask_factor)
 
static floatsculpt_face_sets_automasking_init (Sculpt *sd, Object *ob, float *automask_factor)
 
floatSCULPT_boundary_automasking_init (Object *ob, eBoundaryAutomaskMode mode, int propagation_steps, float *automask_factor)
 
static void SCULPT_automasking_cache_settings_update (AutomaskingCache *automasking, SculptSession *ss, Sculpt *sd, Brush *brush)
 
AutomaskingCacheSCULPT_automasking_cache_init (Sculpt *sd, Brush *brush, Object *ob)
 

Macro Definition Documentation

◆ EDGE_DISTANCE_INF

#define EDGE_DISTANCE_INF   -1

Definition at line 254 of file sculpt_automasking.cc.

Function Documentation

◆ automask_floodfill_cb()

static bool automask_floodfill_cb ( SculptSession ss,
int  from_v,
int  to_v,
bool   UNUSEDis_duplicate,
void userdata 
)
static

◆ SCULPT_automasking_active_cache_get()

AutomaskingCache* SCULPT_automasking_active_cache_get ( SculptSession ss)

◆ SCULPT_automasking_cache_free()

void SCULPT_automasking_cache_free ( AutomaskingCache automasking)

Definition at line 150 of file sculpt_automasking.cc.

References AutomaskingCache::factor, and MEM_SAFE_FREE.

Referenced by SCULPT_filter_cache_free(), and sculpt_stroke_done().

◆ SCULPT_automasking_cache_init()

AutomaskingCache* SCULPT_automasking_cache_init ( Sculpt sd,
Brush brush,
Object ob 
)

◆ SCULPT_automasking_cache_settings_update()

static void SCULPT_automasking_cache_settings_update ( AutomaskingCache automasking,
SculptSession ss,
Sculpt sd,
Brush brush 
)
static

◆ SCULPT_automasking_factor_get()

float SCULPT_automasking_factor_get ( AutomaskingCache automasking,
SculptSession ss,
int  vert 
)

◆ sculpt_automasking_is_constrained_by_radius()

static bool sculpt_automasking_is_constrained_by_radius ( Brush br)
static

◆ sculpt_automasking_mode_effective_bits()

static int sculpt_automasking_mode_effective_bits ( const Sculpt sculpt,
const Brush brush 
)
static

◆ SCULPT_automasking_needs_factors_cache()

static bool SCULPT_automasking_needs_factors_cache ( const Sculpt sd,
const Brush brush 
)
static

◆ SCULPT_boundary_automasking_init()

float* SCULPT_boundary_automasking_init ( Object ob,
eBoundaryAutomaskMode  mode,
int  propagation_steps,
float automask_factor 
)

◆ sculpt_face_sets_automasking_init()

static float* sculpt_face_sets_automasking_init ( Sculpt sd,
Object ob,
float automask_factor 
)
static

◆ SCULPT_is_automasking_enabled()

bool SCULPT_is_automasking_enabled ( const Sculpt sd,
const SculptSession ss,
const Brush br 
)

◆ SCULPT_is_automasking_mode_enabled()

bool SCULPT_is_automasking_mode_enabled ( const Sculpt sd,
const Brush br,
const eAutomasking_flag  mode 
)

◆ SCULPT_topology_automasking_init()

static float* SCULPT_topology_automasking_init ( Sculpt sd,
Object ob,
float automask_factor 
)
static