Blender  V3.3
Classes | Typedefs | Functions
editmesh_mask_extract.c File Reference
#include "DNA_mesh_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "BLI_math.h"
#include "BLT_translation.h"
#include "BKE_context.h"
#include "BKE_editmesh.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_paint.h"
#include "BKE_report.h"
#include "BKE_screen.h"
#include "BKE_shrinkwrap.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_mesh.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_sculpt.h"
#include "ED_undo.h"
#include "ED_view3d.h"
#include "bmesh_tools.h"
#include "MEM_guardedalloc.h"
#include "mesh_intern.h"

Go to the source code of this file.

Classes

struct  GeometryExtactParams
 

Typedefs

typedef struct GeometryExtactParams GeometryExtractParams
 
typedef void() GeometryExtractTagMeshFunc(struct BMesh *, GeometryExtractParams *)
 

Functions

static bool geometry_extract_poll (bContext *C)
 
static int geometry_extract_apply (bContext *C, wmOperator *op, GeometryExtractTagMeshFunc *tag_fn, GeometryExtractParams *params)
 
static void geometry_extract_tag_masked_faces (BMesh *bm, GeometryExtractParams *params)
 
static void geometry_extract_tag_face_set (BMesh *bm, GeometryExtractParams *params)
 
static int paint_mask_extract_exec (bContext *C, wmOperator *op)
 
static int paint_mask_extract_invoke (bContext *C, wmOperator *op, const wmEvent *e)
 
static void geometry_extract_props (StructRNA *srna)
 
void MESH_OT_paint_mask_extract (wmOperatorType *ot)
 
static int face_set_extract_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(e))
 
static int face_set_extract_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
void MESH_OT_face_set_extract (wmOperatorType *ot)
 
static void slice_paint_mask (BMesh *bm, bool invert, bool fill_holes, float mask_threshold)
 
static int paint_mask_slice_exec (bContext *C, wmOperator *op)
 
void MESH_OT_paint_mask_slice (wmOperatorType *ot)
 

Typedef Documentation

◆ GeometryExtractParams

◆ GeometryExtractTagMeshFunc

typedef void() GeometryExtractTagMeshFunc(struct BMesh *, GeometryExtractParams *)

Definition at line 77 of file editmesh_mask_extract.c.

Function Documentation

◆ face_set_extract_invoke()

static int face_set_extract_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSED
)
static

◆ face_set_extract_modal()

static int face_set_extract_modal ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ geometry_extract_apply()

static int geometry_extract_apply ( bContext C,
wmOperator op,
GeometryExtractTagMeshFunc tag_fn,
GeometryExtractParams params 
)
static

Definition at line 79 of file editmesh_mask_extract.c.

References BKE_editmesh_create(), BKE_editmesh_free_data(), BKE_id_copy(), BKE_id_free(), BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_ALL, BKE_mesh_copy_parameters_for_eval(), BKE_mesh_from_bmesh_nomain(), BKE_mesh_nomain_to_mesh(), BKE_modifiers_findby_name(), BKE_sculpt_mask_layers_ensure(), BKE_shrinkwrap_mesh_nearest_surface_deform(), bm, BM_EDGE, BM_edge_is_boundary(), BM_EDGES_OF_MESH, BM_elem_flag_set, BM_ELEM_SELECT, BM_ELEM_TAG, BM_FACE, BM_ITER_MESH, BM_mesh_bm_from_me(), BM_mesh_create(), BM_mesh_delete_hflag_context(), BM_mesh_elem_hflag_disable_all(), BM_VERT, BM_vert_is_boundary(), BM_VERTS_OF_MESH, BMALLOC_TEMPLATE_FROM_ME, C, CD_MASK_EVERYTHING, CD_PAINT_MASK, CD_SCULPT_FACE_SETS, BMVert::co, CTX_data_active_object(), CTX_data_depsgraph_on_load(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_data_scene(), CTX_wm_view3d(), CustomData_free_layers(), Object::data, DEG_id_tag_update(), DEG_relations_tag_update(), DEL_FACES, depsgraph, ED_object_add_type(), ED_object_modifier_add(), ED_object_sculptmode_exit(), edbm_extrude_edges_indiv(), EDBM_op_callf(), eModifierType_Solidify, Mesh::id, Object::id, ID_RECALC_GEOMETRY, Object::loc, View3D::local_view_uuid, View3D::localvd, MEM_freeN, mesh, mul_v3_v3(), NC_GEOM, NC_OBJECT, ND_DATA, ND_MODIFIER, NULL, OB_MESH, SolidifyModifierData::offset, OPERATOR_FINISHED, params, Mesh::pdata, wmOperator::reports, Object::rot, Object::scale, scene, Mesh::totpoly, Mesh::totvert, v, Mesh::vdata, and WM_event_add_notifier().

Referenced by face_set_extract_modal(), and paint_mask_extract_exec().

◆ geometry_extract_poll()

static bool geometry_extract_poll ( bContext C)
static

◆ geometry_extract_props()

static void geometry_extract_props ( StructRNA srna)
static

◆ geometry_extract_tag_face_set()

static void geometry_extract_tag_face_set ( BMesh bm,
GeometryExtractParams params 
)
static

◆ geometry_extract_tag_masked_faces()

static void geometry_extract_tag_masked_faces ( BMesh bm,
GeometryExtractParams params 
)
static

◆ MESH_OT_face_set_extract()

void MESH_OT_face_set_extract ( wmOperatorType ot)

◆ MESH_OT_paint_mask_extract()

void MESH_OT_paint_mask_extract ( wmOperatorType ot)

◆ MESH_OT_paint_mask_slice()

void MESH_OT_paint_mask_slice ( wmOperatorType ot)

◆ paint_mask_extract_exec()

static int paint_mask_extract_exec ( bContext C,
wmOperator op 
)
static

◆ paint_mask_extract_invoke()

static int paint_mask_extract_invoke ( bContext C,
wmOperator op,
const wmEvent e 
)
static

Definition at line 303 of file editmesh_mask_extract.c.

References C, e, and WM_operator_props_popup_confirm().

Referenced by MESH_OT_paint_mask_extract().

◆ paint_mask_slice_exec()

static int paint_mask_slice_exec ( bContext C,
wmOperator op 
)
static

◆ slice_paint_mask()

static void slice_paint_mask ( BMesh bm,
bool  invert,
bool  fill_holes,
float  mask_threshold 
)
static