#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_hash.h"
#include "BLI_math.h"
#include "BLI_task.h"
#include "BLT_translation.h"
#include "PIL_time.h"
#include "DNA_brush_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BKE_brush.h"
#include "BKE_ccg.h"
#include "BKE_context.h"
#include "BKE_mesh.h"
#include "BKE_multires.h"
#include "BKE_node.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_pbvh.h"
#include "DEG_depsgraph.h"
#include "WM_api.h"
#include "WM_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "ED_sculpt.h"
#include "paint_intern.h"
#include "sculpt_intern.h"
#include "bmesh.h"
#include <math.h>
#include <stdlib.h>
Go to the source code of this file.
◆ eSculptMaskInitMode
◆ eSculptMaskInitMode
Enumerator |
---|
SCULPT_MASK_INIT_RANDOM_PER_VERTEX | |
SCULPT_MASK_INIT_RANDOM_PER_FACE_SET | |
SCULPT_MASK_INIT_RANDOM_PER_LOOSE_PART | |
Definition at line 54 of file sculpt_mask_init.c.
◆ mask_init_task_cb()
static void mask_init_task_cb |
( |
void *__restrict |
userdata, |
|
|
const int |
i, |
|
|
const TaskParallelTLS *__restrict |
UNUSEDtls |
|
) |
| |
|
static |
Definition at line 85 of file sculpt_mask_init.c.
References BKE_pbvh_node_mark_update_mask(), BKE_pbvh_vertex_iter_begin, BKE_pbvh_vertex_iter_end, BLI_hash_int_01(), SculptVertexInfo::connected_component, data, PBVHVertexIter::index, PBVHVertexIter::mask, node, SculptSession::pbvh, PBVH_ITER_UNIQUE, SCULPT_MASK_INIT_RANDOM_PER_FACE_SET, SCULPT_MASK_INIT_RANDOM_PER_LOOSE_PART, SCULPT_MASK_INIT_RANDOM_PER_VERTEX, SCULPT_UNDO_MASK, SCULPT_undo_push_node(), SCULPT_vertex_face_set_get(), seed, and SculptSession::vertex_info.
Referenced by sculpt_mask_init_exec().
◆ sculpt_mask_init_exec()
Definition at line 115 of file sculpt_mask_init.c.
References BKE_pbvh_parallel_range_settings(), BKE_pbvh_search_gather(), BKE_pbvh_update_vertex_data(), BKE_sculpt_update_object_for_edit(), BLI_task_parallel_range(), C, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), data, depsgraph, mask_init_task_cb(), MEM_SAFE_FREE, multires_stitch_grids(), NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, SculptSession::pbvh, PBVH_UpdateMask, PIL_check_seconds_timer(), wmOperator::ptr, RNA_enum_get(), Object::sculpt, SCULPT_connected_components_ensure(), SCULPT_MASK_INIT_RANDOM_PER_LOOSE_PART, SCULPT_tag_update_overlays(), SCULPT_undo_push_begin(), and SCULPT_undo_push_end().
Referenced by SCULPT_OT_mask_init().
◆ SCULPT_OT_mask_init()
Definition at line 161 of file sculpt_mask_init.c.
References wmOperatorType::description, wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, prop_sculpt_mask_init_mode_types, RNA_def_enum(), sculpt_mask_init_exec(), SCULPT_MASK_INIT_RANDOM_PER_VERTEX, SCULPT_mode_poll(), and wmOperatorType::srna.
Referenced by ED_operatortypes_sculpt().
◆ prop_sculpt_mask_init_mode_types
Initial value:= {
{
"RANDOM_PER_VERTEX",
0,
"Random per Vertex",
"",
},
{
"RANDOM_PER_FACE_SET",
0,
"Random per Face Set",
"",
},
{
"RANDOM_PER_LOOSE_PART",
0,
"Random per Loose Part",
"",
},
}
@ SCULPT_MASK_INIT_RANDOM_PER_LOOSE_PART
@ SCULPT_MASK_INIT_RANDOM_PER_FACE_SET
@ SCULPT_MASK_INIT_RANDOM_PER_VERTEX
Definition at line 60 of file sculpt_mask_init.c.
Referenced by SCULPT_OT_mask_init().