48 short r_select_mode = 0;
108 *r_face_offset = initial_offset + em->
bm->
totface;
112 #ifdef USE_CAGE_OCCLUSION
120 *r_face_offset = initial_offset;
129 *r_edge_offset = *r_face_offset + em->
bm->
totedge;
134 *r_edge_offset = *r_face_offset;
143 *r_vert_offset = *r_edge_offset + em->
bm->
totvert;
146 *r_vert_offset = *r_edge_offset;
165 *r_face_offset = initial_offset + me->
totpoly;
170 *r_face_offset = initial_offset;
179 *r_edge_offset = *r_face_offset + me->
totedge;
182 *r_edge_offset = *r_face_offset;
190 *r_vert_offset = *r_edge_offset + me->
totvert;
193 *r_vert_offset = *r_edge_offset;
225 stl, ob, select_mode, initial_offset, r_vert_offset, r_edge_offset, r_face_offset);
struct BoundBox * BKE_editmesh_cage_boundbox_get(struct Object *object, BMEditMesh *em)
BMEditMesh * BKE_editmesh_from_object(struct Object *ob)
Return the BMEditMesh for a given object.
General operations, lookup, etc. for blender objects.
const struct BoundBox * BKE_object_boundbox_get(struct Object *ob)
MINLINE void copy_v3_v3(float r[3], const float a[3])
struct Object * DEG_get_original_object(struct Object *object)
#define SCE_SELECT_VERTEX
@ V3D_OVERLAY_EDIT_FACE_DOT
#define DRW_shgroup_call_no_cull(shgroup, geom, ob)
#define XRAY_FLAG_ENABLED(v3d)
void BM_mesh_elem_table_ensure(BMesh *bm, const char htype)
struct GPUBatch * DRW_mesh_batch_cache_get_triangles_with_select_id(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_edges_with_select_id(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_facedots_with_select_id(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_verts_with_select_id(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_surface(struct Mesh *me)
void DRW_shgroup_uniform_int_copy(DRWShadingGroup *shgroup, const char *name, const int value)
DRWShadingGroup * DRW_shgroup_create_sub(DRWShadingGroup *shgroup)
static bool check_ob_drawface_dot(short select_mode, const View3D *v3d, eDrawType dt)
short select_id_get_object_select_mode(Scene *scene, Object *ob)
static void draw_select_id_edit_mesh(SELECTID_StorageList *stl, Object *ob, short select_mode, bool draw_facedot, uint initial_offset, uint *r_vert_offset, uint *r_edge_offset, uint *r_face_offset)
void select_id_object_min_max(Object *obj, float r_min[3], float r_max[3])
void select_id_draw_object(void *vedata, View3D *v3d, Object *ob, short select_mode, uint initial_offset, uint *r_vert_offset, uint *r_edge_offset, uint *r_face_offset)
static void draw_select_id_mesh(SELECTID_StorageList *stl, Object *ob, short select_mode, uint initial_offset, uint *r_vert_offset, uint *r_edge_offset, uint *r_face_offset)
struct BMEditMesh * edit_mesh
DRWShadingGroup * shgrp_face_unif
DRWShadingGroup * shgrp_edge
DRWShadingGroup * shgrp_face_flat
DRWShadingGroup * shgrp_vert
struct SELECTID_PrivateData * g_data
struct ToolSettings * toolsettings